Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

バーコードを作成するJavaクライアントアプリケーションを作る

JBarCode 2.5Jのバーコード生成機能を使う

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2009/08/27 14:00
目次

Javaアプリケーションの作成

 今回はEclipseを使用して、バーコードを生成するJavaスタンドアロンアプリケーションを作成してみます。

Javaプロジェクトの作成

 プロジェクトは、通常のJavaアプリケーションを作成するプロジェクトを用意します。この際、ライブラリーにJBarCode 2.5JのJARファイルを指定しておきます。この指定を行わないと、クラスのインポートができません。プロジェクト名は「myjbarcode1」にします。

  1. 新規Javaプロジェクト作成の2番目の画面で、[ライブラリー]タブをクリックし、[外部JARの追加]ボタンを押します。
  2. JBarCode 2.5Jをインストールしたフォルダの中にある「lib」フォルダの「jbarcode.jar」ファイルを指定します。これで、JBarCode 2.5Jをプロジェクトで使用できるようになります。
ライブラリーにJBarCode 2.5JのJARファイルを指定する
ライブラリーにJBarCode 2.5JのJARファイルを指定する

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);

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 瀬戸 遥(セト ハルカ)

    8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

バックナンバー

連載:ComponentZine(JBarCode)
All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5