⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 addressbookentryframe.java

📁 java2高级教程大学教程的配套光盘源码
💻 JAVA
字号:
// Fig. 8.37: AddressBookEntryFrame.java// A subclass of JInternalFrame customized to display and // an AddressBookEntry or set an AddressBookEntry's properties// based on the current data in the UI.package com.deitel.advjhtp1.jdbc.addressbook;// Java core packagesimport java.util.*;import java.awt.*;// Java extension packagesimport javax.swing.*;public class AddressBookEntryFrame extends JInternalFrame {      // HashMap to store JTextField references for quick access   private HashMap fields;       // current AddressBookEntry set by AddressBook application   private AddressBookEntry person;      // panels to organize GUI   private JPanel leftPanel, rightPanel;      // static integers used to determine new window positions     // for cascading windows   private static int xOffset = 0, yOffset = 0;      // static Strings that represent name of each text field.   // These are placed on JLabels and used as keys in    // HashMap fields.   private static final String FIRST_NAME = "First Name",       LAST_NAME = "Last Name", ADDRESS1 = "Address 1",       ADDRESS2 = "Address 2", CITY = "City", STATE = "State",       ZIPCODE = "Zipcode", PHONE = "Phone", EMAIL = "Email";     // construct GUI   public AddressBookEntryFrame()   {      super( "Address Book Entry", true, true );            fields = new HashMap();        leftPanel = new JPanel();      leftPanel.setLayout( new GridLayout( 9, 1, 0, 5 ) );      rightPanel = new JPanel();      rightPanel.setLayout( new GridLayout( 9, 1, 0, 5 ) );            createRow( FIRST_NAME );      createRow( LAST_NAME );      createRow( ADDRESS1 );      createRow( ADDRESS2 );      createRow( CITY );      createRow( STATE );      createRow( ZIPCODE );      createRow( PHONE );      createRow( EMAIL );            Container container = getContentPane();      container.add( leftPanel, BorderLayout.WEST );      container.add( rightPanel, BorderLayout.CENTER );           setBounds( xOffset, yOffset, 300, 300 );      xOffset = ( xOffset + 30 ) % 300;      yOffset = ( yOffset + 30 ) % 300;   }   // set AddressBookEntry then use its properties to    // place data in each JTextField   public void setAddressBookEntry( AddressBookEntry entry )   {      person = entry;            setField( FIRST_NAME, person.getFirstName() );      setField( LAST_NAME, person.getLastName() );      setField( ADDRESS1, person.getAddress1() );      setField( ADDRESS2, person.getAddress2() );      setField( CITY, person.getCity() );      setField( STATE, person.getState() );      setField( ZIPCODE, person.getZipcode() );      setField( PHONE, person.getPhoneNumber() );      setField( EMAIL, person.getEmailAddress() );   }      // store AddressBookEntry data from GUI and return    // AddressBookEntry   public AddressBookEntry getAddressBookEntry()   {      person.setFirstName( getField( FIRST_NAME ) );      person.setLastName( getField( LAST_NAME ) );      person.setAddress1( getField( ADDRESS1 ) );      person.setAddress2( getField( ADDRESS2 ) );      person.setCity( getField( CITY ) );      person.setState( getField( STATE ) );      person.setZipcode( getField( ZIPCODE ) );      person.setPhoneNumber( getField( PHONE ) );      person.setEmailAddress( getField( EMAIL ) );            return person;   }   // set text in JTextField by specifying field's   // name and value   private void setField( String fieldName, String value )   {      JTextField field =          ( JTextField ) fields.get( fieldName );            field.setText( value );   }      // get text in JTextField by specifying field's name   private String getField( String fieldName )   {      JTextField field =          ( JTextField ) fields.get( fieldName );                  return field.getText();     }      // utility method used by constructor to create one row in   // GUI containing JLabel and JTextField   private void createRow( String name )   {                  JLabel label = new JLabel( name, SwingConstants.RIGHT );      label.setBorder(          BorderFactory.createEmptyBorder( 5, 5, 5, 5 ) );      leftPanel.add( label );                JTextField field = new JTextField( 30 );      rightPanel.add( field );      fields.put( name, field );   }}  // end class AddressBookEntryFrame/************************************************************************** * (C) Copyright 2001 by Deitel & Associates, Inc. and Prentice Hall.     * * All Rights Reserved.                                                   * *                                                                        * * DISCLAIMER: The authors and publisher of this book have used their     * * best efforts in preparing the book. These efforts include the          * * development, research, and testing of the theories and programs        * * to determine their effectiveness. The authors and publisher make       * * no warranty of any kind, expressed or implied, with regard to these    * * programs or to the documentation contained in these books. The authors * * and publisher shall not be liable in any event for incidental or       * * consequential damages in connection with, or arising out of, the       * * furnishing, performance, or use of these programs.                     * *************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -