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

📄 dukebakery.java

📁 java设计结构中著名的面包房程序例子。很容易使你的代码水平提高一块
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
	JPanel j = new JPanel();	j.setLayout(new GridLayout(4,2) );	JLabel pwheat = new JLabel( "Enter number of Wheat Loaves:" );	j.add( pwheat );      inwheat = new JTextField( 10 );	j.add( inwheat );	pwheat.setLabelFor( inwheat );	JLabel pcake  = new JLabel( "Enter number of Carrot Cakes:");	j.add( pcake);	incake = new JTextField( 10 );	j.add( incake );	pcake.setLabelFor( incake );	JLabel pnaan  = new JLabel( "Enter number of Naan Bread:" );	j.add( pnaan );	innaan = new JTextField( 10 );	j.add( innaan );	pnaan.setLabelFor( innaan );	JLabel pbagel = new JLabel( "Enter number of Bagels:" );	j.add( pbagel );      inbagel = new JTextField( 10 );	j.add( inbagel );	pbagel.setLabelFor( inbagel );	setLayout(new FlowLayout() );	add(j);   }}class AddRecord implements ActionListener {   private DataPanel screenvar;   private JTextArea msgout;   private Connection dbconn;   public AddRecord( Connection dbc, DataPanel scv,                     JTextArea msg ) {      dbconn = dbc;      screenvar = scv;      msgout = msg;   }   public void actionPerformed( ActionEvent e ) {      try {         Statement statement = dbconn.createStatement();	   //  strip out non-numerics from phone number	   String numstrg = new String();	   for (int i = 0; i < screenvar.home.getText().length(); i++) {            if ( screenvar.home.getText().charAt(i)>='0' &&	         screenvar.home.getText().charAt(i)<='9') {	            numstrg += screenvar.home.getText().substring(i,i+1);		   }	      }         if ( !screenvar.last.getText().equals( "" ) &&            !screenvar.first.getText().equals( "" ) &&		!numstrg.equals("") ) {               String query = "INSERT INTO addresses (" +                  "firstname, lastname, address, city, " +                  "state, postalcode, country, " +                  "emailaddress, homephone, faxnumber" +                  ") VALUES ('" +                  screenvar.first.getText() + "', '" +                  screenvar.last.getText()  + "', '" +                  screenvar.address.getText() + "', '" +                  screenvar.city.getText()  + "', '" +                  screenvar.state.getText() + "', '" +                  screenvar.zip.getText()   + "', '" +                  screenvar.country.getText() + "', '" +                  screenvar.email.getText() + "', '" +                  numstrg                   + "', '" +                  screenvar.fax.getText() + "')";               msgout.append( "\nSending query: " +                  dbconn.nativeSQL( query ) + "\n" );               int result = statement.executeUpdate( query );               if ( result == 1 ){                  // read just inserted record to obtain id field		      // needed to place orders			msgout.append( "\nInsertion successful\n" );		      try {		         query = "SELECT * FROM addresses WHERE homephone='" +		            numstrg + "'";		         ResultSet rs = statement.executeQuery( query );		         rs.next();		         screenvar.id.setText(String.valueOf(rs.getInt(1)));		      }		      catch ( SQLException sqlex ) {		         msgout.append( sqlex.toString() );		      }		}            else {               msgout.append( "\nInsertion failed\n" );               screenvar.first.setText( "" );               screenvar.last.setText( "" );               screenvar.address.setText( "" );               screenvar.city.setText( "" );               screenvar.state.setText( "" );               screenvar.zip.setText( "" );               screenvar.country.setText( "" );               screenvar.email.setText( "" );               screenvar.home.setText( "" );               screenvar.fax.setText( "" );            }         }         else            msgout.append( "\nEnter at least first, last, and " +               "home phone, then press Add\n" );         statement.close();      }      catch ( SQLException sqlex ) {         msgout.append( sqlex.toString() );	   screenvar.home.setText("Home phone already exists -- reenter");      }   }}class FindRecord implements ActionListener {   private DataPanel screenvar;   private JTextArea msgout;   private Connection dbconn;   public FindRecord( Connection dbc, DataPanel scv,                      JTextArea msg ) {      dbconn = dbc;      screenvar = scv;      msgout = msg;   }   public void actionPerformed( ActionEvent e ) {   try {      //  strip out non-numerics from home phone	String numstrg = new String();	for (int i = 0; i < screenvar.home.getText().length(); i++){	   if ( screenvar.home.getText().charAt(i)>='0' &&	      screenvar.home.getText().charAt(i)<='9') {		   numstrg += screenvar.home.getText().substring(i,i+1);	   }	}	if ( !numstrg.equals( "" ) ) {         Statement statement =dbconn.createStatement();         String query = "SELECT * FROM addresses " +            "WHERE homephone = '" +            numstrg               + "'";            msgout.append( "\nSending query: "   +               dbconn.nativeSQL( query ) + "\n" );            ResultSet rs = statement.executeQuery( query );            display( rs );            statement.close();         }      else         screenvar.home.setText(            "Enter home phone then press Find" );      }      catch ( SQLException sqlex ) { 	   msgout.append( sqlex.toString() + sqlex.getMessage() );	}   }   // Display results of query   public void display( ResultSet rs ) {      try {         rs.next();         int recordNumber = rs.getInt( 1 );         if ( recordNumber != 0 ) {            screenvar.id.setText( String.valueOf(recordNumber) );            screenvar.first.setText( rs.getString( 2 ) );            screenvar.last.setText( rs.getString( 3 ) );            screenvar.address.setText( rs.getString( 4 ) );            screenvar.city.setText( rs.getString( 5 ) );            screenvar.state.setText( rs.getString( 6 ) );            screenvar.zip.setText( rs.getString( 7 ) );            screenvar.country.setText( rs.getString( 8 ) );            screenvar.email.setText( rs.getString( 9 ) );            screenvar.home.setText( rs.getString( 10 ) );            screenvar.fax.setText( rs.getString( 11 ) );         }         else            msgout.append( "\nNo record found\n" );    }    catch ( SQLException sqlex ) {       msgout.append( "\n*** Phone Number Not In Database ***\n" );    }  }}class UpdateRecord implements ActionListener {   private DataPanel screenvar;   private JTextArea msgout;   private Connection dbconn;   public UpdateRecord( Connection dbc, DataPanel scv,      JTextArea msg ) {         dbconn = dbc;         screenvar = scv;         msgout = msg;   }   public void actionPerformed( ActionEvent e ) {      try {         Statement statement = dbconn.createStatement();         if ( ! screenvar.id.getText().equals( "" ) ) {	   	//  strip out non-numerics from home phone		String numstrg = new String();	   	for (int i = 0; i < screenvar.home.getText().length(); i++) {		   if ( screenvar.home.getText().charAt(i)>='0' &&		      screenvar.home.getText().charAt(i)<='9') {			   numstrg += screenvar.home.getText().substring(i,i+1);		   }	      }	      String query = "UPDATE addresses SET " +               "firstname='" + screenvar.first.getText() +               "', lastname='" + screenvar.last.getText() +               "', address='" + screenvar.address.getText() +               "', city='" + screenvar.city.getText() +               "', state='" +               screenvar.state.getText() +               "', postalcode='" + screenvar.zip.getText() +               "', country='" + screenvar.country.getText() +               "', emailaddress='" +               screenvar.email.getText() +               "', homephone='" + numstrg +               "', faxnumber='" + screenvar.fax.getText() +               "' WHERE id=" + screenvar.id.getText();               msgout.append( "\nSending query: " +                  dbconn.nativeSQL( query ) + "\n" );            int result = statement.executeUpdate( query );            if ( result == 1 )               msgout.append( "\nUpdate successful\n" );            else {               msgout.append( "\nUpdate failed\n" );               screenvar.first.setText( "" );               screenvar.last.setText( "" );               screenvar.address.setText( "" );               screenvar.city.setText( "" );               screenvar.state.setText( "" );               screenvar.zip.setText( "" );               screenvar.country.setText( "" );               screenvar.email.setText( "" );               screenvar.home.setText( "" );               screenvar.fax.setText( "" );            }    	   statement.close();         }         else            msgout.append( "\nYou may only update an " +                           "existing record. Use Find to " +                           "locate the record, then " +                           "modify the information and " +                           "press Update.\n" );      }      catch ( SQLException sqlex ) {                  msgout.append( sqlex.toString() );      }   }}class DataPanel extends JPanel {   JTextField id, first, last, address,      home, city, state, zip,      country, email, fax;   JLabel lfirst, llast, laddress,	lhome, lcity, lstate, lzip,	lcountry, lemail, lfax;   public DataPanel() {	// Label panel      JPanel labelPanel = new JPanel();      labelPanel.setLayout(         new GridLayout( 10, 1 ) );	lfirst = new JLabel( "First Name:", 0 );	labelPanel.add( lfirst); 	llast = new JLabel( "Last Name:", 0 );	labelPanel.add( llast); 	lhome = new JLabel( "Phone:", 0 );	labelPanel.add( lhome); 	laddress = new JLabel( "Address:", 0 );	labelPanel.add( laddress); 	lcity = new JLabel( "City:", 0 );	labelPanel.add( lcity); 	lstate = new JLabel( "State:", 0 );	labelPanel.add( lstate); 	lzip = new JLabel( "Zip Code:", 0 );	labelPanel.add( lzip); 	lcountry = new JLabel( "Country:", 0 );	labelPanel.add( lcountry); 	lemail = new JLabel( "Email:", 0 );	labelPanel.add( lemail); 	lfax = new JLabel( "Fax Number:", 0 );	labelPanel.add( lfax);      // TextField panel      JPanel screenvarPanel = new JPanel();      screenvarPanel.setLayout(         new GridLayout( 10, 1 ) );      id = new JTextField( 20) ;	first = new JTextField( 20 );      screenvarPanel.add( first );      last = new JTextField( 20 );      screenvarPanel.add( last ); 	home = new JTextField("Enter number-click Find", 20);	screenvarPanel.add( home );	address = new JTextField( 20 );      screenvarPanel.add( address );      city = new JTextField( 20 );      screenvarPanel.add( city );      state = new JTextField( 20 );      screenvarPanel.add( state  );      zip = new JTextField( 20 );      screenvarPanel.add( zip );      country = new JTextField( 20 );      screenvarPanel.add( country );      email = new JTextField( 20 );      screenvarPanel.add( email );      fax = new JTextField( 20 );      screenvarPanel.add( fax );	// Accessibility Section - relate labels and text fields	// for use by assistive technologies	lfirst.setLabelFor( first );	llast.setLabelFor( last );	lhome.setLabelFor( home );	laddress.setLabelFor( address );	lcity.setLabelFor( city );	lstate.setLabelFor( state );	lzip.setLabelFor( zip );	lcountry.setLabelFor( country );	lemail.setLabelFor( email );	lfax.setLabelFor( fax );      setLayout( new GridLayout( 1, 2 ) );      add( labelPanel );      add( screenvarPanel );   }}class ButtonPanel extends JPanel {   public ButtonPanel( Connection dbc, DataPanel scv,      JTextArea msg ) {      setLayout( new GridLayout( 1, 4 ) );      JButton findName = new JButton( "Find" );      findName.addActionListener( new FindRecord( dbc, scv, msg ) );      add( findName );      JButton addName = new JButton( "Add" );      addName.addActionListener( new AddRecord( dbc, scv, msg ) );      add( addName );      JButton updateName = new JButton( "Update" );      updateName.addActionListener(         new UpdateRecord( dbc, scv, msg ) );      add( updateName );      JButton clear = new JButton( "Clear" );      clear.addActionListener( new Clearscreenvar( scv ) );      add( clear );   }}class RadioButtons extends JPanel {   public RadioButtons( Connection dbc, DataPanel scv,      JTextArea msg  ) {	JRadioButton place = new JRadioButton( "Place Order", false );	DukeOrder dkord = new DukeOrder( dbc, scv, msg ); 	place.addActionListener( dkord );	add( place );	OrderHist ohist = new OrderHist( dbc, scv, msg );	JRadioButton review = new JRadioButton( "Order History", false );	review.addActionListener( ohist );	add( review );	TotalHist tothist = new TotalHist( dbc, scv, msg );     	JRadioButton stats = new JRadioButton( "Total Orders", false );	stats.addActionListener( tothist );	add( stats );	ButtonGroup radioGrp = new ButtonGroup();	radioGrp.add( place );	radioGrp.add( review );	radioGrp.add( stats );   }}class Clearscreenvar implements ActionListener {   private DataPanel screenvar;   public Clearscreenvar( DataPanel scv ) {      screenvar = scv;   }   public void actionPerformed( ActionEvent e )   {      screenvar.id.setText( "" );      screenvar.first.setText( "" );      screenvar.last.setText( "" );      screenvar.address.setText( "" );      screenvar.city.setText( "" );      screenvar.state.setText( "" );      screenvar.zip.setText( "" );      screenvar.country.setText( "" );      screenvar.email.setText( "" );      screenvar.home.setText( "" );      screenvar.fax.setText( "" );   }}

⌨️ 快捷键说明

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