Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
 Аватар для Dimedrol
2378 / 941 / 129
Регистрация: 25.04.2009
Сообщений: 2,635
Записей в блоге: 4

JMenuBar, ActionListener

04.05.2011, 12:50. Показов 1811. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. На меня Java ругается.
Написал такой код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
JMenu actionProgramme = new JMenu("Программа");
        JMenuItem ProgrammeExit = new JMenuItem("Выйти");
        ProgrammeExit.addActionListener(
                new ActionListener() {
                    public void actionPerformed(ActionEvent e) {
                        int otvet = JOptionPane.showConfirmDialog(null, "Выйти?",null, JOptionPane.QUESTION_MESSAGE);
                        if(otvet == 0){
                            System.exit(0);
                        }
                    }
                }
        );
        actionProgramme.add(ProgrammeExit);
        menuBar.add(actionProgramme);
Говорит, что ошибка тут:
Java
1
int otvet = JOptionPane.showConfirmDialog(null, "Выйти?",null, JOptionPane.QUESTION_MESSAGE
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.05.2011, 12:50
Ответы с готовыми решениями:

JMenuBar первый раз
Здравствуйте форумчане,я первый раз сталкиваюсь с JMenuBar. Я создал меню с подменюшками,но встал вопрос как добавить слушателя. ...

ActionListener
Имеется кнопка в одном классе и текстовое поле - в другом. Требуется по нажатию кнопки изменить текст в этом текстовом поле.. Что-то ничего...

ActionListener!
Всем привет. Я уже относительно давно занимаюсь Java. И у меня возникла проблема с окнами в java. Например эта: Reader.java import...

6
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
04.05.2011, 13:48
Мы тоже будем ругаться. Какая именно ошибка - мы должны догадаться сами?
0
 Аватар для Dimedrol
2378 / 941 / 129
Регистрация: 25.04.2009
Сообщений: 2,635
Записей в блоге: 4
04.05.2011, 15:22  [ТС]
Ошибки

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: JOptionPane: option type must be one of JOptionPane.DEFAULT_OPTION, JOptionPane.YES_NO_OPTION, JOptionPane.YES_NO_CANCEL_OPTION or JOptionPane.OK_CANCEL_OPTION
    at javax.swing.JOptionPane.setOptionType(Unknown Source)
    at javax.swing.JOptionPane.<init>(Unknown Source)
    at javax.swing.JOptionPane.showOptionDialog(Unknown Source)
    at javax.swing.JOptionPane.showConfirmDialog(Unknown Source)
    at javax.swing.JOptionPane.showConfirmDialog(Unknown Source)
    at javax.swing.JOptionPane.showConfirmDialog(Unknown Source)
    at Windows$1.actionPerformed(Windows.java:55)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.AbstractButton.doClick(Unknown Source)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$000(Unknown Source)
    at java.awt.EventQueue$1.run(Unknown Source)
    at java.awt.EventQueue$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$2.run(Unknown Source)
    at java.awt.EventQueue$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
04.05.2011, 18:17
Цитата Сообщение от Dimedrol Посмотреть сообщение
Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: JOptionPane: option type must be one of JOptionPane.DEFAULT_OPTION, JOptionPane.YES_NO_OPTION, JOptionPane.YES_NO_CANCEL_OPTION or JOptionPane.OK_CANCEL_OPTION
Перевожу на русский. Дорого.

Исключение в потоке "AWT-EventQueue-0" java.lang.RuntimeException: JOptionPane: option type должен быть одним из JOptionPane.DEFAULT_OPTION, JOptionPane.YES_NO_OPTION, JOptionPane.YES_NO_CANCEL_OPTION или JOptionPane.OK_CANCEL_OPTION
Вопрос на засыпку. Какой тип указан у Вас?
0
 Аватар для Dimedrol
2378 / 941 / 129
Регистрация: 25.04.2009
Сообщений: 2,635
Записей в блоге: 4
04.05.2011, 18:39  [ТС]
Вот весь код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
 
public class Dimonium {
    public static void main(String[] args) {
        F1Frame MainWondow = new F1Frame();
        MainWondow.setVisible(true);
    }
}
 
class F1Frame extends JFrame{
    public MainPanel panel;
    public F1Frame(){
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Toolkit tol = Toolkit.getDefaultToolkit();
        Dimension screenSize = tol.getScreenSize();
        int WindowWith = 250;
        int WindowHeight = 350;
        int x1 = (screenSize.width - WindowWith)/2;
        int y1 = (screenSize.height - WindowHeight)/2;
        setTitle("Dimonium v 0.1 beta");
        setBounds(x1, y1, WindowWith,WindowHeight);
        
        
        panel = new MainPanel();
        panel.setLayout(new FlowLayout(FlowLayout.LEFT));
        Container pane = getContentPane();
        pane.add(panel);
        
        
        
        JMenuBar menuBar = new JMenuBar();
        JMenu actionProgramme = new JMenu("Программа");
        menuBar.add(actionProgramme);
        JMenuItem ProgrammeExit = new JMenuItem("Выход");
        ProgrammeExit.addActionListener(
                new ActionListener("Выход") {
                                public void actionPerformed(ActionEvent e) {
                                        int otvet = JOptionPane.showConfirmDialog(null, "Выйти?",null, JOptionPane.QUESTION_MESSAGE);
                                        if(otvet == 0)
                                                System.exit(0);
                                        
                                }
                        }
        );
        actionProgramme.add(ProgrammeExit);
        
    }
}
class MainPanel extends JPanel{
    public void paintComponent(Graphics g){
        super.paintComponent(g);
    }
}
0
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
05.05.2011, 09:43
Даю наводку

Не по теме:

Всегда считал автобоксинг плохой идеей.

0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
05.05.2011, 11:21
Господи, да зачем нам весь код??? У Вас же даже в приведенном фрагменте присутствует всё что надо! optionType - четвертый параметр вызова showConfirmDialog. У Вас там стоит JOptionPane.QUESTION_MESSAGE. А должно быть, как я уже перевел, одно значение из JOptionPane.DEFAULT_OPTION, JOptionPane.YES_NO_OPTION, JOptionPane.YES_NO_CANCEL_OPTION или JOptionPane.OK_CANCEL_OPTION.

Если Вы хотите указывать еще и тип вопроса - Вам нужен другой вариант showConfirmDialog:

Java
1
JOptionPane.showConfirmDialog(null, "Вы действительно хотите выйти?","Подтверждение", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.05.2011, 11:21
Помогаю со студенческими работами здесь

ActionListener
С утра ищу, как написать обработчик событий для кнопки в java наткнулся на...

ActionListener
Добрый день. Недавно занялся самостоятельным изучением Java. Прошу строго не судить, что создал новую тему. Не поможете с...

Меню и ActionListener
Здравствуйте. Интересует какой способ создания меню более приемлемый: один ActionListern на все JMenuItem, а в actionPreformed определять,...

JFrame и ActionListener
Добрый день, хочу сделать небольшую анимацию, но получается что-то довольно глупое. Причем делал уже схожее вещи, и потеряв старый проект...

Доступ в ActionListener
btnNewButton_1.addActionListener(new ActionListener() { int y = jb.size(); public void...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru