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

时间:2016-12-11 15:06:30

标签: java swing jtable settext

我制作了一个程序来计算文本的字母,现在我想在表中显示结果,但我不知道,也无法找到任何方法来操纵"这些细胞! 几周前我刚刚开始编程,所以请描述给出的任何答案:)。

    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();
      } 
    } 

1 个答案:

答案 0 :(得分:1)

private JTable jTable1 = new JTable(28, 2);

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

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

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

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

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

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