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

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

01.03.2015, 18:01. Показов 680. Ответов 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
Ответ Создать тему
Новые блоги и статьи
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru