問1
以下に,ボタンを1つ保持しているウィンドウを表示するプログラムを示します.
「MyFrame.java」
import java.awt.*;
import javax.swing.*;
public class MyFrame extends JFrame {
private JPanel routePanel;
private int counter;
protected JButton countButton;
public MyFrame() {
// 各種ウィンドウ設定
setLocation(50,25);
setSize(240,180);
setResizable(true);
setTitle("Sample program.");
getContentPane().setLayout(new BorderLayout());
setBackground(SystemColor.menu);
setForeground(SystemColor.menuText);
setDefaultCloseOperation(EXIT_ON_CLOSE);
// メイン・パネルの設定と追加
setRoutePanel();
getContentPane().add(routePanel,BorderLayout.CENTER);
}
private void setRoutePanel() {
routePanel=new JPanel(new BorderLayout());
// 初期化
counter=0;
countButton=new JButton(""+counter);
routePanel.add(countButton,BorderLayout.CENTER);
}
public int getCountNumber() {
return counter;
}
public void setCountNumber(int num) {
counter=num;
}
public static void main(String[] args) {
MyFrame f;
f=new MyFrame();
// メイン・ウィンドウの表示
f.setVisible(true);
}
}
|
プログラムを実行すると,「0」と表記されたボタンが確認できます. ただし,そのボタンは押しても何の反応も返しません.
このボタンに対して,イベント処理を追加してみてください.具体的には 「ボタンを押したときに,表示されている数値がカウント・アップする」 ようにプログラムを改造(できれば継承して新しいクラスを作成)してください.