使用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/JScrollPane添加到JPanel
- 2. 添加滚动条到JList,JList被添加到JPanel
- 3. 将对象添加到JList
- 4. 将JList添加到JavaFX ScrollPane
- 5. 将JList添加到JFrame
- 6. 将JApplet添加到JPanel
- 7. 将jpanel添加到jframe
- 8. 将图形添加到JPanel
- 9. 将组件添加到JPanel
- 10. 将JMenu添加到JPanel
- 11. 将图像添加到JPanel
- 12. 将JLayeredPane添加到JPanel
- 13. 将组件添加到JPanel
- 14. 将JMenuBar添加到JPanel?
- 15. 将JButton添加到JPanel
- 16. 将JPanel添加到Canvas
- 17. 将JPanel添加到另一个JPanel添加填充
- 18. 异常将元素添加到JList
- 19. 将滚动条添加到JList?
- 20. 将滚动条添加到JList
- 21. 如何将MouseListener添加到JList模型
- 22. 添加元素到Jlist
- 23. 添加项目到jList
- 24. 数组对象到JList和JList的到的JPanel
- 25. 试图将多个JPanel添加到JFrame
- 26. 将JPanel数组添加到容器
- 27. 将NetBeans Designer中的JFrame添加到JPanel
- 28. 将JScrollPane添加到JPanel中的JTextArea
- 29. 将组件添加到jPanel java
- 30. 将JPanel实例动态添加到JScrollPane