Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Java
Expertise: Intermediate
Oct 23, 1998

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 com.sun.java.swing.*;

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
				"com.sun.java.swing.plaf.motif.MotifLookAndFeel";
		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
Richard G.
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date