JavaSwingのプログラミングです。このプログラミンでは、インスタンスがコンポーネント(画面部品)という形で目で見ることができます。
画面を作成していく中で、インスタンスの考え方がわかってくると思います。なので、基本として扱っています。
ポイントとしては、JLabelもJButtonもインスタンス化しているのでラベルとボタンがインスタンス化されています。
このプログラムでは、JFrame、JPanel、JLabel、 JButton x 2の5つのインスタンスがあります。
【処理内容】
1. Main#メインメソッド()を実行する
2. Sample#exev\cute()を実行する
3. JFrameのサイズと表示位置を設定する
4. 画面を終了したら、アプリケーションを終了する設定をする
5. JJFrameクラスから、Container クラスを取得する。
6. JLabelを作成する(インスタンス化)
7. JPanelをインスタンス化する
8. JPanelにBorderLayoutをセット
8. JLabelをJPanelの北にセットする
9. MtButtonをインスタンス化してJPanelの中央にセット
10. JButtonをインスタンス化してJPanelの南にセット
11. ContainerクラスにJPanelをセットする
12. JFrameを表示する(setVisible(true))
【MtLabelクラスのコード】
public class MtLabel extends JLabel {
public MtLabel(String mes) {
setText(mes);
setHorizontalAlignment(JLabel.RIGHT);
setBorder(new LineBorder(Color.BLACK));
}
}
【MtButtonクラスのコード】
public class MtButton extends JButton
implements ActionListener {
public MtButton(String mes) {
setText(mes);
setBackground(Color.RED);
addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Hello action");
}
}【SampleClassクラスのコード】
public class SampleClass extends JFrame {
public void execute() {
System.out.println("Execute");
}
public void execute(String message) {
System.out.println(message);
setTitle(message);
setBounds(200, 200
, 300, 300);
setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE
);
Container cont = getContentPane();
MtLabel lbl = new MtLabel(message);
JPanel pn = new JPanel();
pn.setLayout(new BorderLayout());
pn.add(lbl, BorderLayout.NORTH);
pn.add(new MtButton("Center"), BorderLayout.CENTER);
pn.add(new JButton("South"), BorderLayout.SOUTH);
cont.add(pn);
setVisible(true);
}
}
【Mainクラスのコード】
public class Main {
public static void main(String[] args) {
SampleClass main = new SampleClass();
main.execute("Hello Goo");
}
}