Java ActionListener问题
我创建了一个框架。框架内有一个组合框。 我试图让组合框中的每个选项都创建其他内容(JCheckBox、JRadioButton) 当选择飞行员时,只有JCheckBox shuold出现。 拾取主机时,仅会显示JRadioButton shuold。 被选中的办公室里什么都没出现 问题是,当我选择host,然后pilot,然后host时,它不会显示JRadioButtonJava ActionListener问题,java,swing,actionlistener,jcombobox,Java,Swing,Actionlistener,Jcombobox,我创建了一个框架。框架内有一个组合框。 我试图让组合框中的每个选项都创建其他内容(JCheckBox、JRadioButton) 当选择飞行员时,只有JCheckBox shuold出现。 拾取主机时,仅会显示JRadioButton shuold。 被选中的办公室里什么都没出现 问题是,当我选择host,然后pilot,然后host时,它不会显示JRadioButton comboBox.addActionListener(new ActionL
comboBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
String selection = comboBox.getSelectedItem().toString();
label3.setText(input[comboBox.getSelectedIndex()]);
//panel_mid.removeAll();
if(comboBox.getSelectedItem().toString().equals("Pilot")){
panel_mid.removeAll();
panel_mid.add(label3,BorderLayout.WEST);
panel_mid.add(text_bottom);
panel_mid.setBorder(new TitledBorder(comboBox.getSelectedItem().toString() + " options"));
panel_mid.add(jchkCaptain);
}
if(comboBox.getSelectedItem().toString().equals("Host")){
panel_mid.removeAll();
panel_mid.add(label3,BorderLayout.WEST);
panel_mid.add(text_bottom);
panel_mid.setBorder(new TitledBorder(comboBox.getSelectedItem().toString() + " options"));
panel_mid.add(regular = new JRadioButton("Regular"));
panel_mid.add(bachir = new JRadioButton("Bachir"));
panel_mid.add(calcelan = new JRadioButton("Calcelan"));
}
if(comboBox.getSelectedItem().toString().equals("Office")){
panel_mid.removeAll();
panel_mid.add(label3,BorderLayout.WEST);
panel_mid.add(text_bottom);
panel_mid.setBorder(new TitledBorder(comboBox.getSelectedItem().toString() + " options"));
}
}
});
谢谢你的帮助。- 您必须告诉
某些内容已更改,LayoutManager
没有任何通知者,您必须通过编程通知这些更改LayoutManager
- 使用
和container.revalidate()
作为最后一行代码,在对已经可见的Swing GUI进行所有更改后仅使用一次container.repaint(本例中JPanels的变量)
- 用于在视图之间切换(
s在您的案例中)JPanel