Java-如何将JTable单元格保存在我的文本变量中

问题描述

我的JFrame中有一个JTable,我想知道如何在我保存text变量时保存编辑后的单元格 单击保存按钮。我仅在按Enter键和点击保存时才编辑单元格 为什么??????这是我的代码

  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));
    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应用程序的正确位置是首先测试并运行 model (搜索Model-View-Controller)。这意味着创建一个TableModel并可以序列化为文本(无论您想这样做),并首先通过编程对模型进行全面测试。一旦模型开始工作,添加GUI就很简单:只需将您的侦听器连接到现有功能即可。