//ComboBoxExample.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class ComboBoxExample
{
public static void main(String[] args)
{
ComboBoxFrame frame = new ComboBoxFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}
class ComboBoxFrame extends JFrame
{
public ComboBoxFrame()
{
setTitle("ComboBoxExample");
setSize(WIDTH, HEIGHT);
Container contentPane = getContentPane();
//建立容纳组合框的面板
jobsPanel = new JPanel();
//新建组合框
jobsBox = new JComboBox();
jobsBox.setEditable(true);;
jobsBox.addItem("job1");
jobsBox.addItem("job2");
jobsBox.addItem("job3");
jobsBox.addItem("job4");
jobsBox.addItem("job5");
jobsBox.addItem("job6");
//增加事件监听器
jobsBox.addActionListener(new jobsListener());
jobsPanel.add(choiceLabel);
jobsPanel.add(jobsBox);
//建立容纳文本域的面板
JPanel textPanel = new JPanel();
//新建文本域
myTextField = new JTextField("", 15);
textPanel.add(choosedLabel, BorderLayout.NORTH);
textPanel.add(myTextField, BorderLayout.CENTER);
contentPane.add(jobsPanel, BorderLayout.NORTH);
contentPane.add(textPanel, BorderLayout.CENTER);
}
//事件监听器
private class jobsListener
implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
StringBuffer tempSeletedText = new StringBuffer("");
Object selectedJob = jobsBox.getSelectedItem();
String str = (String)selectedJob;
tempSeletedText.append(str);
myTextField.setText(tempSeletedText.toString());
}
}
public static final int WIDTH = 300;
public static final int HEIGHT = 150;
public static final JLabel choosedLabel=new JLabel("Job has been choosed:");
public static final JLabel choiceLabel=new JLabel("Job will be choosed:");
private JTextField myTextField;
private JComboBox jobsBox;
private JPanel jobsPanel;
}