使用Java运行SQL查询时的JTextArea刷新

时间:2018-08-11 23:27:48

标签: java multithreading swing user-interface event-dispatch-thread

我有一个TextArea对象,并且正在运行SQL查询,在SQL查询完成之前,GUI无法使用,我想同时刷新GUI。

2 个答案:

答案 0 :(得分:0)

您的SQL查询正在Event Dispatch Thread (EDT)上运行,这将阻止GUI更新自身,直到完成长时间运行的任务为止。

您需要在单独的Thread上运行查询。

一种简单的方法是使用Swing Worker

阅读有关EDT的更多信息以及使用SwingWorker的示例的有关Concurrency的Swing教程中的内容。

答案 1 :(得分:-1)

私有字符串printCommandCalled(String参数)抛出SQLException {         字符串finalResult =“”;         url = url.substring(0,15 + port.length()+ adress.length())。concat(currentDatabaseName +“?useSSL = false”);         尝试{             连接=(连接)DriverManager.getConnection(URL,用户名,密码);             语句=(Statement)connection.createStatement();             resultSet =(ResultSet)statement.executeQuery(“ SELECT * FROM” +参数+“;”);         } catch(SQLException e){         }         int i = resultSet.getMetaData()。getColumnCount();

<md-calendar class="fixed-calendar" ng-model="myDate"> 
</md-calendar>