import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class SwingApplication{
public static void main(String args[]){
JFrame f = new JFrame("Java10-[C.R.S.M]K01");
JButton b = new JButton("Swing Button");
JLabel l = new JLabel("You have click: "+"0 "+"次");
JPanel p = new JPanel();
b.addActionListener(new ButtonHandler());
p.setBorder(BorderFactory.createEmptyBorder(30,30,10,30));
p.setLayout(new GirdLayout(0,1));
f.add(p);
p.add(b);
p.add(l);
f.setSize(80,80);
f.setVisible(true);
}
class ButtonHandler implements ActionListener{ //加上 public 也不对。
public void actionPerformed(ActionEvent e){
numClicks++;
l.setText("You have click: "+numClicks+"次");//输出l后面那个点时没有弹出对应的方法。
}
}
}
出错信息:
--------------------配置: <默认>--------------------
E:\JavaTempFiles\SwingApplication.java:10: 无法从静态上下文中引用非静态 变量 this
b.addActionListener(new ButtonHandler());
^
E:\JavaTempFiles\SwingApplication.java:12: 找不到符号
符号: 类 GirdLayout
位置: 类 SwingApplication
p.setLayout(new GirdLayout(0,1));
^
E:\JavaTempFiles\SwingApplication.java:21: 找不到符号
符号: 变量 numClicks
位置: 类 SwingApplication.ButtonHandler
numClicks++;
^
E:\JavaTempFiles\SwingApplication.java:22: 找不到符号
符号: 变量 numClicks
位置: 类 SwingApplication.ButtonHandler
l.setText("You have click: "+numClicks+"次");
^
E:\JavaTempFiles\SwingApplication.java:22: 找不到符号
符号: 变量 l
位置: 类 SwingApplication.ButtonHandler
l.setText("You have click: "+numClicks+"次");
^
5 错误处理已完成。
import javax.swing.*;
import java.awt.event.*;
public class SwingApplication{
public static void main(String args[]){
JFrame f = new JFrame("Java10-[C.R.S.M]K01");
JButton b = new JButton("Swing Button");
JLabel l = new JLabel("You have click: "+"0 "+"次");
JPanel p = new JPanel();
b.addActionListener(new ButtonHandler());
p.setBorder(BorderFactory.createEmptyBorder(30,30,10,30));
p.setLayout(new GirdLayout(0,1));
f.add(p);
p.add(b);
p.add(l);
f.setSize(80,80);
f.setVisible(true);
}
class ButtonHandler implements ActionListener{ //加上 public 也不对。
public void actionPerformed(ActionEvent e){
numClicks++;
l.setText("You have click: "+numClicks+"次");//输出l后面那个点时没有弹出对应的方法。
}
}
}
出错信息:
--------------------配置: <默认>--------------------
E:\JavaTempFiles\SwingApplication.java:10: 无法从静态上下文中引用非静态 变量 this
b.addActionListener(new ButtonHandler());
^
E:\JavaTempFiles\SwingApplication.java:12: 找不到符号
符号: 类 GirdLayout
位置: 类 SwingApplication
p.setLayout(new GirdLayout(0,1));
^
E:\JavaTempFiles\SwingApplication.java:21: 找不到符号
符号: 变量 numClicks
位置: 类 SwingApplication.ButtonHandler
numClicks++;
^
E:\JavaTempFiles\SwingApplication.java:22: 找不到符号
符号: 变量 numClicks
位置: 类 SwingApplication.ButtonHandler
l.setText("You have click: "+numClicks+"次");
^
E:\JavaTempFiles\SwingApplication.java:22: 找不到符号
符号: 变量 l
位置: 类 SwingApplication.ButtonHandler
l.setText("You have click: "+numClicks+"次");
^
5 错误处理已完成。
1 GirdLayout 这个类在哪里?你没有import 他, 当然。我也不知道你用的什么组件2 numClicks 这个属性的声明在哪里?我也没看到。 没有声明,不能使用!
numClicks 这个变量忘记声明了,见笑了。
改了这两个地方后,还有2个错误,或许更多。有的错误没报出来,并不代表不存在。改后错误信息:--------------------配置: <默认>--------------------
E:\JavaTempFiles\SwingApplication.java:10: 无法从静态上下文中引用非静态 变量 this
b.addActionListener(new ButtonHandler());
^
E:\JavaTempFiles\SwingApplication.java:24: 找不到符号
符号: 变量 l
位置: 类 SwingApplication.ButtonHandler
l.setText("You have click: "+numClicks+"次"); //输出l后面那个点时没有弹出对应的方法。 ^
2 错误处理已完成。
你有几处错误需要改下,我把代码给你改了,你自己对照下import java.awt.*;import javax.swing.*;
import java.awt.event.*;public class SwingApplication {
private static int numClicks=0;
private static JLabel l;
public static void main(String args[]) {
JFrame f = new JFrame("Java10-[C.R.S.M]K01");
JButton b = new JButton("Swing Button");
l = new JLabel("You have click: " + "0 " + "次");
JPanel p = new JPanel();
b.addActionListener(new ButtonHandler());
p.setBorder(BorderFactory.createEmptyBorder(30, 30, 10, 30));
p.setLayout(new GridLayout(0, 1));
f.add(p);
p.add(b);
p.add(l);
f.setSize(80, 80);
f.setVisible(true);
} static class ButtonHandler implements ActionListener { // 加上 public 也不对。
public void actionPerformed(ActionEvent e) { numClicks++;
l.setText("You have click: " + numClicks + "次");// 输出l后面那个点时没有弹出对应的方法。
}
}
}
import java.awt.*;import javax.swing.*;
import java.awt.event.*;public class SwingApplication {
private static int numClicks=0;
//private static JLabel l;
public static void main(String args[]) {
JFrame f = new JFrame("Java10-[C.R.S.M]K01");
JButton b = new JButton("Swing Button");
final JLabel l = new JLabel("You have click: " + "0 " + "次");
JPanel p = new JPanel();
b.addActionListener(new ButtonHandler());
p.setBorder(BorderFactory.createEmptyBorder(30, 30, 10, 30));
p.setLayout(new GridLayout(0, 1));
f.add(p);
p.add(b);
p.add(l);
f.setSize(80, 80);
f.setVisible(true);
} static class ButtonHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
numClicks++;
l.setText("You have click: " + numClicks + "次");// 输出l后面那个点时没有弹出对应的方法。
}
}
}
E:\JavaTempFiles\SwingApplication.java:29: 找不到符号
符号: 变量 l
位置: 类 SwingApplication.ButtonHandler
l.setText("You have click: " + numClicks + "次");// 输出l后面那个点时没有弹出对应的方法。
^
1 错误处理已完成。