Я узнаю о потоках, и у меня проблемы с ним. Я пытаюсь сделать 2 кадра, один является основным фреймом, а другой будет показан позже после нажатия на кнопку. Я хочу остановить основной кадр, пока работает новый кадр. Можете ли вы, ребята, помочь мне с очень простым примером для этого? (И новый кадр будет закрыт после нажатия на кнопку тоже). Достаточно всего 2 кадра с кнопкой на каждом. Очень признателен!Создать новую тему для нового JFrame
-1
A
ответ
4
Вам следует избегать the use of multiple JFrame
s, вместо этого использовать modal dialogs. JOptionPane
предлагает тонну хороших, простых & гибких методов для этого.
Вот пример. Когда вы нажмете кнопку, появится диалоговое окно сверху JFrame
. Основной JFrame
больше не будет доступен для кликов, так как JOptionPane.showMessageDialog()
создает modal window.
import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class Example {
public Example() {
JFrame frame = new JFrame();
JButton button = new JButton("Click me");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
JOptionPane.showMessageDialog(frame, "I'm a dialog!");
}
});
frame.getContentPane().setLayout(new FlowLayout());
frame.getContentPane().add(button);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new Example();
}
});
}
}
Выход:
+0
Мне нравится использование gif –
Смежные вопросы
- 1. Создать новую тему - Android
- 2. Как создать новую тему
- 3. Не можете создать новую тему
- 4. как создать новую тему для SugarCRM 6.1.0
- 5. Создать новую тему GitHub iOS
- 6. Создать новую тему, пропустив параметры
- 7. Создать новую тему, сколько времени нужно?
- 8. Как создать новую тему в drupal 7
- 9. ggplot2 Создать новую тему элемент вне .elements_tree
- 10. передать JFrame в тему
- 11. . "Java.lang.OutOfMemoryError: не удалось создать новую тему родной"
- 12. Python - Не могу создать новую тему
- 13. python не может создать новую тему
- 14. Создать новую тему в классе (windows)
- 15. Создать новую тему в Async Задача
- 16. Невозможно создать новую тему в Objective - C
- 17. Как создать новую тему в Magento 2
- 18. Создать новую тему, пропуская два параметра
- 19. Как создать новую тему для Mercurial или HgWeb?
- 20. Как создать новую тему для каждого сервера в phpMyAdmin?
- 21. Создать новую тему для отправки почты Id in java
- 22. Как создать новую тему для выполнения действия <T>
- 23. Загрузка в новую тему
- 24. Отключить JFrame при открытии нового JFrame
- 25. Magento 2 игнорирует новую тему
- 26. Начать новую тему в теме:
- 27. Запустил ли Task.Delay новую тему?
- 28. нового JFrame появляется за текущий JFrame
- 29. Открытие нового JFrame изнутри actionListener
- 30. разделить экземпляр, но создать новую для каждого нового процесса
Вы должны [узнать о свинге] (http://docs.oracle.com/javase/tutorial/uiswing/). Особенно это касается [диалогов] (http://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html). – Seelenvirtuose
Я знаю о диалоговом окне, но я прошу приложение для своего приложения – NerdyGuy
И какая у вас проблема? Вы действительно ожидаете, что pepole напишет вам код? Такие вопросы полностью вне темы на SO! – Seelenvirtuose