Presentation is loading. Please wait.

Presentation is loading. Please wait.

Java Swing One of the most important features of Java is its ability to draw graphics.

Similar presentations


Presentation on theme: "Java Swing One of the most important features of Java is its ability to draw graphics."— Presentation transcript:

1 Java Swing One of the most important features of Java is its ability to draw graphics.

2 AWT to Swing AWT: Abstract Window Toolkit import java.awt.* Swing: new with Java2 import javax.swing.* extends AWT Depends less on underlying platform Many more predefined GUI components Event listeners API: http://docs.oracle.com/javase/8/docs/api/

3 GUI Component API Java: GUI component = class Properties Methods Events JButton

4 Using a GUI Component 1.Create it Instantiate object: b = new JButton(“press me”); 2.Configure it Properties: b.text Methods: b.setText(“press me”); //set this way 3.Add button b to panel panel.add(b); 4.Listen to it Events: Listeners JButton

5 Anatomy of an Application GUI JPanel JButton JFrame JLabel GUIInternal structure JFrame JPanel JButtonJLabel containers

6 Using a GUI Component 2 1.Create it 2.Configure it 3.Add children (if container) 4.Add to parent (if not JFrame) 5.Listen to it order important

7 JPanel JButton Listener JFrame JLabel Add from bottom up Create: Frame Panel Components Listeners Add: (bottom up) listeners into components components into panel panel into frame

8 Frames Swing version JFrame (extends AWT’s frame) Import javax.swing (‘x’ – extension package) Default size is 0x0 pixels DEMO FrameTest.java

9 Frames Need to extend class Override constructor for size desired. Select behavior on Close (for example, exit) Starts invisible, must show DEMO SimpleFrameTest.java

10 Frames Only a few methods to change look Inherits methods from superclasses –dispose – closes window and reclaims resources –setIconImage - used when window is minimized –setTitle – for menu bar of window –setResizable – takes boolean to enable/disable user’s ability to resize window –setLocation – position component –setBounds – size and position component DEMO SimpleFrameTest2.java

11 Inheritance Chain JFrameFrameWindow Container JPanelJComponent Component Object

12 Panels Draw on a panel, which is added to frame –Specifically to the content pane of the frame Displays information –Draw strings –Draw graphical elements Add components into content pane (they are containers) SomeComponent c = new … Container contentPane = frame.getContentPane(); contentPane.add (c);

13 Application Code import javax.swing.*; class hello { public static void main(String[ ] args) { JFrame f = new JFrame(“title”); JPanel p = new JPanel(); JButton b = new JButton(“press me”); p.add(b); // add button to panel f.setContentPane(p); // add panel to frame f.show(); } press me

14 Subclasses Extend JPanel Override paintComponent method in that class to do graphics class MyPanel extends Jpanel { public void paintComponent (Graphics g) { //code for drawing goes here } DEMO NotHelloWorld.java

15 Painting… Never call paintComponent –Event handler notifies component to paint itself whenever needed Resizing, minimizing, overlapping windows, etc. –If you need to force repainting, call repaint instead

16 Subclasses cont. class MyPanel extends Jpanel { public void paintComponent (Graphics g) { super.paintComponent (g); //superclass does job //code for drawing goes here g.drawString (“Java is COOL!”, 75, 100); } DEMO NotHelloWorld.java


Download ppt "Java Swing One of the most important features of Java is its ability to draw graphics."

Similar presentations


Ads by Google