2016-02-22 25 views
0

你好,我每個人都有一個java編程expectialy刷新jtable的一點問題。即時通訊使用jderby和從NetBeans使用Java實體類,並從它使用jpacontroller。我有sucess使用這種較好語法Netbeans刷新JTable如果即時通訊使用JPA和實體數據庫類

try { 
    Provinsi provinsi = new Provinsi(); 

    // Insert provinsi data into database: 
    provinsi.setProvinsi(textProvinsi.getText()); 

    EntityManagerFactory emf = Persistence.createEntityManagerFactory("MIRSUMAFRUITPU"); 
    ProvinsiJpaController provinsiJpaController = new ProvinsiJpaController(emf); 
    provinsiJpaController.create(provinsi); 

    }catch(Exception ex){ 

     JOptionPane.showMessageDialog(this, "Insert Done"); 
    } 

插入數據庫的數據,但我有問題的JTable NAVER刷新,並顯示JTable中值每次IM插入。但如果我運行我的aps所有我輸入的數據正在顯示。對我的英語不好[

+0

[JTable如何在插入刪除或更新數據後刷新表模型](http://stackoverflow.com/q/3179136/4290096) –

回答

0

我剛剛找到輕鬆刷新CRT(不更新)替換自動生成的代碼後的jTable的方法。

通過NetBeans設計器將jTable綁定到您的德比表後,您需要做的就是複製initComponents方法中自動生成的rebind代碼片段代碼。

這是我抄我updateJTable方法的例子:

private void updateJTable() { 
    departmentList = java.beans.Beans.isDesignTime() ? java.util.Collections.emptyList() : departmentQuery.getResultList(); 
    org.jdesktop.swingbinding.JTableBinding jTableBinding = org.jdesktop.swingbinding.SwingBindings.createJTableBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, departmentList, departmentT); 
    org.jdesktop.swingbinding.JTableBinding.ColumnBinding columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${id}")); 
    columnBinding.setColumnName("Id"); 
    columnBinding.setColumnClass(Long.class); 
    columnBinding.setEditable(false); 
    columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${name}")); 
    columnBinding.setColumnName("Name"); 
    columnBinding.setColumnClass(String.class); 
    bindingGroup.addBinding(jTableBinding); 
    jTableBinding.bind(); 
    jScrollPane1.setViewportView(departmentT); 
} 

同時其他人會爲我們提供一個更好的優雅的解決方案,這給你一個在飛行刷新。