0
JList가 포함 된 JPanel을 JFrame의 JTabbedPane에 추가하면 JList가 표시되지 않습니다. 버튼 및 레이블과 같은 다른 모든 물건 표시 있지만 목록JList가 JTabbedPane에서 손실되었습니다.
JFrame의 코드 :
public View(Model m, Controller c) {
model = m;
controller = c;
co=getContentPane();
co.setLayout(new BorderLayout());
tabbedPane = new JTabbedPane();
vp = new VragenPanel(model, controller);
cp = new CategoriePanel(model, controller);
tabbedPane.add("Vragen", vp);
tabbedPane.add("Categorie", cp);
co.add(tabbedPane, BorderLayout.NORTH);
this.setSize(400,400);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
JPanel의 코드 :
public CategoriePanel(Model m, Controller c) {
this.setLayout(new BorderLayout());
list = controller.getCategorieList();
this.add(list, BorderLayout.NORTH);
...
b1 = new JButton(etc)...
}
컨트롤러의 목록 코드 (defaultlistmodel 포함) :
private DefaultListModel dlm=new DefaultListModel();
private JList lijst=new JList(dlm);
...
public JList getCategorieList() {
dlm.ensureCapacity(100);
for(int i=0;i<model.getCategoriën().size();i++) {
dlm.addElement(model.getCategoriën().get(i).getNaam();
}
return lijst;
}
죄송합니다, 가능한 한 코드로 읽을 수 있도록했습니다. borderlayout을 사용하고 최소 크기를 설정했습니다. 미리 스크롤 페이스를 추가하려고합니다. 편집 : 스크롤 패널 추가가 작동하지 않았습니다. – user3535989
목록에 API에 구현 된 좌표와 행 및 힌트가 API에 구현되어 있지 않은 경우이 대답은 잘못되었습니다. – mKorbel
@mKorbel 'JList'가 아닌'JScrollPane'의 크기를 설정하도록 제안했습니다. '에스. – icza