首页 > 解决方案 > 为什么不能向 jtable 添加行?

问题描述

我需要一些关于添加到 jTable 的帮助。

我有 2 个 jFrame,第一个有 jTable1,第二个有 jTextfields。我想将第二帧的数据(字符串)添加到第一帧的 jTable1 中。我尝试了许多版本并观看了许多教程..但没有成功。

在我有 jTable1 的第一帧中,我有 SwingWorker,我写道:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
         jButton1.setEnabled(false);
         jButton2.setEnabled(true);
         Boolean praznaMapa = false;         
         worker = new SwingWorker<Void, String>(){
            @Override
            protected Void doInBackground() throws Exception {
 
                if(isCancelled())
                {
                    return null;
                }
                AddRowToTable(new Object[]
                {
                    PrviStolpec,DrugiStolpec,TretjiStolpec,timeStamp,
                });
}}
worker.execute();}

     public static void AddRowToTable (Object [] data)
    {
       
        DefaultTableModel tblmodel = (DefaultTableModel)jTable1.getModel();
        tblmodel.insertRow(0, data);
    }

在我有文本字段的第二帧中,我写道:

String PrviStolpec = FIRSTFRAME_Okno.withoutExtension;
String DrugiStolpec = "OK";
String TretjiStolpec = FIRSTFRAME_Okno.stSledenja;
String timeStamp = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime());
                FIRSTFRAME_Okno.AddRowToTable(new Object[]
                {
                    PrviStolpec,DrugiStolpec,TretjiStolpec,timeStamp,
                });     
                FIRSTFRAME_Okno.jTable1.setSelectionBackground(Color.green);

但是当我运行程序时,什么也没有发生。jTable1中没有错误也没有数据:(

有什么建议吗?

谢谢!

标签: javaswingjtabledefaulttablemodel

解决方案


我找到了解决方案!

这真的很愚蠢,但无论如何......

我在二等舱:

FIRSTFRAME_Okno = new FIRSTFRAME_Okno();

因为那个 jTable1 没有更新。

我使用的第二类调用的每个函数:

FIRSTFRAME_Okno.functionName();

天呐!


推荐阅读