「javatable行」jtable设置行数

博主:adminadmin 2022-11-24 01:59:08 56

本篇文章给大家谈谈javatable行,以及jtable设置行数对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

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行的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-24,除非注明,否则均为首码项目网原创文章,转载请注明出处。