i have a problem with the jcombobox i made
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!!!
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!!!
Code:
// 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