1.JCheckBox a = new JCheckBox("a", false);// 定义名字和一开始的值
a.setBounds(37, 94, 116, 21);
JCheckBox 可以使用数组 JCheckBox a[] = new JCheckBox[8];
添加进入容器
add(a);
2.事件
使用继承了 ItemListener的 类
添加监视器 a.addItemListener(this); //假设 JFrame所在的类继承 了接口
判断是否可选 a.isSelected() //默认为true
如果有多个如何区分哪个为true (自己尝试出来的方法,有点麻烦)
public void itemStateChanged(ItemEvent e) {
if(e.getSource() == a){//e.getSource() 可以用e.getItem()代替
if (a.isSelected() ==true) {
System.out.println(100);
}
}
if(e.getSource() == b){
if(b.isSelected()){
System.out.println(200);
}
}
二 JTable
1. JTable 使用比较简单 但是 表头的在普通的建立下不会显示
JTable query;
String[] title = { "", "" };
query = new JTable(info,title);//info 为要显示的字符串数组
frame.getContentPane().add(query);
以上代码不会显示表头
2 解决
String[] title = { "", "" };
JTable query;
query = new JTable(info,title);
s = new JScrollPane();
JScrollPane s;
query.setBackground(Color.LIGHT_GRAY);
frame.getContentPane().add(s);
s.setBounds(73, 49, 300, 150);
s.setViewportView(query);
能显示表头
3. 部分JTable的方法
// query.setShowVerticalLines(false);
// query.setShowHorizontalLines(false);//不显示行列的线
使用以下代码实现某一行的居中显示
DefaultTableCellRenderer tcr = new DefaultTableCellRenderer();
tcr.setHorizontalAlignment(JLabel.CENTER);
query.getColumn("状态").setCellRenderer(tcr);
query.getColumn("房间名").setCellRenderer(tcr);