文本字段和GUI的麻烦

时间:2013-12-03 02:44:07

标签: java swing

错误

Lab_10.java:33: error: cannot find symbol
richterLabel = new JLabel("Richter");
^
  symbol:   variable richterLabel
  location: class Lab_10

Lab_10.java:45: error: cannot find symbol
label.setText("Most structures fall");
^
  symbol:   variable label
  location: class Lab_10.AddLabelListener

Lab_10.java:53: error: cannot find symbol
ActionListner listner = new AddLabelListener();
^
  symbol:   class ActionListner
  location: class Lab_10

Lab_10.java:59: error: cannot find symbol
panel = new JPanel();
^
  symbol:   variable panel
  location: class Lab_10

Lab_10.java:60: error: cannot find symbol
panel.add(richterLabel);
          ^
  symbol:   variable richterLabel
  location: class Lab_10

Lab_10.java:60: error: cannot find symbol
panel.add(richterLabel);
^
  symbol:   variable panel
  location: class Lab_10

Lab_10.java:61: error: cannot find symbol
panel.add(eField);
^
  symbol:   variable panel
  location: class Lab_10

Lab_10.java:62: error: cannot find symbol
panel.add(button);
^
  symbol:   variable panel
  location: class Lab_10

Lab_10.java:63: error: cannot find symbol
panel.add(earthLabel);
^
  symbol:   variable panel
  location: class Lab_10

Lab_10.java:64: error: cannot find symbol
add(panel);
    ^
  symbol:   variable panel
  location: class Lab_10
10 errors

代码......

 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import javax.swing.JButton;
 import javax.swing.JFrame;
 import javax.swing.JLabel;
 import javax.swing.JPanel;
 import javax.swing.JTextField;

 public class Lab_10 extends JFrame
 {

 private final double EARTHQUAKE_RATE= 8.0;
 private final int FRAME_WIDTH= 300;
 private final int FRAME_HEIGHT= 200;

 private JLabel rictherLabel;
 private JTextField eField;
 private JButton button;
 private JLabel earthLabel;

 public Lab_10()
 {
 earthLabel = new JLabel("Most structures fall");

 makeTextField();
 makeButton();
 makePanel();
 setSize(FRAME_WIDTH, FRAME_HEIGHT);
 }

 private void makeTextField()
  {
 richterLabel = new JLabel("Richter");

 final int FIELD_WIDTH = 10;
 eField = new JTextField(FIELD_WIDTH);
 eField.setText("" + EARTHQUAKE_RATE);
 }


 class AddLabelListener implements ActionListener
 {
 public void actionPerformed(ActionEvent event)
 {
 label.setText("Most structures fall");
 }
 }

 private void makeButton()
 {
 button = new JButton("Enter");

 ActionListener listener = new AddLabelListener();
 button.addActionListener(listener);
 }

 private void makePanel()
  {
 panel = new JPanel();
 panel.add(richterLabel);
 panel.add(eField);
 panel.add(button);
 panel.add(earthLabel);
 add(panel);
 }
 }

1 个答案:

答案 0 :(得分:1)

我不知道这是否更适合作为评论,但是:

  • 第33行:您没有名为'richterLabel'的变量。检查 拼写在你已经宣布在顶部附近的JLabel上。
  • 第45行:您尚未声明“标签”。你的意思是指 earthLabel代替吗?
  • 第59-64行:您尚未声明您的面板变量。

编辑:格式化。