im guessing the problems are at getSalutation() and getSuffix() but im not completely sure
i want it to print to console once when the user clicks on the option but for some reason it is printing out twice
also how do i use requestFocus() with jcombobox?
please help me out!!!
thank you!!!
Expand|Select|Wrap|Line Numbers
- // 221 Fall 2010 Homework 1
- // A simple Graphical User Interface (GUI).
- // Team 4: Yao Jiang, Guang Jian Li, Davian Gordon
- package hw1;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.*;
- public class HW1Fall2010StudentSolution extends JFrame {
- // Including this line avoids an annoying warning message.
- private static final long serialVersionUID = 1L;
- private String firstNameAsEntered = new String();
- private JTextField firstNameEntry = null;
- private String middleInitialAsEntered = new String();
- private JTextField middleInitialEntry = null;
- private String lastNameAsEntered = new String();
- private JTextField lastNameEntry = null;
- private String partNumberAsEntered = new String();
- private JTextField partNumberEntry = null;
- private String salutationAsEntered = new String();
- private String suffixAsEntered = new String();
- private String quantityAsEntered = new String();
- private JTextField quantityEntry = null;
- private String priceAsEntered = new String();
- private JTextField priceEntry = null;
- private javax.swing.JPanel jContentPane = null;
- public static void main(String[] args) {
- HW1Fall2010StudentSolution frame = new HW1Fall2010StudentSolution();
- frame.setVisible(true);
- } // end main
- // constructor
- public HW1Fall2010StudentSolution() {
- // Invoke constructor of superclass.
- super();
- initialize();
- } // end HW1StarterKit constructor
- // "this" is always a reference to the object currently executing.
- // frame, in this case.
- private void initialize() {
- this.setSize(350, 250);
- this.setContentPane(getJContentPane());
- this.setTitle("Customer Data Entry");
- }
- private JPanel getJContentPane() {
- jContentPane = new JPanel();
- // Flow layout is one of a number of layout managers.
- // We'll study layout in more detail later.
- // Flow layout: left to right until line full, then move to next line.
- jContentPane.setLayout(new java.awt.FlowLayout());
- // We now have a "pane" to hold our components.
- // We add them in the order we want them to appear: left to right,
- // and top to bottom. (Experiment until you understand.)
- jContentPane.add(makeLabel(" First Name *", 100, 20));
- jContentPane.add(getFirstNameEntry(), null);
- jContentPane.add(makeLabel(" Middle Initial", 100, 20));
- jContentPane.add(getMiddleInitialEntry(), null);
- jContentPane.add(makeLabel(" Last Name *", 100, 20));
- jContentPane.add(getLastNameEntry(), null);
- jContentPane.add(makeLabel(" Part Number *", 100, 20));
- jContentPane.add(getPartNumberEntry(), null);
- jContentPane.add(makeLabel(" Salutation *", 100, 20));
- jContentPane.add(getSalutation(), null);
- jContentPane.add(makeLabel(" Suffix *", 100, 20));
- jContentPane.add(getSuffix(), null);
- jContentPane.add(makeLabel(" Quantity *", 100, 20));
- jContentPane.add(getQuantity(), null);
- jContentPane.add(makeLabel(" Unit Price *", 100, 20));
- jContentPane.add(getPrice(), null);
- return jContentPane;
- }
- // A small "factory" to build labels
- private JLabel makeLabel(String labelName, int width, int height) {
- JLabel label = new JLabel();
- label.setText(labelName);
- label.setPreferredSize(new Dimension(width, height));
- return label;
- }
- private JTextField getFirstNameEntry() {
- firstNameEntry = new JTextField();
- firstNameEntry.setPreferredSize(new Dimension(200, 20));
- firstNameEntry.addActionListener(
- // The "new" here, as always, means that a class is being
- // instantiated. But it has no name: it's _anonymous_
- new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- firstNameAsEntered = firstNameEntry.getText().trim();
- firstNameEntry.setText(firstNameAsEntered);
- System.out.println(firstNameAsEntered);
- if (firstNameAsEntered.length() == 0)
- System.out.println("First name is required");
- middleInitialEntry.requestFocus();
- }
- });
- return firstNameEntry;
- } // end private JTextField getFirstNameEntry()
- private JTextField getMiddleInitialEntry() {
- middleInitialEntry = new JTextField();
- middleInitialEntry.setPreferredSize(new Dimension(200, 20));
- middleInitialEntry.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- middleInitialAsEntered = middleInitialEntry.getText().trim();
- middleInitialEntry.setText(middleInitialAsEntered);
- if (middleInitialAsEntered.length() != 0)
- middleInitialAsEntered = middleInitialAsEntered.substring(
- 0, 1) + '.';
- middleInitialAsEntered = middleInitialAsEntered.toUpperCase();
- middleInitialEntry.setText(middleInitialAsEntered);
- System.out.println(middleInitialAsEntered);
- lastNameEntry.requestFocus();
- }
- });
- return middleInitialEntry;
- } // end private JTextField getMiddleInitialEntry()
- private JTextField getLastNameEntry() {
- lastNameEntry = new JTextField();
- lastNameEntry.setPreferredSize(new Dimension(200, 20));
- lastNameEntry.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- lastNameAsEntered = lastNameEntry.getText().trim();
- // This deletes leading and trailing blanks in entry field, too
- lastNameEntry.setText(lastNameAsEntered);
- System.out.println(lastNameAsEntered);
- if (lastNameAsEntered.length() == 0)
- System.out.println("Last name is required");
- partNumberEntry.requestFocus();
- }
- });
- return lastNameEntry;
- } // end private JTextField getLastNameEntry()
- private JTextField getPartNumberEntry() {
- partNumberEntry = new JTextField();
- partNumberEntry.setPreferredSize(new Dimension(200, 20));
- partNumberEntry.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- partNumberAsEntered = partNumberEntry.getText().trim();
- // This deletes leading and trailing blanks in entry field, too
- partNumberEntry.setText(partNumberAsEntered);
- System.out.println(partNumberAsEntered);
- if (partNumberAsEntered.length() == 0)
- System.out.println("Part number is required");
- quantityEntry.requestFocus();
- }
- });
- return partNumberEntry;
- }
- public JComboBox getSalutation() {
- String temp[] = { "Choose one", "Mr.", "Mrs.", "Ms.", "Dr.", "Prof." };
- final JComboBox salutation = new JComboBox(temp);
- salutation.setPreferredSize(new Dimension(200, 20));
- salutation.addItemListener(new ItemListener() {
- public void itemStateChanged(ItemEvent ie) {
- salutationAsEntered = (String) salutation.getSelectedItem();
- System.out.println(salutationAsEntered);
- }
- });
- return salutation;
- }
- private JComboBox getSuffix() {
- String temp[] = { "Choose one.", "Jr.", "Sr.", "I", "II", "III", "IV",
- "V" };
- final JComboBox suffix = new JComboBox(temp);
- suffix.setPreferredSize(new Dimension(200, 20));
- suffix.addItemListener(new ItemListener() {
- public void itemStateChanged(ItemEvent ie) {
- suffixAsEntered = (String) suffix.getSelectedItem();
- System.out.println(suffixAsEntered);
- }
- });
- return suffix;
- }
- private JTextField getQuantity() {
- quantityEntry = new JTextField();
- quantityEntry.setPreferredSize(new Dimension(200, 20));
- quantityEntry.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- quantityAsEntered = quantityEntry.getText().trim();
- // This deletes leading and trailing blanks in entry field, too
- quantityEntry.setText(quantityAsEntered);
- System.out.println(quantityAsEntered);
- if (quantityAsEntered.length() == 0)
- System.out.println("Quantity is required");
- priceEntry.requestFocus();
- }
- });
- return quantityEntry;
- } // end private JTextField quantityEntry()
- private JTextField getPrice() {
- priceEntry = new JTextField();
- priceEntry.setPreferredSize(new Dimension(200, 20));
- priceEntry.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- priceAsEntered = priceEntry.getText().trim();
- // This deletes leading and trailing blanks in entry field, too
- priceEntry.setText(priceAsEntered);
- System.out.println(priceAsEntered);
- if (priceAsEntered.length() == 0)
- System.out.println("Price is required");
- }
- });
- return priceEntry;
- }// end private JTextField priceEntry()
- } // end class HW1StarterKit2010