前提・実現したいこと
今javaプログラミングの練習中で電卓を試しに作ってみているのですが、javadriveを参考にしてボタンを押すとその数字が入力されるプログラムを作っていました。しかし、なぜかエラーが消えないので質問してみました。
発生している問題・エラーメッセージ
denpart0201.java:44: エラー: シンボルを見つけられません den01.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ^ シンボル: メソッド setDefaultCloseOperation(int) 場所: タイプdenpart0201の変数 den01 denpart0201.java:45: エラー: シンボルを見つけられません den01.setVisible(true); ^ シンボル: メソッド setVisible(boolean) 場所: タイプdenpart0201の変数 den01 エラー2個
該当のソースコード
import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JTextField; import javax.swing.border.LineBorder; import java.awt.Font; import java.awt.Color; import java.awt.image.BufferedImage; import java.awt.Container; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.Dimension; import java.awt.event.*; import java.awt.event.KeyEvent; import java.io.File; import javax.imageio.ImageIO; public class denpart0201 { static int x = 1234567890; public static void main( String[] args ) //メイン文 { denpart0201 den01 = new denpart0201("電卓"); den01.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); den01.setVisible(true); } denpart0201(String title){ JFrame frame01 = new JFrame("電卓"); //フレームの処理名称宣言 frame01.setBounds(100, 100, 400, 600); //フレームの座標、サイズを指定 frame01.getContentPane().setBackground( Color.WHITE ); //フレームの色を指定 JPanel panel01 = new JPanel(); LineBorder border01 = new LineBorder(Color.BLACK, 2, true); //ボーダーラインを作成 panel01.setBorder(border01); //ボーダーラインを表示 frame01.setLayout(new FlowLayout()); //レイアウトを選択 panel01.setPreferredSize(new Dimension(250, 350)); //パネルのサイズを指定 panel01.setBackground( new Color(200,255,255) ); //パネルの色を指定 JButton button01 = new JButton("1"); //ボタンを作成 JButton button02 = new JButton("2"); //ボタンを作成 JButton button03 = new JButton("3"); //ボタンを作成 JButton button0pu = new JButton("+"); //ボタンを作成 JButton button04 = new JButton("4"); //ボタンを作成 JButton button05 = new JButton("5"); //ボタンを作成 JButton button06 = new JButton("6"); //ボタンを作成 JButton button0ma = new JButton("ー"); //ボタンを作成 JButton button07 = new JButton("7"); //ボタンを作成 JButton button08 = new JButton("8"); //ボタンを作成 JButton button09 = new JButton("9"); //ボタンを作成 JButton button0ka = new JButton("X"); //ボタンを作成 JButton button0ze = new JButton("0"); //ボタンを作成 JButton button0zero = new JButton("00"); //ボタンを作成 JButton button0wa = new JButton("÷"); //ボタンを作成 JButton button0ce = new JButton("ce"); //ボタンを作成 JButton button0iko = new JButton("="); //ボタンを作成 JButton button0back = new JButton("bs"); //ボタンを作成 button01.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button02.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button03.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button0pu.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button04.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button05.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button06.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button0ma.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button07.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button08.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button09.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button0ka.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button0ze.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button0zero.setPreferredSize(new Dimension(105, 50)); //ボタンのサイズを指定 button0wa.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button0ce.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button0iko.setPreferredSize(new Dimension(105, 50)); //ボタンのサイズを指定 button0back.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 frame01.getRootPane().setDefaultButton(button0iko); //Enterを押すと[button0iko]を起動 //0はゼロ JPanel panel201 = new JPanel(); panel201.setBorder(border01); //ボーダーラインを表示 panel201.setPreferredSize(new Dimension(215, 50)); //パネルのサイズを指定 panel201.setBackground( Color.WHITE ); //パネルの色を指定 button01.setMnemonic(KeyEvent.VK_1); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button02.setMnemonic(KeyEvent.VK_2); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button03.setMnemonic(KeyEvent.VK_3); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button04.setMnemonic(KeyEvent.VK_4); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button05.setMnemonic(KeyEvent.VK_5); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button06.setMnemonic(KeyEvent.VK_6); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button07.setMnemonic(KeyEvent.VK_7); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button08.setMnemonic(KeyEvent.VK_8); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button09.setMnemonic(KeyEvent.VK_9); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button0ze.setMnemonic(KeyEvent.VK_0); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button0zero.setMnemonic(KeyEvent.VK_Z); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button0pu.setMnemonic(KeyEvent.VK_Q); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button0ma.setMnemonic(KeyEvent.VK_W); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button0ka.setMnemonic(KeyEvent.VK_E); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button0wa.setMnemonic(KeyEvent.VK_R); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button0back.setMnemonic(KeyEvent.VK_A); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button0ce.setMnemonic(KeyEvent.VK_S); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 Container con = frame01.getContentPane(); //パネルを関数に変換(多分) con.add(panel01); //パネルをフレームに表示 panel01.add(panel201); //パネルの中にパネルを表示 panel01.add(button01); //ボタンを表示 panel01.add(button02); //ボタンを表示 panel01.add(button03); //ボタンを表示 panel01.add(button0pu); //ボタンを表示 panel01.add(button04); //ボタンを表示 panel01.add(button05); //ボタンを表示 panel01.add(button06); //ボタンを表示 panel01.add(button0ma); //ボタンを表示 panel01.add(button07); //ボタンを表示 panel01.add(button08); //ボタンを表示 panel01.add(button09); //ボタンを表示 panel01.add(button0ka); //ボタンを表示 panel01.add(button0ze); //ボタンを表示 panel01.add(button0zero); //ボタンを表示 panel01.add(button0wa); //ボタンを表示 panel01.add(button0ce); //ボタンを表示 panel01.add(button0iko); //ボタンを表示 panel01.add(button0back); //ボタンを表示 JLabel label01 = new JLabel("" + x ); //ラベルを作成 panel201.add(label01); //パネルをフレームに表示 frame01.setVisible(true); //フレームを表示 frame01.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //フレームを閉じれば終了 } static void put( String str ) { System.out.println( str ); } }
試したこと
コントラクトをクラスに使用しているdenpart0201にした。(編集済み)
補足情報(FW/ツールのバージョンなど)
java jdk-14.0.2
なぜ分からないのか不思議です。他のメソッドではできていますね。他のメソッドはコピペでしょうか。メソッドの作り方は基本なので、「Java メソッドの作り方」などで検索してみてください。
回答2件
あなたの回答
tips
プレビュー