1
导入开发图形用户界面需要的swing包以及awt包还有事件处理,创建项目和类。我的类名caidang.
import javax.swing.*;
import java.awt.*;import java.awt.event.*;public class caidang
{
public static void main(String args[]) {
}
}
2
在类中通过创建对象来创建窗口,标签,面板,组合框并创建数组来赋值组合框;
import javax.swing.*;
import java.awt.*;import java.awt.event.*;public class caidang { JLabel s=new JLabel("请选择颜色"); JFrame g=new JFrame("菜单"); JPanel h=new JPanel(); String[] ss= {"红色","蓝色","黄色"}; JComboBox jcb=new JComboBox(ss);
public static void main(String args[]) { }
}
3
在构造方法中排列控件并设置窗口大小,可视性等属性;
import javax.swing.*;
import java.awt.*;import java.awt.event.*;public class caidang { JLabel s=new JLabel("请选择颜色"); JFrame g=new JFrame("菜单"); JPanel h=new JPanel(); String[] ss= {"红色","蓝色","黄色"}; JComboBox jcb=new JComboBox(ss); public caidang() { g.add(h); h.add(s); h.add(jcb); g.setSize(500,300); g.setVisible(true); g.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }
public static void main(String args[]) {
}
}
4
事件处理:1.导入java.awt.event包 2.在类定义时,添加对应事件接口 3.对事件源进行注册监听 4.重写事件接口中方法
import javax.swing.*;
import java.awt.*;import java.awt.event.*; /*导入事件包*/public class caidang implements ItemListener /*添加选项事件*/
{ JLabel s=new JLabel("请选择颜色"); JFrame g=new JFrame("菜单"); JPanel h=new JPanel(); String[] ss= {"红色","蓝色","黄色"}; JComboBox jcb=new JComboBox(ss); public caidang() { g.add(h); h.add(s); h.add(jcb); jcb.addItemListener(this); /*对事件源注册事件监听器*/ g.setSize(500,300); g.setVisible(true); g.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void itemStateChanged(ItemEvent e) /*重写事件中的方法*/ {
}
public static void main(String args[]) {
}
}
5
在事件方法中,利用分支语句设置面板背景颜色来实现窗口颜色变化;
import javax.swing.*;
import java.awt.*;import java.awt.event.*;public class caidang implements ItemListener{ JLabel s=new JLabel("请选择颜色"); JFrame g=new JFrame("菜单"); JPanel h=new JPanel(); String[] ss= {"红色","蓝色","黄色"}; JComboBox jcb=new JComboBox(ss); public caidang() { g.add(h); h.add(s); h.add(jcb); jcb.addItemListener(this); g.setSize(500,300); g.setVisible(true); g.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void itemStateChanged(ItemEvent e) { if(jcb.getSelectedItem().equals("红色")) { h.setBackground(Color.red); } else if(jcb.getSelectedItem().equals("蓝色")) { h.setBackground(Color.blue); } else if(jcb.getSelectedItem().equals("黄色")) { h.setBackground(Color.yellow); } } public static void main(String args[]) { } }
6
调用方法
import javax.swing.*;
import java.awt.*;import java.awt.event.*;public class caidang implements ItemListener{ JLabel s=new JLabel("请选择颜色"); JFrame g=new JFrame("菜单"); JPanel h=new JPanel(); String[] ss= {"红色","蓝色","黄色"}; JComboBox jcb=new JComboBox(ss); public caidang() { g.add(h); h.add(s); h.add(jcb); jcb.addItemListener(this); g.setSize(500,300); g.setVisible(true); g.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void itemStateChanged(ItemEvent e) { if(jcb.getSelectedItem().equals("红色")) { h.setBackground(Color.red); } else if(jcb.getSelectedItem().equals("蓝色")) { h.setBackground(Color.blue); } else if(jcb.getSelectedItem().equals("黄色")) { h.setBackground(Color.yellow); } } public static void main(String args[]) { new caidang(); } }
7
效果如图:
END