日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java jtable defaulttablemodel_java – JTable和DefaultTableModel

發布時間:2023/12/4 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java jtable defaulttablemodel_java – JTable和DefaultTableModel 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我有一個表從我的本地MySQL服務器獲取信息.它很好地讀取數據并將其發布在GUI上.

我的問題是,當我更改table命令時,如何刷新表格,例如:

private String sql = "select * from profildb.tbl_detailed"; //to

private String sql = "select * from profildb.tbl_detailed where Y.."; //this

此操作將在我的Button Action Listener中處理;

JButton btnOK = new JButton("");

btnOK.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

if( (tfBirinci.getText().isEmpty() || tfBirinci.getText() == null) && (tfIkinci.getText().isEmpty() || tfIkinci.getText() == null ))

{

taLog.setText("Database alani bos birakilamaz...\n");

}

else if ( (!(tfBirinci.getText().isEmpty() )) && (tfIkinci.getText().isEmpty() || tfIkinci.getText() == null ) )

{

sql = ("SELECT * FROM " + tfBirinci.getText());

taLog.setText("Komut elde edildi : " + sql + "\n");

System.out.println("aaaa " + tfBirinci.getText());

//anaFrame.dispose();

//databaseHistoryCalistir(); doesnt work

}

else if ( ( !(tfBirinci.getText().isEmpty() ) && !(tfBirinci.getText() == null) ) && ( !(tfIkinci.getText().isEmpty() ) && !(tfBirinci.getText() == null) ) )

{

sql = ("SELECT * FROM " + tfBirinci.getText() + " WHERE " + tfIkinci.getText());

taLog.setText("Komut elde edildi : " + sql + "\n" );

System.out.println("bbbb " + tfBirinci.getText());

//anaFrame.dispose();

//databaseHistoryCalistir(); doesnt work

}else

taLog.setText("Lütfen Database alanini doldurunuz, aksi taktirde komut elde edilemez...\n");

}

});

那么,當我更改字符串的語句時,我需要實現什么才能更新表?

提前致謝. (給出一個關于DefaultTableModel的例子會很棒)

解決方法:

2)使用ResultsetTableModel之一

3)從Runnable #Thread調用SQL語句,但輸出到XxxTableModel必須在invokeLater內部,更多在Concurency in Swing中關于事件調度線程(EDT)

4)從SwingWorker調用SQL語句,然后從progress(),publish()或done()輸出應該在EDT上

5)DefaultTableModel不需要覆蓋方法fireXxxTableXxx,所有這些都正確實現

6)來自數據庫(ResultsetTableModel)和Runnable #Thread(SwingWorker)的邏輯表之間的區別是

>數據庫表(ResultsetTableModel)調用EDT上的所有更新,然后GUI等待所有事件完成,從數據庫加載數據期間GUI不負責任或凍結

> Runnable #Thread(SwingWorker)所有更新都來自backgourng任務,GUI可用于鼠標和鍵盤事件,

標簽:java,mysql,swing,jtable,defaulttablemodel

來源: https://codeday.me/bug/20190630/1332781.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的java jtable defaulttablemodel_java – JTable和DefaultTableModel的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。