Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 21.12.2014
Сообщений: 5

Что это может быть?

01.03.2015, 18:01. Показов 693. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, в чём может быть проблема? Изучаю Swing, написал чё-то типа окошка с меню. При запуске приложения (в Eclipse) не все компоненты отображаются, причём каждый раз по разному. То все, то совсем ни одного, иногда только одно JMenu. Никаких ошибок не выдаёт. Вот типа мой код:
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
package l;
 
public class Start {
 
    public static void main(String[] args) {
        Window sw = new Window();
    }
 
}
 
package l;
 
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.BorderLayout;
 
import javax.swing.*;
 
public class Window {
   
    Window(){
        //Создаю окно
        JFrame frame = new JFrame("Привет...");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(800, 600);
        frame.setVisible(true);
        frame.setLocationRelativeTo(null);
        
        //Добавляем панели на окно
        frame.setLayout(new BorderLayout());
        
        JPanel panel1 = new JPanel();
        frame.add(panel1,BorderLayout.NORTH);
        panel1.setBackground(Color.blue);
            panel1.setLayout(new FlowLayout(3));
            
        JPanel panel2 = new JPanel();               
        frame.add(panel2,BorderLayout.SOUTH);
        panel2.setBackground(Color.blue);
        
        JPanel panel3 = new JPanel();       
        frame.add(panel3,BorderLayout.EAST);
        panel3.setBackground(Color.blue);
        
        JPanel panel4 = new JPanel();   
        frame.add(panel4,BorderLayout.WEST);
        panel4.setBackground(Color.blue);
        
            //Добавляем меню
        Menu menu = new Menu();
        panel1.add(menu.getMenu());
    }
}
 
package l;
 
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JSeparator;
 
public class Menu {
    private JMenuBar men = new JMenuBar();
    private JMenu menu[] = new JMenu[5];
    private JMenuItem mItem[] = new JMenuItem[15];
    
    Menu(){     
        menu[0] = new JMenu("Файл");
        menu[1] = new JMenu("Правка");
        menu[2] = new JMenu("Поиск");
        menu[3] = new JMenu("Пользователь");
        menu[4] = new JMenu("Поиск позиции");
        /*
        //Эти элементы пока не используются
        mItem[0] = new JMenuItem("Открыть файл");
        mItem[1] = new JMenuItem("Новый файл");
        mItem[2] = new JMenuItem("Сохранить");
        mItem[3] = new JMenuItem("Сохранить как?");
        mItem[4] = new JMenuItem("Закрыть");
        mItem[5] = new JMenuItem("Вырезать");
        mItem[6] = new JMenuItem("Вставить");
        mItem[7] = new JMenuItem("Сохранить");
        mItem[8] = new JMenuItem("Копировать");
        mItem[9] = new JMenuItem("Спец. вставка");
        mItem[10] = new JMenuItem("Добавить новую позицию");
        mItem[11] = new JMenuItem("Удалить позицию");
        mItem[12] = new JMenuItem("По названию");
        mItem[13] = new JMenuItem("По артикулам");
        mItem[13] = new JMenuItem("По размерам");
        mItem[14] = new JMenuItem("По производителям"); 
        */
        men.add(menu[0]);
        men.add(menu[1]);
        men.add(menu[2]);
        men.add(menu[3]);
        men.add(menu[4]);   
    }
    
    public JMenuBar getMenu(){
        return men;
    }
    
    public JSeparator getSeparator(){
        JSeparator sep = new JSeparator(JSeparator.HORIZONTAL);
        return sep;
    }   
}
Добавлено через 33 минуты
Что может быть проблемой, ошибка в коде (нет сообщений об этом), глюк Eclipse или JVM?
Первое наверное отпадает т.к. после перезагрузки компа 1 раз сработало правильно. Закрыл frame как обычно в Windows, а после повторного запуска опять есть frame, есть все панели, а меню нет.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.03.2015, 18:01
Ответы с готовыми решениями:

Dirty в коде: Кто может подсказать для чего это и можно ли как-то убрать это?
Добрый день. Увидел тут в используемом фреймворке переменную dirty, которая ограничивает работу методов. Кто может подсказать для чего это...

Может быть я что-то не понимаю? Подскажите, где ошибка...
Здравствуйте! Снова я, наверняка уже поднадоевший вам @asn007, со своими дибильными вопросами Проблема на этот раз такая: я пишу...

Java2 может ли целое число быть представлено каким-либо произведением цифр, входящих в это число
Разбираю задачу..... Есть код, но некоторые моменты мне не понятны...... Определить функцию для проверки может ли целое число быть...

3
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
01.03.2015, 18:31
может быть потому что frame.setVisible надо делать после добавления компонентов в окно?
1
0 / 0 / 0
Регистрация: 21.12.2014
Сообщений: 5
01.03.2015, 18:38  [ТС]
Точно, спасибо уважаемый! Вроде заработало. Но тогда у меня вопрос, почему тогда иногда работало правильно?
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
01.03.2015, 19:24
Мне кажется это связано как-то с потоками и событиями в свинге. Я больше интуитивно понимаю, внимательно читать буду если припечет.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.03.2015, 19:24
Помогаю со студенческими работами здесь

Скрипт слайдера slick не работает. "Cannot read property 'add' of null." Что может быть?
Здравствуйте! Переносила сайт и перестал работать слайдер, не могу понять почему, вроде все скрипты подключила. Помогите, пожалуйста...

Что это может быть? или как это называется? Меня взломали!
Доброго дня всем, мне по майл.ру.агент отправили сообщением так: Витя Гасай (08.03.2011 23:29) 92.47.43.117:31338/query работает?! ( я...

Что это может быть?
Здравствуйте. Платка с контроллером stm32f103t8 Подключается через SWD (J-Link) Вот код программы, которая заливается внутрь. ...

Что это может быть!?
Доброго времени суток. Проблема заключается в следуещем: Собрал компьютер, все работало. Изначально стояла видеокарта GF mx440 64mb....

Что это может быть?
Никогда со времён начала существования сайта (около двух лет) не было такого всплеска трафа с каталогов. Около ста пятидесяти, только...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru