一个监听事件的问题··谢谢···
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class T
{
public static void main(String[] args)
{
Object[][] cells = {
{Boolean.FALSE, "测试1",""},
{Boolean.FALSE, "测试2",""},
{Boolean.FALSE, "测试3",""},
{Boolean.FALSE, "测试4",""},
{Boolean.FALSE, "测试5",""},};
String[] columnNames = {"选择", "标题","",""};
DefaultTableModel model = new DefaultTableModel(cells, columnNames) {
public Class getColumnClass(int columnIndex)
{
return columnIndex == 0 ? Boolean.class : String.class;
}
};
JTable table = new JTable(model);
JScrollPane sp = new JScrollPane(table);
JFrame f = new JFrame();
f.getContentPane().add(sp, BorderLayout.CENTER);
f.pack();
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
上面用的是复选框··请问我当抚复选框被选择时我应该如何获得这个事件··并得到用户选择时的值····
谢谢···
有详细代码最好··谢谢······
------解决方案--------------------
这种问题LZ参阅JDK即可获得答案。
Java code
//: CheckBox1.java
// Using check boxes
import java.awt.*;
import java.applet.*;
public class CheckBox1 extends Applet {
TextArea t = new TextArea(6, 20);
Checkbox cb1 = new Checkbox("Check Box 1");
Checkbox cb2 = new Checkbox("Check Box 2");
Checkbox cb3 = new Checkbox("Check Box 3");
public void init() {
add(t); add(cb1); add(cb2); add(cb3);
}
public boolean action (Event evt, Object arg) {
if(evt.target.equals(cb1))
trace("1", cb1.getState());
else if(evt.target.equals(cb2))
trace("2", cb2.getState());
else if(evt.target.equals(cb3))
trace("3", cb3.getState());
else
return super.action(evt, arg);
return true;
}
void trace(String b, boolean state) {
if(state)
t.appendText("Box " + b + " Set\n");
else
t.appendText("Box " + b + " Cleared\n");
}
} //trace()方法将选中的复选框名和当前状态用appendText()发送到文字区域中去,所以我们看到一个累积的被选中的复选框和它们的状态的列表。