null 레이아웃에 문제가 있습니다. programm에 이런 구조를 가지고있다 - 탭 구획 (JTabbedPane에)
-null 레이아웃을 사용한 요소 배치
창 (JFrame의)
.. 일부 탭 ..
- JScrollPane (클래스 테이블)에 랩핑 된 재정의 된 JPanel
또한 JLabel (Kanban 클래스)을 재정의했습니다.
나는 칸반의 일부 인스턴스를 테이블에 추가하려고 시도했지만 아무 것도 가지고 있지 않습니다. Table의 레이아웃을 null에서 BorderLayout으로 변경하면 (예를 들어) 요소가 나타나 잘 작동합니다.
오라클 설명서에서는 1) null 레이아웃을 설정하고, 2) 자식 요소에 setBounds()를 호출하고, 3) null 레이아웃이있는 요소에서 repaint()를 호출합니다. 그것은 나를 위해 일하지 않습니다. (정말로).
테이블 배치 코드 (윈도우의 생성자) :
Table table = new Table();
JScrollPane panel = new JScrollPane(table);
tabbedPanel.addTab("New tab", panel);
tabbedPanel.setSelectedIndex(tabbedPanel.getTabCount() - 1);
table.setPreferredSize(new Dimension(600, 400));
table.setSize(600, 400);
표 생성자 :
setDoubleBuffered(true);
setLayout(null);
setBounds(0,0,600,400);
Kanban kanban = new Kanban("Label text");
kanban.setBounds(10, 10, kanban.getWidth(), kanban.getHeight());
add(kanban);
이 문제점은 무엇입니까? 요소가 널 레이아웃으로 그리지 않는 이유는 무엇입니까?
--- 추가 라벨의 포인트 위치가 필요하기 때문에 널 레이아웃이 필요합니다.
의 공식 문서에서 참조하십시오 레이아웃. * 의심의 여지가 없습니다. – Braj
if (* null 레이아웃. *에 문제가 있음) null 레이아웃을 사용하지 마십시오. –