前提・実現したいこと
前提
このコードの最終目標はボタンを押すとパネルの文字が変化することです。
現在はパネルにPowerOffの表示と機能がないボタンがあります。
下記をのソースコードをExGUISwing_03.javaで保存し実行していただけるとわかります。
実現したいこと
ボタンを押してパネルに表示されている文字を変えたいです。
具体的にはCDボタンを押した時にPowerOffからaaaと表示を変えたいです。
どのように書くと表示を変えられるのかを教えていただきたいです。
発生している問題・エラーメッセージ
(コメントアウト)と書かれた箇所の//を外し実行するとエラーが出てしまいます。
エラー: シンボルを見つけられません current_show.setText("aaa"); ^ シンボル: 変数 current_show 場所: クラス ExGUISwing_03
該当のソースコード
Java
1 2import java.awt.*; 3import javax.swing.*; 4import java.awt.event.*; 5import javax.swing.border.*; 6 7public class ExGUISwing_03 extends JFrame /**implements ActionListener //(コメントアウト)**/{ 8 protected JButton[] button = new JButton[6]; 9 protected JPanel p = new JPanel(); 10 JLabel center_show = new JLabel(); 11 12 13 ExGUISwing_03(){ 14 super.setTitle("ExGUISwing_03"); 15 Container ctn = this.getContentPane(); 16 center_show = new JLabel("Power Off"); 17 18 ctn.setLayout(null); 19 p.setLayout(null); 20 21 22 23 button[0] = new JButton("PW"); 24 button[1] = new JButton("AM"); 25 button[2] = new JButton("FM"); 26 button[3] = new JButton("CD"); 27 button[4] = new JButton("Up"); 28 button[5] = new JButton("Down"); 29 30// button[3].addActionListener(this);// (コメントアウト)CDのボタンを押した時にパネルの表示を変える。 31 32 button[0].setLocation(10,10); 33 button[1].setLocation(10,50); 34 button[2].setLocation(10,90); 35 button[3].setLocation(280,10); 36 button[4].setLocation(280,50); 37 button[5].setLocation(280,90); 38 39 for(int i=0; i<6 ; i++){ 40 button[i].setSize(60,20); //ボタンのサイズを設定 41 ctn.add(button[i]); 42 } 43 44//真ん中を描画 45 center_show.setSize(100,100); 46 p.setSize(160,120); 47 center_show.setLocation(35,40); 48 p.setLocation(100,0); 49 p.setBorder(new BevelBorder(BevelBorder.LOWERED)); 50 center_show.setFont(new Font("Arial" , Font.BOLD, 19)); 51 center_show.setForeground(new Color(1,125,0)); 52 p.add(center_show); 53 ctn.add(p); 54 55//画面の大きさと画面を閉じた時に実行を停止する 56 setDefaultCloseOperation(EXIT_ON_CLOSE); 57 setSize(360,150); 58} 59 60//(コメントアウト) この書き方で PowerOff を aaa に上書きできると思っていた。 61// public void actionPerformed(ActionEvent e){ 62// Object o = e.getSource(); 63// if(o == button[3]){ 64// current_show.setText("aaa"); // current_showが見つからないと言われる 65// } 66 67// } 68 69 70public static void main(String[] args) { 71 ExGUISwing_03 ini = new ExGUISwing_03(); 72 ini.setVisible(true); 73 74} 75 76} 77
試したこと・参考にしたサイト
(コメントアウト)と書かれた所を書きました。
補足情報(FW/ツールのバージョンなど)
$javac -version javac 10 $java -version java version "10" 2018-03-20 Java(TM) SE Runtime Environment 18.3 (build 10+46) Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10+46, mixed mode)
回答2件
あなたの回答
tips
プレビュー