001:import java.awt.* ;
002:import java.awt.event.* ;
003:import javax.swing.* ;
004:
005:public class CountButton3 extends JFrame {
006:
007: static int count = 0; // ボタンの押された回数
008: static JLabel countLabel = new JLabel( "クリック " + count + "回" ); // 回数を表示するためのラベル
009:
010: CountButton3() {
011: super("Count Button");
012: frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
013: Container pane = frame.getContentPane();
014: pane.setLayout( new BorderLayout() );
015:
016: JButton countUp = new JButton("+1"); // +1ボタンの生成
017: countUp.addActionListener(new ActionListener() {
018: public void actionPerformed(ActionEvent e) {
019: count++; // count を1増やす
020: countLabel.setText( "クリック " + count + "回" ); // カウントの値をラベルに表示
021: }
022: });
023:
024: JButton countDown = new JButton("−1"); // −1ボタンの生成
025: countDown.addActionListener(new ActionListener() {
026: public void actionPerformed(ActionEvent e) {
027: count--; // count を1減らす
028: countLabel.setText( "クリック " + count + "回" ); // カウントの値をラベルに表示
029: }
030: });
031:
032: countLabel.setHorizontalAlignment( SwingConstants.CENTER ); // 表示を中央へ
033:
034: pane.add( countLabel, BorderLayout.CENTER ); // ラベルの貼付け
035:
036: JPanel southPanel = new JPanel(); // ボタンを2つ貼るための中間パネル
037: southPanel.add( countUp ); // +1ボタンの貼り付け
038: southPanel.add( countDown ); // −1ボタンの貼り付け
039:
040: pane.add( southPanel, BorderLayout.SOUTH ); // パネルの貼付け
041:
042: frame.pack(); // サイズの調整
043: frame.setVisible(true); // ウィンドウの表示
044: }
045:
046: public static void main(String[] args) {
047: new CountButton3();
048: }
049:}