Javaアプリケーションの作成
今回はEclipseを使用して、バーコードを生成するJavaスタンドアロンアプリケーションを作成してみます。
Javaプロジェクトの作成
プロジェクトは、通常のJavaアプリケーションを作成するプロジェクトを用意します。この際、ライブラリーにJBarCode 2.5JのJARファイルを指定しておきます。この指定を行わないと、クラスのインポートができません。プロジェクト名は「myjbarcode1」にします。
- 新規Javaプロジェクト作成の2番目の画面で、[ライブラリー]タブをクリックし、[外部JARの追加]ボタンを押します。
- JBarCode 2.5Jをインストールしたフォルダの中にある「lib」フォルダの「jbarcode.jar」ファイルを指定します。これで、JBarCode 2.5Jをプロジェクトで使用できるようになります。
Javaプログラムの作成
今回は、プログラムを起動するとバーコードを作成する、簡単なプログラムを作りながら、実際にJBarCodeのコンポーネントを使ってみます。
プログラムはSwingコンポーネントを使用し、Windowsアプリケーションに仕上げます。GUIはパネルとボタンで構成し、数字8桁のバーコードとWebサイトのURLをQRコードにした2つのバーコードを作成します。作成したバーコードは、JavaのImageコンポーネントとしてボタンとともにパネルにレイアウトします。
クラスの作成
作成するクラスは、「jbarcode1」です。GUIなので、swingパッケージをインポートするとともに、JBarCodeコンポーネントが使えるように2つのパッケージをインポートします。
また、バーコード作成には直接関係ありませんが、ボタンを押すとプログラムを終了するようにしますので、ボタンのイベント関係のパッケージもインポートします。
import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import com.grapecity.barcode.BarCode; import com.grapecity.barcode.valuetype.*; public class jbarcode1 {
また、mainメソッドでフレームのセットアップをします。ここでは、パネル「JPanel」から派生させたクラス「barcodePanel」のコンストラクタでバーコードを作成しますので、このパネルをフレームに組み込んでおきます。
public static void main(String[] args) { //Frame のセットアップ JFrame frame = new JFrame("jbarcode"); barcodePanel panel1 = new barcodePanel(); Container cont = frame.getContentPane(); //cont.setLayout(new FlowLayout()); cont.add(panel1); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setBounds(0, 0, 250, 150); frame.setVisible(true); } }
バーコード生成機能の作成
パネル「JPanel」から派生させたクラス「barcodePanel」のコンストラクタで、2つのバーコードを生成します。1つは通常のバーコードで8桁の数字をバーコード化します。もう1つはQRコードで、JBarCode 2.5Jの製品ページへのURLをQRコード化します。バーコードの元データは、あらかじめコードに組み込んでおきます。
まずはじめに、8桁の数字をバーコード化します。BarCodeクラスのコンストラクタでBarCodeオブジェクトを作成します。コンストラクタの引数を指定しない場合、空のBarCodeオブジェクトを作成します。引数にあらかじめ作成するバーコードのタイプを指定することもできます。
次に、setTypeプロパティで作成するバーコードのタイプを、Typeクラスのメンバフィールドで指定します。ここでは、8桁の数字をバーコード化しますので「JAN8」を指定します。そして、setValueプロパティでバーコードにする元データを指定します。
class barcodePanel extends JPanel implements ActionListener{ JButton button1; private static final long serialVersionUID = 1L; // 8桁のバーコード作成の場合 barcodePanel() { BarCode barcode = new BarCode(); barcode.setType(Type.JAN8); barcode.setValue("1234567");
バーコードの場合は、バーの下に元データや文字などを表示できますので、この機能も使ってみます。
バーの下に文字列を表示するには、setMessageShow
メソッドを使用します。引数は論理値となっており、「true」に設定することで表示します。また、表示文字列はsetMessageString
メソッドを使用します。setMessageFont
メソッドを使用して、表示文字列のフォントやスタイル、文字サイズを指定できます。setImageAlignment
メソッドはバーコードの表示位置を設定するメソッドですが、スタンドアロンGUIアプリケーションの場合でのみ有効なメソッドで、表示位置をImageAlignmentクラスのメンバフィールドで指定します。
// 各種プロパティの設定 barcode.setMessageShow(true); barcode.setMessageString("1234567"); barcode.setMessageFont(new Font("arial", Font.PLAIN, 12)); barcode.setImageAlignment(ImageAlignment.CenterCenter);
バーコードの生成はたったこれだけです。後は、このBarCodeオブジェクトをパネルに組み込むだけです。
this.setLayout(new FlowLayout()); this.add(barcode);
QRコード生成機能の作成
QRコード生成処理も、基本的にはバーコード生成と同じです。ただし、コードの下に文字列は表示できません。
まず、BarCodeクラスのコンストラクタでBarCodeオブジェクトを作成し、setTypeプロパティにTypeクラスのメンバフィールド「QRCode」を指定します。そして、setValueプロパティでバーコードにする元データのURLを指定します。
このQRコードは、携帯電話のバーコードリーダーアプリでも読めるように、少しサイズを大きくします。これは、setBarSizeメソッドを使用します。引数はBarSizeクラスで、コンストラクタを使用して幅と高さを設定します。コンストラクタの引数には、幅と高さを単位付けた文字列で指定します。ここでは、サイズをそれぞれ100ピクセルに指定しています。
これで、QRコードはできあがりです。バーコードと同様パネルに組み込んで完成です。
//QRコード作成の場合 BarCode barcode2 = new BarCode(); barcode2.setType(Type.QRCode); barcode2.setValue("http://www.grapecity.com/japan/java/jbarcode/"); barcode2.setBarSize(new BarSize("100px, 100px")); this.add(barcode2);