To toggle visibility with JCheckBox, use isVisible() method:
JCheckBox toggleVisibility = new JCheckBox("Hide/Show"); toggleVisibility.setSelected(comboBox.isVisible()); toggleVisibility.addItemListener(e -> { comboBox.setVisible(e.getStateChange() == ItemEvent.SELECTED); });
The following is an example to hide and display JCombobox with a JCheckBox in Java:
import java.awt.BorderLayout; import java.awt.event.ItemEvent; import javax.swing.*; public class SwingDemo { JFrame frame; SwingDemo(){ frame = new JFrame("ComboBox"); String Sports[]={"Select","Tennis","Cricket","Football"}; JComboBox comboBox = new JComboBox(Sports); comboBox.setBounds(50, 50,90,20); frame.add(comboBox, BorderLayout.CENTER); JCheckBox toggleVisibility = new JCheckBox("Hide/Show"); toggleVisibility.setSelected(comboBox.isVisible()); toggleVisibility.addItemListener(e -> { comboBox.setVisible(e.getStateChange() == ItemEvent.SELECTED); }); frame.add(toggleVisibility, BorderLayout.SOUTH); //frame.setLayout(null); frame.setSize(600,100); frame.setVisible(true); } public static void main(String[] args) { new SwingDemo(); } }
The output is as follows. By default, the following JComboBox is visible:
Now, uncheck on “Hide/Show” above to hide the JComboBox. On uncheck, the JComboBox will hide as shown below: