Code of simple Swing Java Applications

Below you will find the Java code for creating a simple Swing application.

Swing application to display picturs via a dropdown list

//package swing;
import java.awt.event.*;
import javax.swing.*;
public class Album implements ActionListener {
final static int NUM_IMAGES = 8;
final static int START_INDEX = 3;
ImageIcon[] images = new ImageIcon[NUM_IMAGES];
JPanel mainPanel, selectPanel, displayPanel;
JComboBox myChoices = null;
JLabel myIconLabel = null;
public Album() {
	//Create the Album selection and display panels.
	selectPanel = new JPanel();
	displayPanel = new JPanel();
	//Add various items to the sub panels.
	addItems();
	//Create the main panel to contain the two sub panels.
	mainPanel = new JPanel();
	mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.PAGE_AXIS));
	mainPanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
	//Add the select and display panels to the main panel.
	mainPanel.add(selectPanel);
	mainPanel.add(displayPanel);
}
//	  Get the images and set up the items.
private void addItems() {
	//Get the images and put them into an array of ImageIcons.
	for (int i = 0; i < NUM_IMAGES; i++) {
	  images[i] = createImageIcon("/swing/images/image" + i + ".jpg");
	}
	// Create a label for displaying the  images and
	// put a border around it.
	myIconLabel = new JLabel();
	myIconLabel.setHorizontalAlignment(JLabel.CENTER);
	myIconLabel.setVerticalAlignment(JLabel.CENTER);
	myIconLabel.setVerticalTextPosition(JLabel.CENTER);
	myIconLabel.setHorizontalTextPosition(JLabel.CENTER);
	myIconLabel.setBorder(
		BorderFactory.createCompoundBorder(
			BorderFactory.createLoweredBevelBorder(),
			BorderFactory.createEmptyBorder(5, 5, 5, 5)));
	myIconLabel.setBorder(
		BorderFactory.createCompoundBorder(
			BorderFactory.createEmptyBorder(0, 0, 10, 0),
			myIconLabel.getBorder()));
	//Create a combo box with choices.
	String[] album =
		{	"Daughter",
			"Wife",
			"House",
			"Cat",
			"Paris",
			"Car" };
	myChoices = new JComboBox(album);
	myChoices.setSelectedIndex(START_INDEX); // we set as 3
	//Display the first image.
	myIconLabel.setIcon(images[START_INDEX]); //start at 3rd image
	myIconLabel.setText("");
	//	Add a border around the select panel.
	selectPanel.setBorder(
		BorderFactory.createCompoundBorder(
			BorderFactory.createTitledBorder("Select Phase"),
			BorderFactory.createEmptyBorder(5, 5, 5, 5)));
	//Add a border around the display panel.
	displayPanel.setBorder(
		BorderFactory.createCompoundBorder(
			BorderFactory.createTitledBorder("Display Phase"),
			BorderFactory.createEmptyBorder(5, 5, 5, 5)));
	//Add combo box to select panel and image label.
	displayPanel.add(myIconLabel);
	selectPanel.add(myChoices);
	//Listen to events from the combo box.
	myChoices.addActionListener(this);
}
public void actionPerformed(ActionEvent event) {
	if ("comboBoxChanged".equals(event.getActionCommand())) {
		//Update the icon to display the new data.
		myIconLabel.setIcon(images[myChoices.getSelectedIndex()]);
	}
}
/** Returns an ImageIcon, or null if the path was invalid. */
protected static ImageIcon createImageIcon(String path) {
	java.net.URL imageURL = Album.class.getResource(path);
	if (imageURL == null) {
		System.err.println("Resource not found: " + path);
		return null;
	} else {
		return new ImageIcon(imageURL);
	}
}
	
// Create the GUI and show it.  For thread safety,
// this method should be invoked from the event-dispatching thread.
private static void createAndShowGUI() {
	//Make sure we have nice window decorations.
	JFrame.setDefaultLookAndFeelDecorated(true);
	//Create a new instance of Album.
	Album album = new Album();
	//Create and set up the window.
	JFrame frame = new JFrame("Family Album");
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	frame.setContentPane(album.mainPanel);
	//Display the window.
	frame.pack();
	frame.setVisible(true);
}
public static void main(String[] args) {
	//Schedule a job for the event-dispatching thread:
	//creating and showing this application's GUI.
	javax.swing.SwingUtilities.invokeLater(new Runnable() {
		public void run() {
			createAndShowGUI();
		}
	});
}
}


Related Articles

SAP Java development - Example code and information on various areas of Java development
Introduction to Java Applet development
AWT Java development
Simple Java Applet
Java code to implement close functionality into AWT design
Java code to implement close functionality into AWT design
Simple steps to setting up your SAP Java development environment
Configuring your java development platform
Create simple Java Application ('Hello world”)
Install SAP Netweaver development studio
Introduction
SAP Netweaver development studio
SAP Netweaver development studio is based on Eclipse
Code of simple Swing Java Applications
Simple Swing Java Applet
Java Swing development
Code of simple Swing Java Applications
Java swing code for creating a simple tree