import javax.swing.*;
import java.awt.*;
public class SampleProgram
{
static JFrame f1;
JPanel p1;
JButton b1;
public SampleProgram()
{
p1=new JPanel();
b1=new JButton("确定");
p1.add(b1);
b1.setLabel("取消");
p1.add(b1);
} public static void main(String[] args)
{
f1=new JFrame("程序的窗口");
f1.getContentPane().add(p1);
f1.setSize(300,300);
}
}
import java.awt.*;
public class SampleProgram
{
static JFrame f1;
JPanel p1;
JButton b1;
public SampleProgram()
{
p1=new JPanel();
b1=new JButton("确定");
p1.add(b1);
b1.setLabel("取消");
p1.add(b1);
} public static void main(String[] args)
{
f1=new JFrame("程序的窗口");
f1.getContentPane().add(p1);
f1.setSize(300,300);
}
}
解决方案 »
- ext4 关于treepanel 和tabpanel 混合使用 beforeclose 监听不好使的问题
- java运算符错误
- java 正则表达式只匹配一个等号不能匹配双等号
- 最基本的java问题:java 命令调用jar包
- 下拉列表的联动问题
- String sql in() 问题
- 请教java关于事件侦听的一个问题,多谢各位指教!
- 请教一个 import 和 package 的问题.
- 但是写成 import lib.* 就可以调用,为什么?
- GBK^^GB2312^^UTF-8^^ISO8859_1这些都有什么不同??
- 图像读取进度条显示
- java连接数据库的问题,闷啊,Exception in thread "main" java.lang.NoClassDefFoundError: com/microsoft/jdbc/base/BaseDriver
-----
SampleProgram.java:20: non-static variable p1 cannot be referenced from a static
context
f1.getContentPane().add(p1);
^
1 error
import java.awt.*;
public class SampleProgram
{
static JFrame f1;
// 改了這裡
static JPanel p1;
JButton b1;
public SampleProgram()
{
p1=new JPanel();
b1=new JButton("确定");
p1.add(b1);
b1.setLabel("取消");
p1.add(b1);
} public static void main(String[] args)
{
f1=new JFrame("程序的窗口");
f1.getContentPane().add(p1);
f1.setSize(300,300);
}
}
我是否可以把p1也声明成静态变量呢?
可是那样做好象 不行的啊?
帮帮在下啊。
f1.getContentPane().add(p1); 把这句要做的事情移到构造方法里去,在那里用这句
this.getContentPane().add(p1);
JPanel p1;
JButton b1;
public JPanel buildPanel(){
p1=new JPanel();
b1=new JButton("确定");
p1.add(b1);
b1.setLabel("取消");
p1.add(b1);
return p1;
} public static void main(String[] args) {
SampleProgram sp = new SampleProgram();
sp.f1=new JFrame("程序的窗口");
sp.f1.getContentPane().add(sp.buildPanel());
sp.f1.setSize(300,300);
}