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");
}
});
사람들이 "SwingUtilities.invokeLater"호출
가 다른 클래스에 있습니다.
2 개의 다른 ActionListens가 동시에 호출되는 이유는 무엇입니까? 디자인 문제 같은데. 다중 편집 (또는 무엇이든)을 수행하는 단일 ActionListener가 있어야합니다. 그런 다음 각 편집을 개별적으로 호출하고 표시 대화 상자를 개별적으로 표시 할 수 있습니다. – camickr