Open all | Close all

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();
		}
	});
}
}

 


SAP ABAP development help
More SAP ABAP development help and information


ABAP code and information
More SAP ABAP development tips and tricks

 
 

Number of SAP Development Users currently online hit counters