📄 selectcomponentexp.java
字号:
/**
* @(#)SelectComponentExp.java
*
*
* @author
* @version 1.00 2007/11/10
*/
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class Win extends JFrame implements ActionListener,ItemListener {
JPanel top,bottom,left,left2;
JSplitPane split;
JCheckBox chin,glasses,hair,teeth;
JRadioButton apple,banana,pear,watermelon;
ButtonGroup fruit;
JLabel katong,shuiguo;
StringBuffer picName=new StringBuffer("geek-----.gif");
String pathName="E:/程序图片/";
ImageIcon icon;
JComboBox choice;
JRadioButton btns[]=new JRadioButton[4];
String names[]={"apple","banana","pear","watermelon"};
Win(String s) {
super(s);
top=new JPanel();
left=new JPanel();
chin=new JCheckBox("Chin");
chin.setMnemonic('C');
chin.addItemListener(this);
chin.setSelected(false);
glasses=new JCheckBox("Glasses");
glasses.setMnemonic('G');
glasses.addItemListener(this);
glasses.setSelected(false);
hair=new JCheckBox("Hair");
hair.setMnemonic('H');
hair.addItemListener(this);
hair.setSelected(false);
teeth=new JCheckBox("Teeth");
teeth.setMnemonic('T');
teeth.addItemListener(this);
teeth.setSelected(false);
left.setLayout(new GridLayout(4,1));
left.add(chin);
left.add(glasses);
left.add(hair);
left.add(teeth);
katong=new JLabel();
icon=new ImageIcon(pathName+picName.toString());
katong.setIcon(icon);
top.setLayout(new FlowLayout());
top.add(left);
top.add(katong);
bottom=new JPanel();
apple=new JRadioButton("苹果");
apple.setIcon(new ImageIcon("E:/appleIcon1.jpg"));
apple.setSelectedIcon(new ImageIcon("E:/selectedApple1.jpg"));
apple.setMnemonic('A');
apple.addActionListener(this);
apple.setActionCommand("apple");
banana=new JRadioButton("香蕉");
banana.setIcon(new ImageIcon("E:/banana1.jpg"));
banana.setSelectedIcon(new ImageIcon("E:/banana2.jpg"));
banana.setMnemonic('B');
banana.addActionListener(this);
banana.setActionCommand("banana");
pear=new JRadioButton("梨");
pear.setIcon(new ImageIcon("E:/pear1.jpg"));
pear.setSelectedIcon(new ImageIcon("E:/pear2.jpg"));
pear.setMnemonic('P');
pear.addActionListener(this);
pear.setActionCommand("pear");
watermelon=new JRadioButton("西瓜");
watermelon.setIcon(new ImageIcon("E:/watermelon1.jpg"));
watermelon.setSelectedIcon(new ImageIcon("E:/watermelon2.jpg"));
watermelon.setMnemonic('W');
watermelon.addActionListener(this);
watermelon.setActionCommand("watermelon");
fruit=new ButtonGroup();
fruit.add(apple);
fruit.add(banana);
fruit.add(pear);
fruit.add(watermelon);
btns[0]=apple;
btns[1]=banana;
btns[2]=pear;
btns[3]=watermelon;
choice=new JComboBox();
choice.addItem("苹果");
choice.addItem("香蕉");
choice.addItem("梨");
choice.addItem("西瓜");
choice.addItemListener(this);
left2=new JPanel();
left2.setLayout(new GridLayout(5,1));
left2.add(choice);
left2.add(apple);
left2.add(banana);
left2.add(pear);
left2.add(watermelon);
shuiguo=new JLabel();
bottom.setLayout(new FlowLayout());
bottom.add(left2);
bottom.add(shuiguo);
split=new JSplitPane(JSplitPane.VERTICAL_SPLIT,top,bottom);
add(split);
setSize(300,300);
setVisible(true);
validate();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void itemStateChanged(ItemEvent e) {
Object source=e.getItemSelectable();
char c='-';
int index=5;
if (source==choice) {
if (e.getStateChange()==ItemEvent.DESELECTED)
shuiguo.setIcon(null);
else {
int pos=choice.getSelectedIndex();
System.out.println("pos="+pos);
btns[pos].setSelected(true);
shuiguo.setIcon(new ImageIcon("E:/"+names[pos]+".jpg"));
validate();
}
}
else {
if (source==chin) {
c='c';
index=5;
}
else if (source==glasses) {
c='g';
index=6;
}
else if (source==hair) {
c='h';
index=7;
}
else if (source==teeth) {
c='t';
index=8;
}
if (e.getStateChange()==ItemEvent.DESELECTED)
c='-';
picName.setCharAt(index,c);
icon=new ImageIcon(pathName+picName.toString());
katong.setIcon(icon);
validate();
}
}
public void actionPerformed(ActionEvent e){
String cmd=e.getActionCommand();
System.out.println(cmd);
int i;
for ( i=0; i<4; i++) {
System.out.println(names[i]);
if ( cmd.equals(names[i]))
{choice.setSelectedIndex(i);
break;
}
}
System.out.println("i="+i);
// shuiguo.setIcon(new ImageIcon("E:/"+cmd+".jpg"));
// validate();
}
}
public class SelectComponentExp {
public static void main(String[] args) {
new Win("选择组件示例窗口");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -