java - Java-如何在我的文本变量中保存 JTable 单元格
问题描述
我的 JFrame 中有一个 JTable,我想知道当我单击保存按钮时如何将已编辑的单元格保存在我的文本变量中。我只在按回车键+点击保存时编辑单元格为什么??????这是我的代码:
public class TableSave extends JFrame {
private JPanel contentPane;
private JTable table;
private String text;
public TableSave() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
Object [][] date =
{
{"NAME ", ""},
{"SURNAME ", ""},
{"CITY", ""},
};
String [] column = {"DESCRIPTION","DATE"};
table = new JTable(date,column);// my jtable
contentPane.add(table);
table.setBounds(10, 11, 368, 146);
table.getModel().addTableModelListener(new TableModelListener() {
public void tableChanged(TableModelEvent e) {
TableModel model = table.getModel(); // new model
Object data = model.getValueAt(0, 1);
text = (String) data;
}
});
JButton save = new JButton("SAVE"); // my button save, in i do not press enter don't save the date
save.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
text = (String) evt.toString();
text = (String) table.getValueAt(0, 1);
System.out.println(text);
System.exit(0);}
});
save.setBounds(96, 190, 89, 23);
add(save);
}}
你能帮我吗
解决方案
您对如何使用文本变量感到困惑。您正在将其设置为不同位置的所有不同事物,但仅使用保存按钮单击处理程序中的值,您也将在该处理程序中退出。
我之前已经说过,但构建 GUI 应用程序的正确起点是首先测试模型(搜索模型-视图-控制器)并使其正常工作。这意味着创建一个TableModel
可以序列化为文本的(无论如何你想这样做)并首先通过编程彻底测试模型。一旦模型开始工作,添加 GUI 就很简单:只需将您的侦听器连接到现有功能即可。
推荐阅读
- python - 有什么区别?
- html - 如何使一半的svg透明?
- html - 将文本字符串附加到现有元素 jQuery
- c++ - 表达式“void()”及其在三元条件下的有效性
- neo4j - Neo4j BatchInserter 计数失败,我该怎么办?
- gitlab-ci - 当某些文件存在时,如何使 gitlab-ci.yml 中的工作失败?
- ckeditor - 从 Word 文档粘贴时的 ckeditor 5 和字体大小
- flutter - 拖放 png 图像应该覆盖背景图像,并且能够在颤动中调整大小和旋转(照片编辑器应用程序)
- c++ - 为什么 if else 结构在 c++ 中不起作用?
- python - TypeError:PyCaret 回归中 -: 'str' 和 'int' 的不支持的操作数类型