java的swing编程,Jtable的单元格如何赋值
java的swing编程,Jtable的单元格如何赋值jTable.setValueAt(45,1,1);这样写有错误。jTable是表的名字。我用的工具是netbean...
java的swing编程,Jtable的单元格如何赋值
jTable.setValueAt(45,1,1);
这样写有错误。jTable是表的名字。我用的工具是netbean,可视化编程,直接拖控件的。请问要怎么赋值 展开
jTable.setValueAt(45,1,1);
这样写有错误。jTable是表的名字。我用的工具是netbean,可视化编程,直接拖控件的。请问要怎么赋值 展开
2个回答
展开全部
不能对JTable直接进行增删改,要先获取JTable的model然后修改model再将修改后的model赋给JTable
String[] data = new String[8];//用于操作表内数据行的data数组,元素个数要与table的列的数量相一致
int numT;//表格已有数据的行数
JTable jTable=new JTable();
DefaultTableModel model = (DefaultTableModel) this.jTable.getModel();
numT = model.getRowCount();//获取当前已有行数
while (numT > 0) {//如果是全体刷新表格需要移除之前的所有数据行
model.removeRow(0);
numT--;
}
sql= "select name,number,area,price,room,acreage,fishing,mating from message";
try{
rs=stmt.executeQuery(sql);
while (rs.next()) {
data[0] = rs.getString(1).trim();
data[1] = rs.getString(2).trim();
data[2] = rs.getString(3).trim();
data[3] = rs.getString(4).trim();
data[4] = rs.getString(5).trim();
data[5] = rs.getString(6).trim();
data[6] = rs.getString(7).trim();
data[7] = rs.getString(8).trim();
model.addRow(data);
}
}catch(SQLException e){
System.err.print("Error" + e.getMessage());
}
jTable.setModel(model);//将修改后的model传回给JTable
至于JButton那些触发在事件侦听里,根据
jTable.getSelectedRow();获取已选行号
jTable.getSelectedColumn();获取已选列号
改行就光获取行号就可以了,然后读取模板,删掉该行再传回给JTable即可
在JTable创建时可以选择设置是否允许多选,不多选上面的方法已经够了
还有什么百度hi吧,这里不多说了,省的又要审核了
String[] data = new String[8];//用于操作表内数据行的data数组,元素个数要与table的列的数量相一致
int numT;//表格已有数据的行数
JTable jTable=new JTable();
DefaultTableModel model = (DefaultTableModel) this.jTable.getModel();
numT = model.getRowCount();//获取当前已有行数
while (numT > 0) {//如果是全体刷新表格需要移除之前的所有数据行
model.removeRow(0);
numT--;
}
sql= "select name,number,area,price,room,acreage,fishing,mating from message";
try{
rs=stmt.executeQuery(sql);
while (rs.next()) {
data[0] = rs.getString(1).trim();
data[1] = rs.getString(2).trim();
data[2] = rs.getString(3).trim();
data[3] = rs.getString(4).trim();
data[4] = rs.getString(5).trim();
data[5] = rs.getString(6).trim();
data[6] = rs.getString(7).trim();
data[7] = rs.getString(8).trim();
model.addRow(data);
}
}catch(SQLException e){
System.err.print("Error" + e.getMessage());
}
jTable.setModel(model);//将修改后的model传回给JTable
至于JButton那些触发在事件侦听里,根据
jTable.getSelectedRow();获取已选行号
jTable.getSelectedColumn();获取已选列号
改行就光获取行号就可以了,然后读取模板,删掉该行再传回给JTable即可
在JTable创建时可以选择设置是否允许多选,不多选上面的方法已经够了
还有什么百度hi吧,这里不多说了,省的又要审核了
追问
在百度hi里面说吧
推荐于2016-10-23 · 知道合伙人数码行家
关注
展开全部
有两个方法。
1、自定义渲染器,自己添加。(或是用JDK已有的渲染器也可以)
2、重写TableModel的getColumnClass
参考实例如下:
public class Test {
public static void main(String[] args) {
String[][] cells = new String[6][7];
String add = "1";//已经存在的变量
int addValue = Integer.parseInt(add);//需要定义的中间变量
for (int rowIndex = 0; rowIndex <= 5; rowIndex++) {
for (int columnIndex = 0; columnIndex <= 6; columnIndex++) {
cells[rowIndex][columnIndex] = String.valueOf(addValue++) ;//赋值过程
System.out.print(cells[rowIndex][columnIndex]+",");
}
System.out.println("");
}
}
}
1、自定义渲染器,自己添加。(或是用JDK已有的渲染器也可以)
2、重写TableModel的getColumnClass
参考实例如下:
public class Test {
public static void main(String[] args) {
String[][] cells = new String[6][7];
String add = "1";//已经存在的变量
int addValue = Integer.parseInt(add);//需要定义的中间变量
for (int rowIndex = 0; rowIndex <= 5; rowIndex++) {
for (int columnIndex = 0; columnIndex <= 6; columnIndex++) {
cells[rowIndex][columnIndex] = String.valueOf(addValue++) ;//赋值过程
System.out.print(cells[rowIndex][columnIndex]+",");
}
System.out.println("");
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |