回答
CardLayout
为此,工程还有以下建议。
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
/** @see http://stackoverflow.com/questions/6432170 */
public class CardPanel extends JPanel {
private static final Random random = new Random();
private static final JPanel cards = new JPanel(new CardLayout());
private static final JComboBox combo = new JComboBox();
private final String name;
public CardPanel(String name) {
this.name = name;
this.setPreferredSize(new Dimension(320, 240));
this.setBackground(new Color(random.nextInt()));
this.add(new JLabel(name));
}
@Override
public String toString() {
return name;
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
create();
}
});
}
private static void create() {
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
for (int i = 1; i < 9; i++) {
CardPanel p = new CardPanel("Panel " + String.valueOf(i));
combo.addItem(p);
cards.add(p, p.toString());
}
JPanel control = new JPanel();
combo.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JComboBox jcb = (JComboBox) e.getSource();
CardLayout cl = (CardLayout) cards.getLayout();
cl.show(cards, jcb.getSelectedItem().toString());
}
});
control.add(combo);
f.add(cards, BorderLayout.CENTER);
f.add(control, BorderLayout.SOUTH);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
}
}
感谢您的踢JComboBox + CardLayout +1 – mKorbel
另请参阅此相关[示例](http://stackoverflow.com/questions/5654926/implementing-back-forward-buttons-in-swing/5655843#5655843)。 – trashgod
本例扩展'JPanel'来添加一个名称,但['Component'](http://download.oracle.com/javase/6/docs/api/java/awt/Component.html)具有'getName() '和'setName()'方法作为替代方法。 – trashgod
- 1. 如何根据组合框选择更改文本标签?
- 2. 根据组合框的选择更改文本框的值
- 3. 根据从组合框B选择的项目更改组合框列表B
- 4. 如何根据组合框选择更改列表框的内容?
- 5. 根据文档中的书签更改组合框选择
- 6. 根据选择的组合框更改元素高度
- 7. 根据组合框中的选择动态更改html标签
- 8. 根据选择的组合框项目更改标签
- 9. 如何根据Ajax请求更改选择框选择选项
- 10. 如何根据选择的组合框值更改标签文本?
- 11. WPF组合框选择更改TabItem选择更改
- 12. 根据单选按钮选择的值更改复选框组合?
- 13. JS jQuery UI的组合框中选择更改事件
- 14. 已选择项目更改组合框
- 15. 如何根据另一个组合框中的选择禁用组合框?
- 16. 根据另一个组合框值更改组合框值?
- 17. 根据组合框中选定的项目更改数据
- 18. SharePoint |根据相同的组合框状态更改组合框选项
- 19. 根据RCP中的ComboBoxCellEditor选择更改复选框选择
- 20. 如何根据组合框选择转到下一个JPanel?
- 21. 如何根据对象的值为组合框选择模板
- 22. 如何根据组合框选择将DatePicker设置为false?
- 23. 根据组合框的选择,我如何从组合框excel 2010中选择转到其他工作表?
- 24. 如何使用Jquery根据多个选择框更改总和?
- 25. 如何根据选择框值更改页面的URL?
- 26. 组合框选定索引更改所有组合框更改
- 27. AngularJS UI - 选择作为组合框
- 28. 如何获取wxpython组合框选择和更改值?
- 29. 如何更改组合框中的选择jqgrid的主题
- 30. 如何更改组合框的选择值显示顺序
什么平台和语言? –