Поймать Mouseevent в окне, заблокированном модальным диалогом?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Поймать Mouseevent в окне, заблокированном модальным диалогом?

Сообщение Anonymous »

У меня есть jframe, который открывает модальный jdialog. Jframe имеет довольно много кнопок, которые не могут быть использованы, когда JDialog открыт -> Следовательно, модальный jdialog. Решение, которое я нарисоваен ниже, не ловит никаких мышц на jframe. Причина сделать это в соответствии с комментарием: JDialog должен закрыть, как только пользователь щелкнет вне его!

Код: Выделить всё

listener = new AWTEventListener() {
@Override
public void eventDispatched(AWTEvent event) {
if (!event.getSource().getClass().equals(ButtonDialog.class)
&& event.getID() == 502) {
ButtonDialog.this.dispose();
}
}
};
< /code>
, а затем добавьте его, когда Jdialog открыт: < /p>
Toolkit.getDefaultToolkit().addAWTEventListener(
listener, AWTEvent.MOUSE_EVENT_MASK);
К сожалению, когда диалог модальный, за пределами этого диалога не происходит никаких событий AWT.
Я рассматривал возможность использования вместо этого GlassPane из JFrame, но это действительно кажется непрактичным. Могу ли я вообще перехватывать события в «модально заблокированном» окне? Или я на неверном пути?

Подробнее здесь: https://stackoverflow.com/questions/339 ... dal-dialog
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»