Example Swing code to display list of material numbers

Example code which creates a swing application for list of materials. The class takes an array of material numbers as its input (defined in the constructor) and then displays these materials as a drop down list. This class is not executable and must be used in conjunction with a class that creates an instance of it (i.e. CallFunction2 )


//package ws; //Replace with name of your package
import javax.swing.*;          //This is the final package name.
//import com.sun.java.swing.*; //Used by JDK 1.2 Beta 4 and all
                               //Swing releases before Swing 1.1 Beta 3.
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class SwingApplication extends JApplet implements ActionListener, ItemListener {
    private String labelPrefix = "Material:";
    private int numClicks = 0;
    Object type;
	ArrayList gdArrList = new ArrayList();
	public SwingApplication (){
	}
	
	public SwingApplication (ArrayList myArrList){	
//		labelPrefix = myArrList.get(1).toString();
//        if (myArrList != null){
		gdArrList = myArrList;
//      }
	}
	
	public SwingApplication (String val){	
		labelPrefix = val;
	}
    public Component createComponents() {
        final JLabel label = new JLabel(labelPrefix + "0    ");
		final JLabel label2 = new JLabel(labelPrefix + "1    ");
		String text;
		JPanel pane = new JPanel();
		pane.setBorder(BorderFactory.createEmptyBorder(
										30, //top
										30, //left
										10, //bottom
										30) //right
										);
		pane.setLayout(new GridLayout(0, 1));
		
		type = gdArrList.get(0).toString();  //Set default
		Choice conversion = new Choice();
		{
			for (int loop = 0; loop < gdArrList.size(); loop++){
				conversion.add(gdArrList.get(loop).toString());
				conversion.addItemListener(this);
			}
		}
				
		pane.add(conversion);
	
		JButton button = new JButton("Display Material");
        button.setMnemonic(KeyEvent.VK_I);
        button.addActionListener(new ActionListener() {
			
            public void actionPerformed(ActionEvent e) {
                numClicks++;
               label.setText( labelPrefix + type);
            }
        });
        label.setLabelFor(button);
        /*
         * An easy way to put space between a top-level container
         * and its contents is to put the contents in a JPanel
         * that has an "empty" border.
         */
        pane.add(button);
        pane.add(label);
		label.setText("Material:");
		pane.add(label);
		
		return pane;
    }
	public void itemStateChanged(ItemEvent ie) {
	//X = ie.getStateChange();
	type = ie.getItem();
	}
	public void actionPerformed(ActionEvent ea) {
	}
}


Related Articles

Using the Java connector (JCo) to retrieve data from an SAP system
Example JCo code to call SAP function module
Call an SAP function module and display data in a swing application
Applet to retrieve data from SAP(using JCo) and display it using Swing
Application to retrieve data from SAP(using JCo) and display it using Swing
Example Java code to create Applet
Example JCo code to call SAP function module
Java class to create Swing Application from Array of data
Example JCo code to call SAP function module