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

На фрейме не отображаються компоненты с первого раза, необходимо свернуть окно. Что делать?

12.10.2012, 23:49. Показов 943. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создается класс Frame extends JFrame
Cоздается класс ProgrammFrame extends Frame
Создается объект фрейм класса ProgrammFrame, после создаются элементы JComboBox, JList, JTextArea, JMenuBar, JScrollPane.
Они помещаются на фрейм с помощью GridBagLayout, GridBagConstraints. Также использованы весовые поля для объектов класса GridBagConstraints
После запуска программы появляется фрейм но ПУСТОЙ. После сворачивания окна и развертывания обратно на нем появляются все вышеуказанные элементы как полагается.

Из-за чего это может быть?
Заранее спасибо.

Вот код, он немного загроможден лишними моментами но все же для наглядности.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public class SCBLaunch 
{
    static ProgramFrame progFrame;
    static int screenX,screenY;
    public static void main(String[] args) 
    {
        Toolkit kit = Toolkit.getDefaultToolkit();
        Dimension screenSize = kit.getScreenSize();
        screenX=screenSize.width;
        screenY=screenSize.height;
        progFrame = new ProgramFrame();
    }
}
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
class Frame extends JFrame
{
    Container pane;
    GridBagLayout layout;
    GridBagConstraints constraints;
    
    String allCategories;
    ArrayList categoriesArray;
    JLabel rc;
    JComboBox recipeCategories;
    
    String allRecipes;
    ArrayList recipeArray;
    String[] recipeArrayRegular;
    JLabel rl;
    JList recipeList;
    JScrollPane rlScroll;
    
    JLabel i;
    JTextArea ingridients;
    JScrollPane iScroll;
    
    public Frame()
    {
        int frameX = 700;
        int frameY = 500;
        setSize(frameX,frameY);
        setLocation(SCBLaunch.screenX/2-frameX/2,
                SCBLaunch.screenY/2-frameY/2);
        
        pane = getContentPane();
        layout = new GridBagLayout();
        constraints = new GridBagConstraints();
        
        try 
        {
            readListData("recipeCategories.dat");
            readListData("recipeMenu.dat");
        } 
        catch (IOException exception){}
        
        rc = new JLabel("Categories:");
        recipeCategories = new JComboBox();
        for(int i=0;i<categoriesArray.size();i++)
            recipeCategories.addItem((String) categoriesArray.get(i));
        
        rl = new JLabel("Menu:");
        recipeArrayRegular = new String[recipeArray.size()];
        for(int i=0;i<recipeArray.size();i++)
            recipeArrayRegular[i] =(String) recipeArray.get(i); 
        recipeList = new JList(recipeArrayRegular);
        rlScroll = new JScrollPane(recipeList);
        
        i = new JLabel("Ingridients:");
        ingridients = new JTextArea("");
        iScroll = new JScrollPane(ingridients);
        setVisible(true);
    }
 
    public void addOnPane(Component c,GridBagConstraints constraints,
            int x,int y,int w,int h)
    {
        constraints.gridx = x;
        constraints.gridy = y;
        constraints.gridheight = h;
        constraints.gridwidth = w;
        constraints.fill = GridBagConstraints.BOTH;
        
        pane.setLayout(layout);
        pane.add(c,constraints);
    }
    
    public void readListData(String fileName) throws IOException
    {
        InputStreamReader isr = new InputStreamReader(new 
                FileInputStream(fileName),"Cp1251");
        BufferedReader bufferedReader = new BufferedReader(isr);
        
        String s = bufferedReader.readLine();
        StringTokenizer st = new StringTokenizer(s,"|");
        int numberOfPositions = st.countTokens();
        
        if(fileName.equals("recipeCategories.dat"))
        {
            allCategories = s;
            categoriesArray = new ArrayList();
            for(int i=0;i<numberOfPositions;i++)
                categoriesArray.add(st.nextToken());
        }
        if(fileName.equals("recipeMenu.dat"))
        {
            allRecipes = s;
            recipeArray = new ArrayList();
            for(int i=0;i<numberOfPositions;i++)
                recipeArray.add(st.nextToken());
        }
    }
    
}
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
class ProgramFrame extends Frame
{
    
    
    JTextArea recipe;
    JScrollPane rScroll;
    
