Установите JFrame всегда сверху и отключите все JFrame за ним

У меня есть 2 кадра в моем проекте, 1 - это мой основной кадр, а 2-й - это кадр, который виден только при нажатии кнопки.

отображать jframe.class при нажатии кнопки.

вот мой код в моей кнопке действие выполнено

  private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
       jframe jf = new jframe();
          jf.setVisible(true);
          jf.setAlwaysOnTop(true);
    }  

Этот код работает, но проблема в том, что я хочу, чтобы основной кадр был отключен или не активирован, пока второй кадр виден...

я могу сделать то же самое понятие JOptionPane?

1 ответ

Решение

По сути, вы говорите о модале. Вы должны использовать JDialog и установить модальность в true, передавая JFrame в качестве аргумента:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){
    myFrame = new JFrame("Hello World");
    modal = new JDialog(myFrame, "This is a modal!", true);
    modal.setVisible(true);
    modal.setLocationRelativeTo(null); //Center the modal
}

Вы можете найти больше документации здесь:

https://docs.oracle.com/javase/tutorial/uiswing/misc/modality.html

Другие вопросы по тегам