在2個不同的動作偵聽器中,當滿足一些條件時將顯示一個對話框。 如果兩個動作偵聽器都需要顯示對話框,則會同時顯示2個對話框。但我希望他們一個一個地展示。使用invokeLater逐個顯示對話框
簡化的代碼:
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JOptionPane.showMessageDialog(getTopLevelAncestor(), "dialog 1");
}
});
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JOptionPane.showMessageDialog(getTopLevelAncestor(), "dialog 2");
}
});
那些2 「SwingUtilities.invokeLater」 調用是在不同的類。
爲什麼在同一時間調用2個不同的ActionListens?聽起來像是一個設計問題。你應該有一個ActionListener執行多個編輯(或其他)。然後,您可以分別調用每個編輯並單獨顯示其顯示對話框。 – camickr 2010-11-30 17:04:51