자바 휴대 단말기 용 스윙이 제대로 아니라 불법 요소 위치 오류가 발생, 테두리 레이아웃을 사용하여 디스플레이에 물건을받을 수 없습니다

제롬 더럼 :

나는 캔버스가 전혀 표시되지 않는 '캔버스'모두를 추가 한 후 같은 JFrame.However의 북쪽에 표시 할 JFrame의와 설정 패널의 중앙에 표시 할 위치 난 그냥 간단한 코드를 썼습니다. 나는 그것을 더 이상 표시되지 않는 설정 패널을 추가 할 때 나는 단지 그것을 빨리 만 표시됩니까 캔버스를 추가하는 경우.

나도 같은 JFrame의의 남쪽에 뭔가를 추가하려고 또한 만약에 상관없이 어떤 불법 요소 위치 오류가 발생하지 않습니다 ..

그 대답은 분명하지만 인터넷 검색과 운이없이 지난 몇 시간 동안이 연구를 시도하면 정말 미안 스윙 때 나는 완전한 멍청한 놈이야.

여기에 내가 뭘하려입니다 :

public class MainFrame extends JFrame {
 ConfigPanel configPanel;
 ControlPanel controlPanel;
 DrawingPanel canvas;

 public MainFrame() {
 super("My Drawing Application");
 init();
 }

private void init() {
     setDefaultCloseOperation(EXIT_ON_CLOSE);

     canvas = new DrawingPanel(this);
     configPanel = new ConfigPanel(this);
     controlPanel=new ControlPanel(this);

      add(canvas,CENTER); 

      add(configPanel,NORTH);

      add(controlPanel,SOUTH); //this gives me a illegal component position error

     pack();

}

}
토미 Brettschneider :

시도하십시오 getContentPane().add(controlPanel, SOUTH);대신add(controlPanel, SOUTH);

귀하가 제공 한 코드의 모든 구성 요소에 대해 그렇게 ...

추천

출처http://43.154.161.224:23101/article/api/json?id=350103&siteId=1