练手java GUI(六)

多选框与单选框的例子:

 

package gui.test08;

import java.awt.Checkbox;
import java.awt.CheckboxGroup;
import java.awt.Choice;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class TestCheckBox extends Frame {
	private Checkbox cb1 = new Checkbox("你喜欢我吗?",true);
	
	CheckboxGroup cbg = new CheckboxGroup();
	private Checkbox cb2 = new Checkbox("喜欢",true,cbg);
	private Checkbox cb3 = new Checkbox("不喜欢",false,cbg);
	
	CbItemListener cbi = new CbItemListener();
	
	Choice ch = new Choice();
	
	private class CHItemListener implements ItemListener{

		@Override
		public void itemStateChanged(ItemEvent e) {
			System.out.println(e.getItem());
		}
		
	}
	
	private class CbItemListener implements ItemListener{

		@Override
		public void itemStateChanged(ItemEvent e) {
			Checkbox cb = (Checkbox)e.getItemSelectable();
			if(cb == cb1){
				if(cb.getState()){
					System.out.println("我很高兴");
				}else{
					System.out.println("我很伤心");
				}
			}else if (cb == cb2){
				if(e.getStateChange() == ItemEvent.SELECTED){//这种方式同上cb.getState()
					System.out.println("我也喜欢你");
				}else {
					System.out.println("我也不喜欢你");
				}
			}else{
				Checkbox cbx = cbg.getSelectedCheckbox();
				if(cbx != null){
					System.out.println(cbx.getLabel());
				}
			}
		}
		
	}
	
	public TestCheckBox() {
		FlowLayout fl = new FlowLayout();
		setLayout(fl);
		add(cb1);
		add(cb2);
		add(cb3);
		
		cb1.addItemListener(cbi);
		cb2.addItemListener(cbi);
		cb3.addItemListener(cbi);

		ch.add("choice1");
		ch.add("choice2");
		ch.add("choice3");
		add(ch);
		ch.addItemListener(new CHItemListener());
		
		addWindowListener(new WindowAdapter() {

			@Override
			public void windowClosing(WindowEvent e) {
				dispose();
				System.exit(0);
			}
			
		});
	}
	
	public static void main(String[] args) {
		TestCheckBox mainFrame = new TestCheckBox();
		mainFrame.setSize(400, 400);
		mainFrame.setTitle("TestCheckBox");
		mainFrame.setVisible(true);
	}

}

 

 

一个ScrollPane的例子:

 

package gui.test09;

import java.awt.Frame;
import java.awt.ScrollPane;
import java.awt.TextArea;

public class TestPane extends Frame {
	public TestPane() {
		TextArea ta = new TextArea("sdfasdf",10,50,TextArea.SCROLLBARS_NONE);
		ScrollPane sp = new ScrollPane();
		sp.add(ta);
		add(sp);
	}
	
	public static void main(String[] args) {
		TestPane mainFrame = new TestPane();
		mainFrame.setSize(200, 200);
		mainFrame.setTitle("TestPane");
		mainFrame.setVisible(true);
	}
}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值