2015-09-01 52 views
3

我在我现有的代码中添加了一个java swing边框。我在网上提到过,并在我的代码中放入了我从站点获得的代码,但运行时出现错误,在我的intellij中突出显示时弹出:无法解析符号'p'。我哪里错了?Java swing边框错误

private class AnotherBorderTest extends JFrame { 
    public AnotherBorderTest() { 
     setTitle("Border Test"); 
     setSize(450, 450); 

     JPanel content = (JPanel) getContentPane(); 
     content.setLayout(new GridLayout(6, 2, 3, 3)); 


     p = new JPanel(); 
     p.setBorder(new MatteBorder(new ImageIcon("BALL.GIF"))); 
     p.add(new JLabel("MatteBorder")); 
     content.add(p); 

     setVisible(true); 
    } 

    public void main(String args[]) { 
     new AnotherBorderTest(); 
    } 
} 

回答

1

在你的代码没有分配给变量p任何价值。使用代码

JPanel p = new JPanel(); /* instead of p = new JPanel() alone */ 

因为它声明并分配类型的JPanel的变量p与()对象新JPanel的值。

+0

它现在没有错误,但我无法看到边框。我想要的主要内容是MatteBorder这个词出现,因为我打算将它用作在GUI中对各种设置进行分组的方法。 – John

+0

我想添加面板是最重要的,但我从来没有与他们合作过,我将如何创建一个新的? – John

+0

你可以添加并看到任何其他边框?做_p.setBorder([BorderFactory](https://docs.oracle.com/javase/tutorial/uiswing/components/border.html).createLineBorder(Color.black)); _,它是否会在您的周围产生黑色边框面板? – Willmore