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(); } }
参考文献
Swing
* 分かり易く、非常によく書いてある。http://www.atmarkit.co.jp/ait/articles/0605/31/news125.html
http://www.atmarkit.co.jp/ait/articles/0606/24/news010.html
http://www.atmarkit.co.jp/ait/articles/0607/15/news015.html
* まだ使用しないが、今後、使うかも。http://www.javadrive.jp/tutorial/