10.5. Processing Primitive Data Type Values as Objects

 
[Page 330 ( continued )]

9.16. (Optional GUI) Inheriting GUI Components

You learned how to create frames in the optional GUI sections in the preceding two chapters. The frames were created in the main method. A frame created in this way cannot be reused. It is better to declare a custom frame class by extending the JFrame class. To demonstrate , let us rewrite Listing 8.11, TwoButtons.java, using a custom frame class, as shown in Listing 9.12.

Listing 9.12. CustomFrame.java
 1   import   javax.swing.*; 2   import   java.awt.*; 3 4   public class    CustomFrame   extends   JFrame  { 5   public   CustomFrame() { 6  // Set FlowLayout for the frame  7 FlowLayout layout =   new   FlowLayout(); 8  setLayout(layout);  9 10  // Add two buttons to frame  11 JButton jbtOK =   new   JButton(   "OK"   ); 12 JButton jbtCancel =   new   JButton(   "Cancel"   ); 13  add(jbtOK);  14  add(jbtCancel);  15 } 16 17   public static void   main(String[] args) { 18  JFrame frame =   new   CustomFrame();  19 frame.setTitle(   "Window 1"   ); 20 frame.setSize(   200   ,   150   ); 21 frame.setLocation(   200   ,   100   ); 22 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 23 frame.setVisible(   true   ); 24 } 25 } 

The CustomFrame class extends JFrame to inherit all accessible methods from JFrame . Invoking new CustomFrame() in line 18 creates an instance of CustomFrame , which is also an instance of JFrame . The constructor of CustomFrame sets a FlowLayout for the frame in line 8 and adds two buttons in lines 13 “14. The CustomFrame class can now be reused, as shown in Listing 9.13.

Listing 9.13. UseCustomFrame.java
(This item is displayed on pages 330 - 331 in the print version)
 1   import   javax.swing.*; 2 3   public class    UseCustomFrame  { 

[Page 331]
 4   public static void   main(String[] args) { 5  JFrame frame =   new   CustomFrame();  6 frame.setTitle(   "Use CustomFrame"   ); 7 frame.setSize(   200   ,   150   ); 8 frame.setLocation(   200   ,   100   ); 9 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 10 frame.setVisible(   true   ); 11 } 12 } 

 


Introduction to Java Programming-Comprehensive Version
Introduction to Java Programming-Comprehensive Version (6th Edition)
ISBN: B000ONFLUM
EAN: N/A
Year: 2004
Pages: 503

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net