使用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