Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не могу прорисовывать JMenuBar 
:(
    Опции темы
Metal_Heart
Дата 22.11.2005, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а почему бы и нет?
**


Профиль
Группа: Участник
Сообщений: 728
Регистрация: 31.3.2005
Где: Москва

Репутация: 1
Всего: 12



Привет всем!!!

почему-то не могу прорисовать JMenuBar (метод CreateJMenuBar(int)) после вызова componentResized
Вопрос - почему и как это устранить, не поможете, а?


Код

public class GUI_J extends JFrame
{
 int mainSizeX=300;
 int mainSizeY=200;

 JPanel main = new JPanel();
//-----------------------------------------------------------------
public GUI_J()
{
 main.setLayout(null);
 setSize(mainSizeX,mainSizeY);
 setContentPane( main );
 main.setBackground(Color.DARK_GRAY);

 CreateJMenuBar(mainSizeX);

 addComponentListener(new ComponentAdapter()
  {
    public void componentMoved(ComponentEvent e)
     {
      //...
     }
    public void componentResized(ComponentEvent e)
     {
      mainSizeX = main.getWidth();
      main.removeAll();
      CreateJMenuBar(mainSizeX);
      repaint();
     }
  });

 setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
 setVisible(true);
}
//-----------------------------------------------------------------
  public void CreateJMenuBar(int size)
  {
    int posX =1;
    int posY =1;
    int sizeY=25;

   JPanel menuPanel = new JPanel(new GridLayout(1,1));
   menuPanel.setBounds(posX,posY,size,sizeY);
   menuPanel.setBackground(Color.GREEN);
   main.add(menuPanel);

   JMenuBar menuBar = new JMenuBar();
   menuPanel.add(menuBar);

   JMenu menu = new JMenu("J Menu Bar");
   menuBar.add(menu);

   JMenuItem menuItem1 = new JMenuItem("menuItem1");
   JMenuItem menuItem2 = new JMenuItem("menuItem2");
   menu.add(menuItem1); menu.add(menuItem2);
  }

//-----------------------------------------------------------------
public static void main(String[] s)
{
  new GUI_J();
}
//-----------------------------------------------------------------



--------------------
 не стыдно учиться, а стыдно не учиться 
PM ICQ   Вверх
kashka
Дата 22.11.2005, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 29.11.2004
Где: Wolfenbuettel, Ge rmany

Репутация: нет
Всего: 1



странно, только что твой код запустила, у меня прорисовывается.
Добавлено @ 19:23
нет прошу прощения, после изменения расмера фрейма, не прорисовывается.
Добавлено @ 19:27
Код

import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;

public class GUI_J extends JFrame
{
 int mainSizeX=300;
 int mainSizeY=200;

 JPanel main = new JPanel();
//-----------------------------------------------------------------
 public GUI_J()
{
 main.setLayout(null);
 setSize(mainSizeX,mainSizeY);
 setContentPane( main );
 main.setBackground(Color.DARK_GRAY);

 CreateJMenuBar(mainSizeX);

 addComponentListener(new ComponentAdapter()
  {
    public void componentMoved(ComponentEvent e)
     {
      //...
     }
    public void componentResized(ComponentEvent e)
     {
      mainSizeX = main.getWidth();
      main.removeAll();
      main.setLayout(null);
      setContentPane( main );
      main.setBackground(Color.DARK_GRAY);
      CreateJMenuBar(mainSizeX);
      setVisible(true);
      repaint();
     }
  });

 setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
 setVisible(true);
}
//-----------------------------------------------------------------
  public void CreateJMenuBar(int size)
  {
    int posX =1;
    int posY =1;
    int sizeY=25;

   JPanel menuPanel = new JPanel(new GridLayout(1,1));
   menuPanel.setBounds(posX,posY,size,sizeY);
   menuPanel.setBackground(Color.GREEN);
   main.add(menuPanel);

   JMenuBar menuBar = new JMenuBar();
   menuPanel.add(menuBar);

   JMenu menu = new JMenu("J Menu Bar");
   menuBar.add(menu);

   JMenuItem menuItem1 = new JMenuItem("menuItem1");
   JMenuItem menuItem2 = new JMenuItem("menuItem2");
   menu.add(menuItem1); menu.add(menuItem2);
  }

//-----------------------------------------------------------------
public static void main(String[] s)
{
  new GUI_J();
}
}


Так работает.
Добавлено @ 19:30
надо было
Код

setVisible(true);

сделать.

PM MAIL   Вверх
Metal_Heart
Дата 23.11.2005, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а почему бы и нет?
**


Профиль
Группа: Участник
Сообщений: 728
Регистрация: 31.3.2005
Где: Москва

Репутация: 1
Всего: 12



kashka, спасибо большое, вот этого то я и не догадался сделать, а не знаешь почему?

п.с.
модераторам приношу свои извинения, за то что раздел перепутал ( я не специально smile )


--------------------
 не стыдно учиться, а стыдно не учиться 
PM ICQ   Вверх
batigoal
Дата 23.11.2005, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 7
Всего: 151



Цитата(Metal_Heart @ 23.11.2005, 11:43)
модераторам приношу свои извинения, за то что раздел перепутал ( я не специально smile )

Для того мы тут и посажены smile


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.2025 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.