【Java】【Swing】Swing で Hello World

Swing

実装方法

 * getContentPane().add() で画面に纏わるクラスを追加していく。
 * JFrameを継承する。ボタンイベントを取得したい場合は、ActionListenerを実装。
 (つまり、「extends JFrame implements ActionListener」)

画面

 * JPanel      : パネル
 * JLabel      : ラベル(画面に文字を表示させる)
 * JButton   : ボタン
 * JTextField  : TextBoxを表示させる(単一行)
 * JTextArea  : TextBoxを表示させる(複数行)
 * JTextArea  : TextBoxを表示させる(複数行)
etc ...

イベント表示

 * actionPerformed(ActionEvent arg0) をオーバーライドして実装
 * 引数の「ActionEvent」のメソッド「getSource()」からどのボタンが押されたかを判定する

ダイアログ表示

 * JOptionPane.showMessageDialog() で表示させる

サンプル

SampleSwing.java

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class SampleSwing extends JFrame implements ActionListener {
   JButton btn1;
   JTextField txt1;

   public SampleSwing() {
      JPanel pnl1 = new JPanel();
      JPanel pnl2 = new JPanel();
      JPanel pnl3 = new JPanel();

      JLabel lbl1 = new JLabel("[ Sample ]", JLabel.CENTER);
      pnl1.add(lbl1);

      this.txt1 = new JTextField(10);
      pnl2.add(this.txt1);

      this.btn1 = new JButton("Button");
      pnl3.add(this.btn1);
      // To add Action Lisitener
      this.btn1.addActionListener(this);
      
      this.setLayout(new BorderLayout());
      this.getContentPane().add(pnl1 , BorderLayout.NORTH);
      this.getContentPane().add(pnl2 , BorderLayout.CENTER);
      this.getContentPane().add(pnl3, BorderLayout.SOUTH);
        
      this.setTitle("This is title");
      setSize(600, 700);
      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      this.setVisible(true);
   }
   
   @Override
   public void actionPerformed(ActionEvent arg0) {
      if (arg0.getSource() == this.btn1) {
         String name = this.txt1.getText();
         JOptionPane.showMessageDialog(this, "Hello World! " + name);
      }
   }
   
    public static void main(String args[]) {
       SampleSwing userInterface = new SampleSwing();
    }
}


関連記事

モジュール提供用テンプレートを作ってみた

http://blogs.yahoo.co.jp/dk521123/35027281.html