我制作了一个程序来计算文本的字母,现在我想在表中显示结果,但我不知道,也无法找到任何方法来操纵"这些细胞! 几周前我刚刚开始编程,所以请描述给出的任何答案:)。
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();
}
}
答案 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旨在与布局管理器一起使用。