⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 selectcomponentexp.java

📁 Java的swing的课堂练习。。 。
💻 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 + -