大神来:关于JAVA窗体中table里复选框选定以及未被选定的状态写入数据库表中?重点是返回值获取我不会。

ps:复选框已添加到table里。如下图所示,想将勾选的状态写进数据库为true,未勾选状态写进为false。部分代码是网上找来的,所以重点是返回table上checkb... ps:复选框已添加到table里。
如下图所示,想将勾选的状态写进数据库为true,未勾选状态写进为false。
部分代码是网上找来的,所以重点是返回table上checkbox的是否被勾选状态的值。

代码如下:
public class Competence extends JFrame {

private JTable table;
private DefaultTableModel model;
private Button btn;
private Object[] competence={"用户","权限管理","用户管理","密码修改","合同管理"}; //权限名称
public Competence(){

initComponent();
this.setMinimumSize(new Dimension(300,300));
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

private void initComponent(){

try{
mydb ac=new mydb();
try {
ac.getConnection();
}
catch (Exception e1)
{
e1.printStackTrace();
}
String sql="select username from Users";
ResultSet RS=ac.executeQuery(sql);
ResultSet RS1=ac.executeQuery(sql);
int count=0;
while (RS.next())
{
count++;

}

Object[] username = new Object[count];
count=0;

while(RS1.next())
{

username[count]=RS1.getString("username");
count++;
}

Object[][] data=new Object[count][5];
int i,j;

for(i=0;i<count;i++)
{
data[i][0]=username[i];
}

for(i=0;i<count;i++)
{
for(j=1;j<5;j++)
{
data[i][j]=new Boolean(false);
}
}

Container content=this.getContentPane();
model=new DefaultTableModel(data,competence){
public Class<?> getColumnClass(int columnIndex) {
return getValueAt(0, columnIndex).getClass();
}

};
table=new JTable(model);
btn=new Button("确定");
content.add(table.getTableHeader(),BorderLayout.NORTH);
content.add(table);
content.add(btn,BorderLayout.SOUTH);

}
catch(SQLException e2){}

}

public static void main(String[] args) {

new Competence().setVisible(true);
}

}
以及按钮怎么加在container里面监听,btn.addActionListener(this); ?不确定,感觉有问题。
btn.addActionListener(content); content是container类名,会提示有错误。
展开
 我来答
oliverpp
2015-04-01 · TA获得超过988个赞
知道小有建树答主
回答量:686
采纳率:0%
帮助的人:651万
展开全部

先让Competence类实现接口ActionListener:

public class Competence extends JFrame implements ActionListener

然后给btn添加监听:

btn.addActionListener(this);

最后在Competence类里添加实现方法:

@Override
public void actionPerformed(ActionEvent e) {
    System.out.println(table.getModel().getValueAt(1, 2));
}

其中print的是一个取值的例子,表示第2行第3列的值,可以拿到是true还是false

追问
先谢谢你,算是解决了我的问题。真的很感谢。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式