現在、eclipceでjavaの勉強をしています。
そこでボタンを押したときに、同じ画面に表示されているラベルの文字が変わるというプログラムを作っていますが、ボタンを押しても変わりません。
参考サイトなどを見ても、どこが違うのかが、自分ではわかりませんでした。
java
1package chapter13; 2import java.awt.*; 3import java.awt.event.*; 4 5import javax.swing.JLabel; 6 7public class LayPanel extends Frame implements ActionListener { 8 Label la; 9 Button b1,b2,b3; 10 public static void main(String[] args) { 11 LayPanel lp = new LayPanel("パネル据え置き"); 12 lp.buhin(); 13 lp.setVisible(true); 14 } 15 16LayPanel(String s){ 17 super(s); 18 setSize(300,300); 19 } 20 21public void buhin() { 22 // TODO 自動生成されたメソッド・スタブ 23 FlowLayout f = new FlowLayout();//FlowLayoutクラスのコンストラクタ 24 setLayout(f);//フレームのレイアウト設定 25 Panel p1 = new Panel();//パネル作成 26 Panel p2 = new Panel();//パネル作成 27 add(p1); 28 add(p2); 29 30 GridLayout gl = new GridLayout(3,1);//横3列、縦1列の配置 31 p1.setLayout(gl); 32 33 34 35 b1 = new Button("設置"); 36 b1.addActionListener(this); 37 b2 = new Button("再構築"); 38 b2.addActionListener(this); 39 b3 = new Button("創成"); 40 b3.addActionListener(this); 41 //ボタン3種をパネル1に追加 42 43 p1.add(b1); 44 p1.add(b2); 45 p1.add(b3); 46 47 48 p2.setLayout(f); 49 la = new Label("Exsample"); 50 TextField t1 = new TextField(7);//テキストフィールド 51 p2.add(la);//panel2にラベルを設置 52 p2.add(t1); 53 54} 55 56public void actionPerformed(ActionEvent e){ 57 if (e.getSource() == "b1"){ 58 la.setText("配置"); 59 }else if (e.getSource() == "b2"){ 60 la.setText("初期化"); 61 }else if(e.getSource() == "b3") { 62 la.setText("再構築"); 63 } 64 65 } 66 67} 68 69
実現できる記述の仕方が分かる方や、書き方が間違っているというのが分かる方いたらご指摘お願いします。
回答3件
あなたの回答
tips
プレビュー