Download presentation
Presentation is loading. Please wait.
Published byFrederica Washington Modified over 9 years ago
1
1 Java Swing Application Flow By mr. Hanley 11/7/2005
2
2 How does a swing app flow? In our Swing Applications, we have used two files, an app file and a frame file Let’s take the SnowFall Assignment as an Example
3
3 How does a swing app flow? 1. A java application looks for a main method import java.awt.*; import javax.swing.*; public class Proj2App { public static void main(String[] args) { Proj2Frame p = new Proj2Frame(); p.setSize(500,400); p.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); p.setTitle("Project 2 Basic Mathematical Problems"); p.setVisible(true); }
4
4 How does a swing app flow? 2. When the first line of the main is encountered, a new Proj2Frame object is created Proj2Frame p = new Proj2Frame(); 3. Since we are creating a new object, a constructor is called –A constructor is a method with the same name of the class
5
5 How does a swing app flow? public Proj2Frame() { try { jbInit(); } catch (Exception ex) { ex.printStackTrace(); } 4. All global variables are created and initialized to either 0 or null 5. The constructor calls a method called jbInit, which stands for jbuilder initialize
6
6 How does a swing app flow? private void jbInit() throws Exception { this.getContentPane().setLayout(null); tabPane.setBounds(new Rectangle(30, 20, 348, 273)); snowAvgPAN.setLayout(null); sodaCompPAN.setLayout(null); areaCirPAN.setLayout(null); areaLBL.setText("Area"); areaLBL.setBounds(new Rectangle(24, 93, 90, 24)); areaTF.setEnabled(false); areaTF.setEditable(false); areaTF.setText(""); areaTF.setBounds(new Rectangle(23, 121, 90, 25)); cirLBL.setText("Circumference"); cirLBL.setBounds(new Rectangle(25, 164, 90, 24));
7
7 How does a swing app flow? cirTF.setEditable(false); cirTF.setBounds(new Rectangle(23, 190, 90, 25)); radiusLBL.setText("Radius"); radiusLBL.setBounds(new Rectangle(24, 21, 90, 24)); radiusTF.setBounds(new Rectangle(23, 50, 90, 25)); acBUT.setBounds(new Rectangle(154, 47, 90, 29)); acBUT.setText("Find A+C"); cost2lTF.setEditable(false); cost2lTF.setText(""); cost2lTF.setBounds(new Rectangle(162, 42, 112, 26)); price6packLBL.setText("Price in $ for a 6 pack"); price6packLBL.setBounds(new Rectangle(21, 82, 145, 18)); cost6packTF.setEditable(false); cost6packTF.setBounds(new Rectangle(161, 107, 112, 26)); cost2lLBL.setText("Cost in $/L"); cost2lLBL.setBounds(new Rectangle(161, 16, 145, 18)); price2lTF.setBounds(new Rectangle(23, 43, 112, 26)); cost6packLBL.setText("Cost in $/L"); cost6packLBL.setBounds(new Rectangle(160, 81, 145, 18));
8
8 How does a swing app flow? price2lLBL.setText("Price in $ for 2 Liter"); price2lLBL.setBounds(new Rectangle(22, 17, 145, 18)); price6packTF.setText(""); price6packTF.setBounds(new Rectangle(22, 108, 112, 26)); twolRB.setText(""); twolRB.setBounds(new Rectangle(295, 40, 107, 27)); sixPackRB.setText("jRadioButton1"); sixPackRB.setBounds(new Rectangle(295, 105, 16, 19)); includeDepCBX.setText(""); includeDepCBX.setBounds(new Rectangle(20, 154, 19, 14)); includeDepLBL.setText("Include Deposit"); includeDepLBL.setBounds(new Rectangle(48, 152, 100, 18)); compareBUT.setBackground(Color.orange); compareBUT.setBounds(new Rectangle(160, 148, 97, 26)); compareBUT.setActionCommand("compBUT"); compareBUT.setText("Compare"); monTF.setText(""); monTF.setBounds(new Rectangle(21, 32, 75, 24)); monLBL.setText("Snow Monday"); monLBL.setBounds(new Rectangle(17, 9, 88, 20));
9
9 How does a swing app flow? tuesTF.setBounds(new Rectangle(20, 85, 75, 24)); tuesLBL.setText("Snow Tuesday"); tuesLBL.setBounds(new Rectangle(17, 62, 88, 20)); wedTF.setBounds(new Rectangle(20, 143, 75, 24)); wedLBL.setText("Snow Wednesday"); wedLBL.setBounds(new Rectangle(18, 120, 106, 20)); thurTF.setBounds(new Rectangle(18, 197, 75, 24)); thurLBL.setText("Snow Thursday"); thurLBL.setBounds(new Rectangle(20, 174, 110, 20)); friTF.setBounds(new Rectangle(165, 32, 75, 24)); friLBL.setText("Snow Friday"); friLBL.setBounds(new Rectangle(166, 8, 88, 20)); avgBUT.setBounds(new Rectangle(160, 68, 90, 74)); avgBUT.setIcon(flakeIC); avgBUT.setText("Average"); avgTF.setEditable(false); avgTF.setBounds(new Rectangle(164, 195, 75, 24));
10
10 How does a swing app flow? avgLBL.setText("Average"); avgLBL.setBounds(new Rectangle(166, 172, 88, 20)); this.getContentPane().add(tabPane); snowAvgPAN.add(tuesLBL); snowAvgPAN.add(tuesTF); snowAvgPAN.add(monTF); snowAvgPAN.add(wedLBL); snowAvgPAN.add(wedTF); snowAvgPAN.add(thurLBL); snowAvgPAN.add(thurTF); snowAvgPAN.add(friTF); snowAvgPAN.add(friLBL); snowAvgPAN.add(avgBUT); snowAvgPAN.add(avgTF); snowAvgPAN.add(avgLBL); snowAvgPAN.add(monLBL); tabPane.add(areaCirPAN, "Area/Cir");
11
11 How does a swing app flow? areaCirPAN.add(areaTF); areaCirPAN.add(radiusTF); areaCirPAN.add(cirLBL); areaCirPAN.add(radiusLBL); areaCirPAN.add(cirTF); areaCirPAN.add(areaLBL); areaCirPAN.add(acBUT); sodaCompPAN.add(price6packLBL); sodaCompPAN.add(price2lTF); sodaCompPAN.add(price2lLBL); sodaCompPAN.add(cost2lLBL); sodaCompPAN.add(cost6packLBL); sodaCompPAN.add(cost6packTF); sodaCompPAN.add(cost2lTF); sodaCompPAN.add(price6packTF);
12
12 How does a swing app flow? sodaCompPAN.add(twolRB); sodaCompPAN.add(sixPackRB); sodaCompPAN.add(includeDepCBX); sodaCompPAN.add(includeDepLBL); sodaCompPAN.add(compareBUT); tabPane.add(sodaCompPAN, "Compare Sodas"); tabPane.add(snowAvgPAN, "Snow Fall"); acBUT.addActionListener(this); compareBUT.addActionListener(this); avgBUT.addActionListener(this); }
13
13 How does a swing app flow? 6, Now that the initialize method is done, the app sends various messages to the frame –P.setsize –P.setTitle –P.setVisible –P.setDefaultCloseOp
14
14 How does a swing app flow? 7. The application waits for user initiated events 8. These trigger the actionPerformed method 9. The app file is essentially done at this point in time
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.