Swing, Buttons in Buttons

Swing, Buttons in Buttons

Tired of the same old buttons? My car radio has buttons in buttons, and you can do the same with Swing. Swing components are also containers which can contain other components.

To illustrate, this program places two buttons and a label in a third button. All three buttons can be clicked independently of the others, and you could register listeners on all three buttons to accomplish your task. To make things more interesting, the container button is a toggle button. This code was tested using JDK1.1.6 and Swing 1.0.3 under Win95:

 import java.awt.*;import java.awt.event.*;import*;public class SwingButtonInButton01 extends JFrame {	public static void main(String args[]) {		new SwingButtonInButton01();	}//end main()	//-----------------------------------------------------//  	SwingButtonInButton01() {//constructor		JToggleButton power = new JToggleButton();//container		power.setLayout(new FlowLayout());		JButton am = new JButton("AM");//another button		JButton fm = new JButton("FM");//another button    		power.add(am);//Put button in container button		power.add(new JLabel("Power"));//Put label in button		power.add(fm);//Put button in container button		getContentPane().add(power);//pub button in frame    		String plafClassName = //set look and feel				"";		try{			UIManager.setLookAndFeel(plafClassName);		}catch(Exception ex){System.out.println(ex);}		SwingUtilities.updateComponentTreeUI(this);    		getContentPane().setLayout(new FlowLayout());		setSize(300,100);		setTitle("Buttons in Buttons");		setVisible(true);    		// Inner WindowListener class to terminate program		addWindowListener(new WindowAdapter() {			public void windowClosing(WindowEvent e) {				System.exit(0);}});//end WindowListener    	}//end constructor}//end class

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist