我有一个名为“frame1”的主框架。在“frame1”我想添加一个面板来显示面板上的东西,但我无法将面板添加到我的主框架,即“frame1”
public void drawstack()
{
JPanel m1 = new JPanel(new BorderLayout());
m1.setBorder(BorderFactory.createRaisedSoftBevelBorder());
m1.setBackground(Color.red);
frame1.add(m1);
}
这是我的代码在最后一行收到错误,即“frame1.add(m1);”错误是
cannot find symbol : frame1.
答案 0 :(得分:1)
frame1必须是您班级中的一个字段,或者必须作为参数传递给您的方法
答案 1 :(得分:1)
错误告诉您编译器找不到名为frame1
的变量(或类)。为了使标记语句起作用,您需要声明一个名为frame1
的变量,并使用JFrame
对象实例化它,如下所示:
JFrame frame1 = new JFrame();
frame1.add(m1);
注意:如果要从同一类的其他方法访问它,也可以使该变量成为该类的成员。
注意:JFrame
引用的经过身份验证的frame1
最初是不可见的,您需要通过调用setVisible(true)
使其可见
如果您的类派生自JFrame
,并且您希望将面板添加到当前对象所代表的框架,则可以使用this
引用而不是frame1
:
this.add(m1);
在这个问题上你甚至可以离开this
:
add(m1);
答案 2 :(得分:0)
显然是一个错误..你还没有初始化一个名为frame1的变量..
使用this.add(m1);
代替......应该可以。
答案 3 :(得分:0)