如何设置JTable中特定单元格的值?

吉胡

我只是想知道如何update specific cell in JTable

就像我想将cell(1,1)设置为的值一样Test Value

我的代码如下所示,但对我不起作用:

String s = "Test Value";
tableName.setValueAt((Object)s, 1, 1);
保罗·萨姆索塔

您可能正在寻找使用 DefaultTableModel#setValueAt()

DefaultTableModel model = (DefaultTableModel)tableName.getModel();

model.setValueAt(s, 1, 1);

首先,您需要使用 DefaultTableModel

 DefaultTableModel model = new DefaultTableModel(data, cols);
 JTable table = new JTable(model);

您可以运行此示例以查看

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;

public class TestTable {
    String[] cols = {"Col 1", "Col2"};
    String[][] data = {{"Hello", "World"},{"Hello", "World"}};
    DefaultTableModel model = new DefaultTableModel(data, cols);
    JTable table = new JTable(model);
    JButton button = new JButton("Set Value at 1, 1");
    JTextField text = new JTextField(20);

    public TestTable() {
        JPanel panel = new JPanel(new BorderLayout());
        panel.add(table, BorderLayout.NORTH);
        panel.add(text, BorderLayout.CENTER);
        panel.add(button, BorderLayout.SOUTH);

        button.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e) {
                String value = text.getText();
                model.setValueAt(value, 1, 1);
            }
        });

        JFrame frame = new JFrame();
        frame.add(panel);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLocationRelativeTo(null);
        frame.pack();
        frame.setVisible(true);

    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
               new TestTable();
            }
        });
    }
}

在此处输入图片说明


编辑使用产品类。

“我创建了一个具有8个字段的类Products,我要做的是使用循环将ArrayList中的数据填充到我的表中”

您要使用来动态添加行.addRow您需要从每个字段中获取每个字段Product并使其连续。然后像这样添加该行。注意:您应该使用,getters但为了简洁起见,我没有使用。

for (Product p : list) {
    String data1 = p.field1;
    int data2 = p.field2;
    int data3 = p.field3;
    int data4 = p.field4;
    int data5 = p.field5;
    int data6 = p.field6;
    int data7 = p.field7;
    int data8 = p.field8;

    Object[] row = {data1, data2, data3, data4, data5, data6, data7, data8};
    model.addRow(row);

}

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;

public class TestTable {
    String[] cols = {"Col 1", "Col 2", "Col 3", "Col 4", "Col 5", "Col 6", "COl 7", "Col 8"};
    DefaultTableModel model = new DefaultTableModel(cols, 0);
    JTable table = new JTable(model);
    JButton button = new JButton("Set Table");
    List<Product> list;

    public TestTable() {
        JPanel panel = new JPanel(new BorderLayout());
        panel.add(new JScrollPane(table), BorderLayout.CENTER);
        panel.add(button, BorderLayout.SOUTH);

        list = getOneRow();

        button.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e) {
                for (Product p : list) {
                    String data1 = p.field1;
                    int data2 = p.field2;
                    int data3 = p.field3;
                    int data4 = p.field4;
                    int data5 = p.field5;
                    int data6 = p.field6;
                    int data7 = p.field7;
                    int data8 = p.field8;

                    Object[] row = {data1, data2, data3, data4, data5, data6, data7, data8};
                    model.addRow(row);

                }
            }
        });

        JFrame frame = new JFrame();
        frame.add(panel);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }

    public List<Product> getOneRow() {
        List<Product> list = new ArrayList<>();
        list.add(new Product("Product 1", 1, 2, 3, 4, 5, 6, 7));
        list.add(new Product("Product 2", 1, 2, 3, 4, 5, 6, 7));
        list.add(new Product("Product 3", 1, 2, 3, 4, 5, 6, 7));
        list.add(new Product("Product 4", 1, 2, 3, 4, 5, 6, 7));


        return list;
    }


    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
               new TestTable();
            }
        });
    }
}

class Product {
    String field1;
    int field2;
    int field3;
    int field4;
    int field5;
    int field6;
    int field7;
    int field8;

