<span style="font-family:Courier New;font-size:12px;">package Test;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
public class b extends JFrame{
static b frm=new b();
static JComboBox combo;
static JTextArea ta=new JTextArea(20,40);
static JLabel be;
static String []color={"红色","蓝色","黄色"};
static JPanel p1,p2,p3;
static JButton btn1,btn2;
public static void main(String[] args){
frm.setLayout(new FlowLayout(FlowLayout.LEFT,20,20));
ta.setText("我是:");
combo =new JComboBox(color);
combo.setEditable(true);
combo.addItemListener(new MyItemListener());
combo.addActionListener(new MyActionListener());
p1=new JPanel();
be=new JLabel();
be.setText("Method:");
p1.add(be);
p1.add(combo);
btn1=new JButton("invoke");
btn2=new JButton("stop");
btn1.setSize(20, 10);
p1.add(btn1);
p1.add(btn2);
frm.add(p1);
// p1.setBounds(10, 10, 400, 40);
frm.setBounds(100, 100, 400, 500);
p2=new JPanel();
p2.add(ta);
p2.setBackground(Color.PINK);
p2.setSize(100, 100);
frm.add(p2);
frm.setSize(600, 600);
frm.setResizable(false);
frm.setBackground(Color.black);
frm.setVisible(true);
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
static class MyItemListener implements ItemListener{
@Override
public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
JComboBox cb=(JComboBox)e.getSource();
String clr=(String)cb.getSelectedItem();
if(clr=="红色"){
ta.setBackground(Color.RED);
}else if(clr=="蓝色"){
ta.setBackground(Color.BLUE);
}else {
ta.setBackground(Color.YELLOW);
}
static class MyActionListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
JComboBox cb=(JComboBox)e.getSource();
String s=(String)cb.getSelectedItem();
ta.setText(s+"\n");
}
}
}
</span>
实现效果为: