0
我有以下代码,但我的JPanel只是不显示。我无法弄清楚为什么。你明白为什么?我看到的是黑色背景中的JFrame我不能将jpanel添加到jframe
public class ShapeFrame extends JFrame
{
private JPanel outlinePanel;
public ShapeFrame(LinkedList<Coordinate> list)
{
super("Outline/Abstract Image");
setSize(950, 500);
setLayout(null);
setBackground(Color.BLACK);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel outlinePanel = new JPanel();
outlinePanel.setBackground(Color.WHITE);
outlinePanel.setBorder(null);
outlinePanel.setBounds(50, 50, 400, 400);
add(outlinePanel);
// abstractPanel = new JPanel();
// abstractPanel.setBackground(Color.WHITE);
// abstractPanel.setBounds(500, 50, 400, 400);
// add(abstractPanel);
}
不要使用空白布局 – MadProgrammer
我同意@MadProgrammer,你应该避免空布局,但你当前的代码不显示错误。如果你显示这个JFrame,JPanel将被添加并且会被看到。我看到的唯一的其他错误是ShapeFrame构造函数局部的outlinePanel变量会隐藏otulinePanel类字段,该字段当然为空。也许这就是你错误和困惑的根源。 –
当我运行你在这里发布的代码时,我得到一个灰色背景和一个白色方块的窗口(我认为这是你的'outlinePanel'。请发布一个[SSCCE](http://www.sscce.org) ),它重现了你所问的确切问题。 –