「javatable行」jtable设置行数
本篇文章给大家谈谈javatable行,以及jtable设置行数对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java中怎么删除或者修改JTable指定的一行内容?
- 2、java JTable中如何添加一行数据?
- 3、java swt 怎样选中table中某一行 ,然后进行修改?
- 4、JAVA 里Jtable隐藏行方法
- 5、java 怎样获得jtable中的选中行中的数据
- 6、java中JTable怎么设置选中表格的其中一行,通过java语言进行选中
java中怎么删除或者修改JTable指定的一行内容?
jtable修改内容可以通过defaulttablemodel来修改的,以下是defaulttablemodel的简单用法
int col = jTable1.getSelectedColumn();//获取选中的列号
int row = jTable1.getSelectedRow();//获取选中的行号
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();//获取defaulttablemodel
Object val = model.getValueAt(row, col);//根据行号和列号,获取某个单元格的值
//其他
model.removeRow(index);//删除某行
model.setValueAt(value, row, col);//修改某单元格的值
更多defaulttablemodel用法,可以去查API文档
java JTable中如何添加一行数据?
可以使用Swing的DefaultTableModel类。
DefaultTableModel model = new DefaultTableModel(); // 新建一个默认数据模型
JTablt table = new JTable(model); // 用数据模型创建JTable,JTable会自动监听到数据模型中的数据改变并显示出来
JScrollPane jsp = new JScrollPane(table); // 用列表创建可滚动的Panel,把这个Panel添加到窗口中
Vector row = new Vector(); // 数据行向量,使用它的add()添加元素,比如整数、String、Object等,有几行就new几个行向量
Vector data = new Vector(); // 数据行向量集,因为列表不止一行,往里面添加数据行向量,添加方法add(row)
Vector names = new Vector();// 列名向量,使用它的add()方法添加列名
model.setDataVector(Vector data, Vector names); // 设置模型中的元素,它会自动显示在列表中
java swt 怎样选中table中某一行 ,然后进行修改?
package testpackage1;
import java.awt.*;
import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.DefaultTableModel;
import java.awt.event.*;
public class demo extends JFrame implements ActionListener {
JButton jb1, jb2, jb3, jb4, jb5;
JPanel jp1, jp2, jp3, jp4;
JLabel jtf1, jtf2, jtf3, jtf4, jtf5;
JComboBox jc;
JList jlist;
String item1[] = { "软件1207班", "软件1208班" };
String item2[] = { "第一个", "第二个", "第三个", "第四个" };
JScrollPane jsc;
String columnNames[] = { "学号", "姓名", "性别", "班级" };
DefaultTableModel dtm;
JTable table;
JTextField jt1, jt2, jt3, jt4;
DefaultTableModel dft;
public demo(String s) {
setTitle(s);
jp1 = new JPanel();
jp2 = new JPanel();
jp3 = new JPanel();
jp4 = new JPanel();
jb1 = new JButton("增加");
jb2 = new JButton("删除");
jb3 = new JButton("修改");
jb4 = new JButton("清空");
jb5 = new JButton("查询");
jtf1 = new JLabel("学号");
jtf2 = new JLabel("姓名");
jtf3 = new JLabel("年龄");
jtf4 = new JLabel("班级");
table = new JTable();
dtm = new DefaultTableModel(columnNames, 0);
dft = new DefaultTableModel();
jsc = new JScrollPane();
jc = new JComboBox(item1);
}
public void first() {
jb1.addActionListener(this);
jb2.addActionListener(this);
jb3.addActionListener(this);
jb4.addActionListener(this);
jb5.addActionListener(this);
jp4.setLayout(new GridLayout(3, 1));
jp1.setLayout(new FlowLayout());
jp2.setLayout(new FlowLayout());
jp3.setLayout(new FlowLayout());
this.setLayout(new FlowLayout());
jt1 = new JTextField(10);
jt2 = new JTextField(10);
jt3 = new JTextField(10);
jt4 = new JTextField(10);
this.setLayout(new FlowLayout());
jp1.add(jtf1);
jp1.add(jt1);
jp1.add(jtf2);
jp1.add(jt2);
jp2.add(jtf3);
jp2.add(jt3);
jp2.add(jtf4);
jp2.add(jc);
jp3.add(jb1);
jp3.add(jb2);
jp3.add(jb3);
jp3.add(jb4);
jp3.add(jb5);
jp4.add(jp1);
jp4.add(jp2);
jp4.add(jp3);
this.add(jp4);
table.setModel(dtm);
jsc.getViewport().add(table);
this.add(jsc);
// 窗口大小
this.setSize(480, 600);
// 窗口是否可见
this.setVisible(true);
// 居中窗口
Dimension scr = Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation((scr.width - this.getWidth()) / 2, (scr.height - this
.getHeight()) / 2);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
demo w = new demo("窗口实验");
w.first();
}
public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(jb1)) {
String stri = "";
if (jc.getSelectedItem().toString().equals("软件1207班")) {
stri = "软件1207班";
} else if (jc.getSelectedItem().toString().equals("软件1208班")) {
stri = "软件1208班";
}
String str[] = { jt1.getText(), jt2.getText(), jt3.getText(), stri };
dtm.addRow(str);
} else if (e.getSource().equals(jb2)) {
int index = table.getSelectedRow();
dtm.removeRow(index);
} else if (e.getSource().equals(jb3)) {
int index = table.getSelectedRow();
int ii = table.getSelectedColumn();
String st="";
if (ii == 0) {
st = jt1.getText();
} else if (ii == 1) {
st = jt2.getText();
} else if (ii == 2) {
st = jt3.getText();
} else if (ii == 3) {
if (jc.getSelectedItem().toString().equals("软件1207班")) {
st = "软件1207班";
} else if (jc.getSelectedItem().toString().equals("软件1208班")) {
st = "软件1208班";
}
}
if (index = 0) {
dtm.setValueAt(st, index, ii);
}
} else if (e.getSource().equals(jb4)) {
int i = table.getRowCount();
for (i = i - 1; i = 0; i--) {
dtm.removeRow(i);
}
} else if (e.getSource().equals(jb5)) {
}//else if(table.getSelectedRow();){}
}
}
JAVA 里Jtable隐藏行方法
你好,遇到这种问题,我的解决办法是继承AbstractTableModel写一个属于自己的tablemodel,在自己的tablemodel里面加入 (T是你在model里面需要显示的数据的类型)
public ListT getTableData(){
return data;
}
public void setTableData(ListT data){
this.data = data;
this.fireTableDataChanged();
}
这两个方法,在控制类里加入
public void updateTableData(ListT data){
model.setTableData(data);
table.updateUI();
}
方法,控制类里面保存了后台的所有数据,当需要显示某些数据时,将要显示的数据传入updateTableData()方法就行了,要获得所有的数据,也可以直接通过后台类的
public ListT getData() {
return data;
}方法
如果说的不清楚的地方可以继续问,望采纳
java 怎样获得jtable中的选中行中的数据
首先假设两个JTable,他们为table1与table2
假设从table1取值放到table2中
1、获得table1的选中行
int
index
=
table1.getSelectedRow();
2、获得table1中列的个数
int
column
=
table1.getColumnCount();
3、取出表格中index行中的值,用集合保存!
(1)创建一个保存的集合VectorVectorObject
vector
=
VectorVectorObject();
(2)
再创建一个集合,用于加入到第一个集合
VectorObject
object
=
VectorObject();
(3)
将index行的所有数据取出放入第二个集合中
for(int
n=
0;
n
column;
n
++){
object.add(table1.getVauleAt(index,n));
}
(4)将第二集合中的数据加入到第一个集合中:
vector.add(object);
4、创建table2的列名,并用一个集合表示,!
(1)创建一个集合,用于创建列名VectorObject
object1
=
new
VectorObject();
(2)
为列名赋值,,,,在这里就省略了,具体的名视情况而定!
5、将取出的值加入到table2中:
(1)取得table2的模板DefaultTableModel
model
=
(DefaultTableModel)table2.getModel();
(2)为模板添加内容:model.setDataVector(vector,
object1);
(3)将模板添加到table2中,
table2.setModel(model);
大功告成!
java中JTable怎么设置选中表格的其中一行,通过java语言进行选中
假设JTable table已实例化,设置选中表格中的行:
table.setRowSelectionInterval(int index0,int index1)//选择从 index0 到 index1 之间(包含两端)的行。
table.setRowSelectionInterval(0,0);//表示选中第一行
javatable行的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于jtable设置行数、javatable行的信息别忘了在本站进行查找喔。
发布于:2022-11-24,除非注明,否则均为
原创文章,转载请注明出处。