📄 dukebakery.java
字号:
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 + -