使用NetBeans GUI編輯器爲學校創建保齡球程序。我可以將JPanel添加到JList嗎?如果是的話如何?將JPanel添加到JList?
2
A
回答
4
這不是真的可能(意味着它不會像您期望的那樣) - 您實際需要的是列表LayoutManager
,這些列表將列出垂直或水平列表中的組件。因此,您不必使用JList
,而是使用JPanel
以及類似列表的佈局管理器。
嘗試這些:
BoxLayout
將會把所有的JPanels
在單個列/行GridLayout
將會把所有的JPanels
在一個單一的列/行,讓他們所有的大小相同
1
轉到本教程: 它與您的問題具有相同的概念...
http://docs.oracle.com/javase/tutorial/uiswing/components/combobox.html#renderer
1
試試這個。它適用於我。
class PanelRenderer implements ListCellRenderer {
@Override
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
JPanel renderer = (JPanel) value;
renderer.setBackground(isSelected ? Color.red : list.getBackground());
return renderer;
}
}
public void ShowItemList(List<JPanel> paneList, JPanel container) {
DefaultListModel model = new DefaultListModel();
for (JPanel pane:paneList) {
model.addElement(pane);
}
final JList list = new JList(model);
list.setFixedCellHeight(40);
list.setSelectedIndex(-1);
list.setCellRenderer(new JPanelToJList.PanelRenderer());
JScrollPane scroll1 = new JScrollPane(list);
final JScrollBar scrollBar = scroll1.getVerticalScrollBar();
scrollBar.addAdjustmentListener(new AdjustmentListener() {
@Override
public void adjustmentValueChanged(AdjustmentEvent e) {
System.out.println("JScrollBar's current value = " + scrollBar.getValue());
}
});
container.add(scroll1);
}
相關問題
- 1. 將JList添加到JPanel
- 2. 將JList/JScrollPane添加到JPanel
- 3. 添加滾動條到JList,JList被添加到JPanel
- 4. 將項目從jlist添加到jlist
- 5. 將項目添加到JList
- 6. 將對象添加到JList
- 7. 將JList添加到JFrame
- 8. 將項目添加到jList
- 9. 將JList添加到JavaFX ScrollPane
- 10. 將Jpanel添加到JFrame?
- 11. 將JPanel添加到JFrame中
- 12. 將組件添加到JPanel
- 13. 將JFXPanel添加到JPanel
- 14. 將JPanel添加到Canvas
- 15. 將組件添加到JPanel
- 16. 將ButtonGroup添加到JPanel
- 17. 將按鈕添加到JPanel
- 18. 將JScrollPane添加到JPanel?
- 19. 將path2d添加到jpanel
- 20. 將JScrollPane添加到JPanel
- 21. 將JDesktopPane添加到JPanel
- 22. 將JButton添加到JPanel
- 23. 將元素添加到JPanel
- 24. 將JLayeredPane添加到JPanel
- 25. 將jpanel添加到jframe
- 26. 將圖形添加到JPanel
- 27. 將JLabel添加到JPanel
- 28. 將JMenuBar添加到JPanel?
- 29. 將JPanel添加到JScrollPane
- 30. 將JMenu添加到JPanel