大神来:关于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类名,会提示有错误。 展开
如下图所示,想将勾选的状态写进数据库为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类名,会提示有错误。 展开
1个回答
展开全部
先让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
追问
先谢谢你,算是解决了我的问题。真的很感谢。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询