图形用户界面的设计与实现ComboBoxExample

来源:互联网 发布:思乐数据技术有限公司 编辑:程序博客网 时间:2024/06/06 15:39

//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;
}

原创粉丝点击