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

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

Сообщение Anonymous »

У меня есть jframe, который открывает модальный jdialog.
jframe имеет тихое несколько кнопок, которые не должны использоваться, когда jdialog открыт -> Следовательно, модальный jdialog.
, но когда область за пределами Jdialog нажимается, JDialog должен закрыть. Решение, которое я нарисовал ниже, не ловит никаких мышц на jframe, хотя. < /P>
Теперь мне нужно выяснить, нажимал ли пользователь в окне, но за пределами JDialog.

Причина для этого в соответствии с комментарием: jdialog предполагается, что пользователь нажимает на него, чтобы получить «Br />

my best whopten while trake. Координирует за пределами моего окна в Java): < /p>
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);
< /code>
К сожалению, когда диалог является модальным, ни один из AWT-E-Events, кажется, не происходит вне этого диалога.

я вместо этого рассмотрел использование Glasspane of Jframe, но это действительно кажется нецелесообразно. Или я на совершенно неправильном треке?

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

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

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

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

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

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