    public Product(String s, int f2, int f3, int f4, int f5, int f6, int f7, int f8) {
        field1 = s;
        field2 = f2;
        field3 = f3;
        field4 = f4;
        field5 = f5;
        field6 = f6;
        field7 = f7;
        field8 = f8;

    }  
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

更改JTable的特定单元格中的字体颜色?

来自分类Dev

使用ComboBox更新JTable中的特定单元格

来自分类Dev

如何检查JTable中的特定单元格是否正在编辑?

来自分类Dev

在我的 UITableView 中设置特定单元格的高度

来自分类Dev

如何使用xlsx(R包)设置特定单元格的值?

来自分类Dev

JTable将单元格颜色设置为特定值

来自分类Dev

获取DataGrid中特定单元格的值

来自分类Dev

特定单元格中的BIRT结果集值

来自分类Dev

如何使用javascript设置html中特定单元格的背景颜色?

来自分类Dev

如何在C1FlexGird中设置特定单元格的样式?

来自分类Dev

如何使用p:panelGrid在特定单元格中设置styleClass

来自分类Dev

如何识别UICollectionview中的特定单元格

来自分类Dev

如何显示特定单元格中的数据?

来自分类Dev

如何识别UICollectionview中的特定单元格

来自分类Dev

如何限制特定单元格中的字符

来自分类Dev

如何更新列中的特定单元格

来自分类Dev

如何在Winform应用程序中获取datagridview的特定单元格的值

来自分类Dev

如何更改每行中特定单元格左侧的所有值

来自分类Dev

如何更改每行中特定单元格左侧的所有值

来自分类Dev

如何在Winform应用程序中获取datagridview的特定单元格的值

来自分类Dev

如何使用Selenium和python动态读取表中的特定单元格值

来自分类Dev

如果单元格值等于特定单词,如何在 Google Script 中运行函数

来自分类Dev

在 JTable 中设置单元格值时的 ArrayIndexOutOfBounds

来自分类Dev

如何查找特定单元格位置处的单元格数据值列表?

来自分类Dev

爪哇。如何使 Jtable 特定单元格不可选择?

来自分类Dev

如何清除 JTable 中选定单元格的内容?

来自分类Dev

在JTable中获取单元格值

来自分类Dev

如何获取DataGridView中两个特定单元格的值并将其存储在变量中

来自分类Dev

如何通过 Python3.7 中的 Pandas 数据框验证 Excel 工作表中的特定单元格值

Related 相关文章

  1. 1

    更改JTable的特定单元格中的字体颜色?

  2. 2

    使用ComboBox更新JTable中的特定单元格

  3. 3

    如何检查JTable中的特定单元格是否正在编辑?

  4. 4

    在我的 UITableView 中设置特定单元格的高度

  5. 5

    如何使用xlsx(R包)设置特定单元格的值?

  6. 6

    JTable将单元格颜色设置为特定值

  7. 7

    获取DataGrid中特定单元格的值

  8. 8

    特定单元格中的BIRT结果集值

  9. 9

    如何使用javascript设置html中特定单元格的背景颜色?

  10. 10

    如何在C1FlexGird中设置特定单元格的样式?

  11. 11

    如何使用p:panelGrid在特定单元格中设置styleClass

  12. 12

    如何识别UICollectionview中的特定单元格

  13. 13

    如何显示特定单元格中的数据?

  14. 14

    如何识别UICollectionview中的特定单元格

  15. 15

    如何限制特定单元格中的字符

  16. 16

    如何更新列中的特定单元格

  17. 17

    如何在Winform应用程序中获取datagridview的特定单元格的值

  18. 18

    如何更改每行中特定单元格左侧的所有值

  19. 19

    如何更改每行中特定单元格左侧的所有值

  20. 20

    如何在Winform应用程序中获取datagridview的特定单元格的值

  21. 21

    如何使用Selenium和python动态读取表中的特定单元格值

  22. 22

    如果单元格值等于特定单词,如何在 Google Script 中运行函数

  23. 23

    在 JTable 中设置单元格值时的 ArrayIndexOutOfBounds

  24. 24

    如何查找特定单元格位置处的单元格数据值列表?

  25. 25

    爪哇。如何使 Jtable 特定单元格不可选择?

  26. 26

    如何清除 JTable 中选定单元格的内容?

  27. 27

    在JTable中获取单元格值

  28. 28

    如何获取DataGridView中两个特定单元格的值并将其存储在变量中

  29. 29

    如何通过 Python3.7 中的 Pandas 数据框验证 Excel 工作表中的特定单元格值

热门标签

归档