如何在 Javaeditor jTable 中为单元格设置文本?

How can i set a text for a cell in Javaeditor jTable?

我制作了一个程序来计算文本的字母,现在我想在 table 中显示结果,但我不知道也找不到任何方法来 "manipulate" 这些单元格! 我几周前才开始编程,所以请描述给出的任何答案:) .

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.table.*;

    public class Test extends JFrame {

      private JTable jTable1 = new JTable(28, 2);
        private DefaultTableModel jTable1Model (DefaultTableModel) jTable1.getModel();
        private JScrollPane jTable1ScrollPane = new JScrollPane(jTable1);


      public Test() { 
        super();
        setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
        int frameWidth = 696; 
        int frameHeight = 680;
        setSize(frameWidth, frameHeight);
        Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
        int x = (d.width - getSize().width) / 2;
        int y = (d.height - getSize().height) / 2;
        setLocation(x, y);
        setTitle("Test");
        setResizable(true);
        Container cp = getContentPane();
        cp.setLayout(null);

        jTable1ScrollPane.setBounds(112, 136, 452, 478);
        jTable1.getColumnModel().getColumn(0).setHeaderValue("Letter");
        jTable1.getColumnModel().getColumn(1).setHeaderValue("Count");
        cp.add(jTable1ScrollPane);

        setVisible(true);
      }

      public static void main(String[] args) {
        new Test();
      } 
    } 
private JTable jTable1 = new JTable(28, 2);

您创建了一个包含 28 行和 2 列的 table。

现在您可以使用 setValueAt(...) 方法更改数据:

table.setValueAt("A", 0, 0);
table.setValueAt(5, 0, 1 );

因此您需要读取文本文件并解析数据以获得每个字母的计数。我建议您可以使用 Hashtable 来跟踪每个 letter/count。然后你可以遍历 Hashtable 来更新 JTable.

cp.setLayout(null);
jTable1ScrollPane.setBounds(112, 136, 452, 478);

不要使用空布局和随机数来显示组件。 Swing 旨在与布局管理器一起使用。