    public ProgramFrame()
    {
        setTitle("Stacey's COOK BOOK");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        recipe = new JTextArea("");
        recipe.setEditable(false);
        recipe.setLineWrap(true);
        rScroll = new JScrollPane(recipe);
        
        makeBar();
 
        constraints.weighty=1;
        constraints.weightx=5;
        addOnPane(rc,constraints,0,1,1,1);
        addOnPane(rl,constraints,0,3,2,1);
        addOnPane(recipeCategories,constraints,0,2,1,1);
        constraints.weighty=10;
        constraints.weightx=5;
        addOnPane(rlScroll,constraints,0,4,1,1);
        constraints.weighty=10;
        constraints.weightx=20;
        addOnPane(rScroll,constraints,1,3,1,2);
    }
    
    public void makeBar()
    {
        JMenuBar bar = new JMenuBar();
        JMenu recipe = new JMenu("Recipe");
        JMenuItem addRec = new JMenuItem("Add New Recipe");
        addRec.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent event)
                {
                    AddRecipeFrame addRecipeFrame = new AddRecipeFrame(); //это еще один  //класс на основе Frame, но это уже не важно
                }
            });
        JMenuItem deleteRec = new JMenuItem("Delete Recipe");
        JMenuItem editRec = new JMenuItem("Edit Recipe");
        recipe.add(addRec);
        recipe.add(deleteRec);
        recipe.add(editRec);
        bar.add(recipe);
        addOnPane(bar,constraints,0,0,2,1);
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.10.2012, 23:49
Ответы с готовыми решениями:

Подвисает при попытке свернуть свое окно программным нажатием мышью по значку свернуть
Windows.SetCursorPos(x,y); if mh.move=false then begin if mh.LBtn then begin if mh.down then begin...

Окно программы быстро исчезает. Что делать?
Здрасти. Написал программу, всё вроде правильно, но какое-то черное окошко быстро мелькает и всё, не успеваю даже посмотреть что там. Как...

Что нужно делать после первого запуска компьютера?
Во первых, что нужно делать после первого запуска??? (понятно, что время в биосе настроить :) ) Во вторых. Хотел узнать насчет такого: ...

2
 Аватар для Lancaster
63 / 63 / 12
Регистрация: 29.08.2012
Сообщений: 152
13.10.2012, 18:36
https://<font color="Red">удал... 5.8</font> посмотри тут, у него та же проблема
0
0 / 0 / 1
Регистрация: 03.06.2012
Сообщений: 27
13.10.2012, 19:19  [ТС]
Спасибо. Помогло. Нажал бы спасибо, но его к сожалению нет...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.10.2012, 19:19
Помогаю со студенческими работами здесь

Окно в программе открывается и закрывается очень быстро. Что делать?
при выполнении вот этого кода: ... class An_class(QtWidgets.QWidget): def __init__(self, parent=None): ...

Товарищи, необходимо написать функцию Опер (A,B,Op), но я не особо понимаю что и как делать(
Написать функцию Опер(A,B,Op), выполняющую соответствующую операцию, представленную как текстовая переменная Op над числами А и В....

Что бы вы стали делать, если вам необходимо было заработать 100 - 120 тысяч рублей за семь месяцев?
всем привет !!! скажите пожалуйста что бы вы стали делать если вам необходимо было заработать 100 - 120 тысяч рублей за семь месяцев (до...

Свернуть окно
Написал программу чисто для себя,суть заключается в &quot;разворачивание - действие - сворачивание - действие - и снова разворачивание и...

Свернуть окно
Задача: При запуске программа должна отображаться в виде иконки трее, но не должна отображаться в диспетчере задач в вкладке...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru