Java Swing Source Code
Responding to a button click
All code in a single file: * * [Link] * * This demonstrates responding to a button click */ package swingprogs; import [Link].*; import [Link].*; public class Main implements ActionListener { private static void createAndShowGUI() { // make frame.. JFrame frame = new JFrame("I am a JFrame"); [Link](JFrame.EXIT_ON_CLOSE); [Link](20,30,300,100); [Link]().setLayout(null); // make a button JButton butt=new JButton("Click me"); [Link]().add(butt); [Link](20, 20, 200,20); // instantiate an application object Main app = new Main(); // make the label [Link] = new JLabel("0 clicks"); [Link](20,40, 200,20); [Link]().add([Link]); // set the application object to be the thing which // listens to the button [Link](app); [Link](true); } public void actionPerformed(ActionEvent e) { // this executes when button is clicked clickCount++; [Link]("Clicks = "+clickCount); } public static void main(String[] args) { // start off.. [Link](new Runnable() { public void run() { createAndShowGUI();
} });
// application object fields int clickCount=0; JLabel label; } ___________________________________________________________________________________
Solution to the JSplitPane exercise
import [Link].*; import [Link].*; import [Link].*; public class Main implements ActionListener { private static void createAndShowGUI() { Main app=new Main(); // make frame.. [Link](true); JFrame frame = new JFrame("I am a JFrame"); [Link](JFrame.EXIT_ON_CLOSE); [Link](20,30,300,120); [Link](null);
//Create a split pane JSplitPane myPane = new JSplitPane(); [Link](true); [Link](150); [Link] = new JPanel(); [Link](new Color(255,0,0)); [Link] = new JPanel(); [Link](new Color(0,255,0)); [Link](null); [Link]([Link]); [Link]([Link]); // make buttons app.butt1=new JButton("Red"); app.butt2=new JButton("Blue"); app.butt3=new JButton("Green"); // add and size buttons [Link](app.butt1); [Link](10,10, 100,20); [Link](app.butt2); [Link](10,30, 100,20); [Link](app.butt3); [Link](10,50, 100,20); // set up listener [Link](app); [Link](app); [Link](app);
[Link](myPane); [Link](true); } public void actionPerformed(ActionEvent e) { // check which button and act accordingly if ([Link]()==butt1) [Link](new Color(255,0,0)); if ([Link]()==butt2) [Link](new Color(0,0,255)); if ([Link]()==butt3) [Link](new Color(0,255,0)); } public static void main(String[] args) { // start off.. try { [Link]( "[Link]" ); } catch (Exception e) { [Link]("Cant get laf"); }
Object a[]= [Link](); for (int i=0; i<[Link]; i++) [Link](a[i]); [Link](new Runnable() { public void run() { createAndShowGUI(); } });
// application object fields int clickCount=0; JLabel label; JButton butt1; JButton butt2; JButton butt3; JPanel left; JPanel right; } _______________________________________________________________________________
JTextField Example Source
import [Link].*; import [Link].*; import [Link].*; public class Main implements ActionListener { private static void createAndShowGUI() { Main app=new Main(); // make frame.. [Link](true); JFrame frame = new JFrame("I am a JFrame"); [Link](JFrame.EXIT_ON_CLOSE); [Link](20,30,300,120); [Link](null); // make a panel JPanel myPanel = new JPanel(); // make a text field [Link] = new JTextField("Type here",20); [Link]([Link]); // set up action listener [Link](app); // make and add label [Link] = new JLabel("Result"); [Link]([Link]); [Link](myPanel); [Link](true); } public void actionPerformed(ActionEvent e) { // this happens when Enter hit on the text field [Link]([Link]()); } public static void main(String[] args) { // start off.. try { [Link]( "[Link]" ); } catch (Exception e) { [Link]("Cant get laf"); } [Link](new Runnable() { public void run() { createAndShowGUI(); } }); } // application object fields JLabel label; JTextField textField; } _________________________________________________________________________
JScrollPane Exercise solution
import [Link].*; import [Link].*; import [Link].*; public class Main implements ActionListener { private static void createAndShowGUI() { Main app=new Main(); // make frame.. [Link](true); JFrame frame = new JFrame("I am a JFrame"); [Link](JFrame.EXIT_ON_CLOSE); [Link](20,30,300,120); [Link](null); JSplitPane splitPane= new JSplitPane(); JPanel left = new JPanel(); JPanel right = new JPanel(); [Link](left); JButton button = new JButton("Clear"); [Link](button); [Link](app); // make a text field [Link] = new JTextArea("Type here",5, 20); // make a panel JScrollPane scrollPane = new JScrollPane([Link]); [Link](scrollPane); [Link](splitPane); [Link](true); } public void actionPerformed(ActionEvent e) { // this happens when Enter hit on the text field [Link](); [Link](); } public static void main(String[] args) { // start off.. try { [Link]( "[Link]" ); } catch (Exception e) { [Link]("Cant get laf"); } [Link](new Runnable() { public void run() { createAndShowGUI(); } }); } // application object fields
JTextArea textArea; } _________________________________________________________________________________
JScrollBar demo
import [Link].*; import [Link].*; public class Main implements AdjustmentListener { private static void createAndShowGUI() { // make frame.. JFrame frame = new JFrame("JScrollBar"); [Link](JFrame.EXIT_ON_CLOSE); [Link](20,30,200,200); [Link]().setLayout(null); Main app = new Main(); [Link] = new JScrollBar([Link], 127, 1,0,255); [Link](20,20, 20, 200); [Link](app); [Link]().add([Link]); [Link] = new JLabel(); [Link](50,20,100,20); [Link]().add([Link]); [Link](true); } public void adjustmentValueChanged(AdjustmentEvent e) { [Link]("Value = "+[Link]()); } public static void main(String[] args) { // start off.. [Link](new Runnable() { public void run() { createAndShowGUI(); } }); } // application object fields JScrollBar sbar; JLabel label; } ____________________________________________________________________
Scrollbar exercise solution
import [Link].*; import [Link].*; import [Link].*; public class Main implements AdjustmentListener { private static void createAndShowGUI() { // make frame.. JFrame frame = new JFrame("JScrollBar");
[Link](JFrame.EXIT_ON_CLOSE); [Link](20,30,200,250); [Link]().setLayout(null); Main app = new Main(); app.sbar1 = new JScrollBar([Link], 127, 1,0,255); [Link](10,20, 10, 200); [Link]([Link]); [Link](app); [Link]().add(app.sbar1); app.sbar2 = new JScrollBar([Link], 127, 1,0,255); [Link](30,20, 10, 200); [Link]([Link]); [Link](app); [Link]().add(app.sbar2); app.sbar3 = new JScrollBar([Link], 127, 1,0,255); [Link](50,20, 10, 200); [Link]([Link]); [Link](app); [Link]().add(app.sbar3); [Link] = new JPanel(); [Link](80,20,50,200); [Link](new Color(0,0,0)); [Link]().add([Link]); [Link](true); } public void adjustmentValueChanged(AdjustmentEvent e) { [Link](new Color([Link](),[Link](), [Link]())); } public static void main(String[] args) { // start off.. [Link](new Runnable() { public void run() { createAndShowGUI(); } }); }
// application object fields JScrollBar sbar1; JScrollBar sbar2; JScrollBar sbar3; JPanel panel; } __________________________________________________________________
JCheckBox demo
import [Link].*; import [Link].*; import [Link].*; public class Main implements ActionListener { private static void createAndShowGUI() { // make frame.. JFrame frame = new JFrame(".."); [Link](JFrame.EXIT_ON_CLOSE); [Link](20,30,70,150); [Link]().setLayout(null); Main app = new Main(); [Link] = new JCheckBox("Black?"); [Link](10,20,100,20); [Link]().add([Link]); [Link](app); [Link] = new JPanel(); [Link](10,50,50,50); [Link](new Color(255,255,255)); [Link]().add([Link]); [Link](true); } public void actionPerformed(ActionEvent e) { if ([Link]()) [Link](new Color(0,0,0)); else [Link](new Color(255,255,255)); } public static void main(String[] args) { // start off.. [Link](new Runnable() { public void run() { createAndShowGUI(); } }); } // application object fields JCheckBox checkBox; JPanel panel; }
__________________________________________________________
JCheckBox exercise solution
import [Link].*; import [Link].*; import [Link].*; public class Main implements ActionListener { private static void createAndShowGUI() { // make frame.. JFrame frame = new JFrame(".."); [Link](JFrame.EXIT_ON_CLOSE); [Link](20,30,200,120); [Link]().setLayout(null); Main app = new Main(); [Link] = new JCheckBox("Left align?"); [Link](10,20,100,20); [Link]().add([Link]); [Link](app); [Link]= new JLabel("Some text"); [Link](10,50,100,20); [Link]([Link]([Link])); [Link]([Link]); [Link]().add([Link]); [Link](true); } public void actionPerformed(ActionEvent e) { if ([Link]()) [Link]([Link]); else [Link]([Link]); } public static void main(String[] args) { // start off.. [Link](new Runnable() { public void run() { createAndShowGUI(); } }); } // application object fields JCheckBox checkBox; JLabel label; } _________________________________________________________________________
RadioButton Demo
import [Link].*; import [Link].*; import [Link].*; public class Main implements ActionListener { private static void createAndShowGUI() { // make frame.. JFrame frame = new JFrame(".."); [Link](JFrame.EXIT_ON_CLOSE); [Link](20,30,70,150); [Link]().setLayout(null); Main app = new Main(); [Link] = new JPanel(); [Link](10, 60, 100,100); [Link]([Link]); [Link]().add([Link]); app.choice1 = new JRadioButton("Black"); app.choice2 = new JRadioButton("White"); [Link](app); [Link](app); ButtonGroup group = new ButtonGroup(); [Link](app.choice1); [Link](app.choice2); [Link]().add(app.choice1); [Link]().add(app.choice2); [Link](10,10,100,20); [Link](10,40, 100,20); [Link](true); } public void actionPerformed(ActionEvent e) { if ([Link]()) [Link](new Color(0,0,0)); if ([Link]()) [Link](new Color(255,255,255)); } public static void main(String[] args) { // start off.. [Link](new Runnable() { public void run() { createAndShowGUI(); } }); } // application object fields JRadioButton choice1, choice2; fram
JPanel panel; } ________________________________________________________________________________
JListBox Demo
import [Link].*; import [Link].*; import [Link].*; public class Main implements ActionListener { private static void createAndShowGUI() { Main app=new Main(); // make frame.. [Link](true); JFrame frame = new JFrame("Demo JList"); [Link](JFrame.EXIT_ON_CLOSE); [Link](20,30,300,200); [Link]().setLayout(null); // make array to hold values.. String listContents[] = {"One", "Two", "Three","Four","Five","Six"}; // make a ListBox using this data [Link] = new JList(listContents); [Link](0,0,100,100); // make a scrollpane using this listbow JScrollPane myScrollPane = new JScrollPane([Link]); [Link](10,10, 140, 80); [Link]().add(myScrollPane); //add button JButton myButton= new JButton("Show first"); [Link](10, 100, 100,20); [Link]().add(myButton); [Link](app); // add label [Link] = new JLabel("First shown here"); [Link](130,100,100, 20); [Link]().add([Link]); [Link](true); }
public void actionPerformed(ActionEvent e) { // get array of which items are selected // get indices, not the actual items int select[] = [Link](); if ([Link]>0) // if anything selected [Link]((String)[Link]().getElementAt(select[0])); else [Link]("No selection"); } public static void main(String[] args) {
// start off.. try { [Link]( "[Link]" ); } catch (Exception e) { [Link]("Cant get laf"); } [Link](new Runnable() { public void run() { createAndShowGUI(); } }); } // application object fields JLabel myLabel; JList myList; } ______________________________________________________________________________
Second ListBox Demo
import import import import [Link].*; [Link].*; [Link].*; [Link].*;
public class Main implements ActionListener { private static void createAndShowGUI() { Main app=new Main(); // make frame.. [Link](true); JFrame frame = new JFrame("Demo JList"); [Link](JFrame.EXIT_ON_CLOSE); [Link](20,30,400,200); [Link]().setLayout(null); // make vactors.. [Link]= new Vector(); app.vector2 = new Vector(); // make a ListBox app.myList1 = new JList([Link]); [Link](0,0,100,100); [Link]([Link]); [Link]([Link]); [Link]([Link]); // make a scrollpane using this listbox JScrollPane myScrollPane = new JScrollPane(app.myList1); [Link](10,10, 140, 80); [Link]().add(myScrollPane); // second listbox app.myList2 = new JList(); [Link](0,0,100,100); // make a scrollpane using this listbow JScrollPane myScrollPane2 = new JScrollPane(app.myList2);
[Link](230,10, 140, 80); [Link]().add(myScrollPane2); //add button [Link]= new JButton("Add"); [Link](10, 100, 100,20); [Link]().add([Link]); [Link](app); // add text field [Link] = new JTextField("Item to add"); [Link](130,100,100, 20); [Link]().add([Link]); //delete button [Link]= new JButton("Remove"); [Link](10, 130, 100,20); [Link]().add([Link]); [Link](app); //copy button [Link]= new JButton(">>>"); [Link](160, 40, 60,20); [Link]().add([Link]); [Link](app); [Link](true); }
public void actionPerformed(ActionEvent e) { if ([Link]()==addButton) { //copy text from text field and add to vector [Link]([Link]()); [Link](listContents); } if ([Link]()==delButton) { // get the indices of selected items int select[] = [Link](); // copy these into a temporary vector Vector v = new Vector(); for (int i = 0; i<[Link]; i++) { [Link]((String)([Link]().getElementAt(select[i]))); } // remove from original vector for (int i=0; i<[Link](); i++) [Link]([Link](i)); // reset vector as list source [Link](listContents); } if ([Link]()==copyButton) { // get the indices of selected items int select[] = [Link](); // copy these into other vector [Link](); // first empty it for (int i = 0; i<[Link]; i++)
{ [Link]((String)([Link]().getElementAt(select[i]))); } // reset data source [Link](vector2); } }
public static void main(String[] args) { // start off.. try { [Link]( "[Link]" ); } catch (Exception e) { [Link]("Cant get laf"); } [Link](new Runnable() { public void run() { createAndShowGUI(); } }); } // application object fields JList myList1; JList myList2; JTextField addText; Vector listContents; Vector vector2; JButton addButton; JButton delButton; JButton copyButton; } _____________________________________________________________________________
Layout Demo
import import import import [Link].*; [Link].*; [Link].*; [Link].*;
public class Main implements ActionListener { private static void createAndShowGUI() { Main app = new Main(); [Link](true); // make frame JFrame frame = new JFrame("Calc"); [Link](JFrame.EXIT_ON_CLOSE); [Link]().setLayout(null); [Link](50,50,190,170); // create top panel JPanel topPanel=new JPanel(); [Link](0,0, 200,28); [Link](null); // add display to it [Link](0,0, 200,28); [Link]([Link]); [Link]([Link]); [Link](new Font("Palatino",[Link],14)); [Link]([Link]); // show top panel [Link]().add(topPanel); // make lower panel JPanel lowerPanel=new JPanel(); [Link]().add(lowerPanel); [Link](0,32, 180,100); [Link](new GridLayout(0,4,2,2)); // add buttons to it [Link] = new JButton("+"); [Link]([Link]); [Link] = new JButton("-"); [Link]([Link]); [Link] = new JButton("X"); [Link]([Link]); [Link] = new JButton("/"); [Link]([Link]); for (int i=0; i<10; i++) { [Link][i] = new JButton(""+i); [Link][i].addActionListener(app); [Link]([Link][i]); } [Link] = new JButton("."); [Link]([Link]); [Link](app); [Link] = new JButton("="); [Link]([Link]); [Link](true); }
public void actionPerformed(ActionEvent e) { for (int i = 0; i<10; i++) { if ([Link]()==digits[i]) current+=""+i; } if ([Link]()==point) current+=".";
[Link](current); } public static void main(String[] args) { // start off.. try { [Link]( "[Link]" ); } catch (Exception e) { [Link]("Cant get laf"); } [Link](new Runnable() { public void run() { createAndShowGUI(); } }); } // application object fields JButton add,sub, mul, div; JButton point, equals; JButton[] digits = new JButton[10]; String current = new String(); JTextField display = new JTextField(); } ____________________________________________________________________________
Menu Demo
import import import import [Link].*; [Link].*; [Link].*; [Link].*;
public class Main implements ActionListener { private static void createAndShowGUI() { Main app = new Main(); [Link](true); // make frame JFrame frame = new JFrame("Menu things"); [Link](JFrame.EXIT_ON_CLOSE); [Link]().setLayout(null); [Link](50,50,300,300); JMenuBar myMenuBar = new JMenuBar(); JMenu menu1 = new JMenu("File"); // item with an image JMenuItem itemgif = new JMenuItem("Gif option",new ImageIcon("[Link]")); [Link](itemgif); // checkbox JCheckBoxMenuItem itemCheck = new JCheckBoxMenuItem("A check box menu item"); [Link](itemCheck); // submenu .. first make submenu JMenu subMenu = new JMenu("Sub..."); // add an item to it JMenuItem subMenuItem = new JMenuItem("An option"); [Link](subMenuItem); // add it to main menu [Link](subMenu); JMenuItem item = new JMenuItem("Exit"); [Link](app); [Link](item); [Link](menu1); [Link](myMenuBar); [Link](true); }
public void actionPerformed(ActionEvent e) { [Link](0); } public static void main(String[] args) { // start off.. try { [Link]( "[Link]" ); }
catch (Exception e) { [Link]("Cant get laf"); } [Link](new Runnable() { public void run() { createAndShowGUI(); } }); } // application object fields }