0
다음 코드는 있지만 JPanel은 표시되지 않습니다. 나는 이유를 알 수 없다. 왜 보이니? 내가 보는 모든 검은 배경과 JFrame의입니다jframe을 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);
}
null 레이아웃을 사용하지 마십시오 – MadProgrammer
@MadProgrammer에 동의합니다. null 레이아웃은 피해야하지만 현재 코드에는 오류가 표시되지 않습니다. 이 JFrame을 표시하면 JPanel이 추가되어 표시됩니다. 볼 수있는 유일한 다른 오류는 ShapeFrame 생성자에 대한 로컬 outlinePanel 변수가 otulinePanel 클래스 필드를 그림자로 남기는 것은 당연히 null입니다. 아마도 그것이 당신의 실수와 혼란의 근원입니다. –
여기에 게시 한 코드를 실행하면 배경이 회색이고 내부에 흰색 사각형이있는 창이 나타납니다 ('outlinePanel'이라고 생각합니다.) [SSCCE (http://www.sscce.org)) –