![](/img/trans.png)
[英]Application (JBoss + Hibernate + Infinispan) performance degrades on the same data
[英]JOptionPane degrades application performance?
我正在檢查以下條件並顯示對話框
if(query.contains(tab))
{
JOptionPane.showMessageDialog(null,"Owner does not have privileges to access given table");
}
我想要在顯示對話框且條件為true的情況下繼續執行,該怎么辦呢?
JOptionPane是否會降低應用程序性能? 因為我的應用程序需要很多時間才能顯示對話框。
編輯:
for(int i=0; i<ia.length; i++)
{
tab= ia[i].toString();
if(query.contains(tab))
{
JOptionPane.showMessageDialog(null,"Owner does not have privileges to access given table");
break;
}
}
//rest code
根據您對@Robin答案的評論:
它會一直停止,直到用戶放置對話框為止,但是即使關閉對話框,我也想停止進一步的執行,即我想停止執行if塊之后的任務。
請查看編輯后的帖子。我想阻止其余代碼部分,如何將其添加到其他代碼中?
在這種情況下,您可以執行以下操作:標記以決定是否執行其余代碼。 就像是:
boolean executeCode = true; // boolean flag to decide
for(int i=0; i<ia.length; i++) {
tab= ia[i].toString();
if(query.contains(tab)) {
JOptionPane.showMessageDialog(null,
"Owner does not have privileges to access given table");
executeCode= false; // do not want to execute the rest of code
break;
}
}
if (executeCode) {
//rest code
}
我不確定自己是否已經很好地理解了您的問題,但是我根據您對以上評論的理解發布了此答案,並且在評論中也很難解釋。 如果我錯了或沒有正確理解,請通知我。
如JOptionPane
類的javadoc類中所述:
所有對話框都是模態的。 每個showXxxDialog方法都會阻止調用者,直到用戶的交互完成為止。
因此,進一步的執行將自動在那里停止,直到用戶處理該對話框為止。
而且我從未遇到任何顯示JOptionPane
性能問題。 您如何確定它會降低性能?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.