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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JMenu поверх панелей. 
V
    Опции темы
jhane
Дата 19.11.2006, 08:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 13.8.2006
Где: Иерусалим

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



Как сделать так, что бы JPanel не заслоняло менюшку?

PM MAIL ICQ   Вверх
LSD
Дата 19.11.2006, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 38
Всего: 538



Код
JMenuBar menuBar = new JMenuBar();
//init menuBar
JFrame frame = new JFrame();
frame.getRootPane().setJMenuBar(menuBar);



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
jhane
Дата 19.11.2006, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 13.8.2006
Где: Иерусалим

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



Не помогло. Все равно открывается за панелью (наднижним слоем панелей, но под верхним).
PM MAIL ICQ   Вверх
powerOn
Дата 19.11.2006, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Код

public class NewJFrame extends javax.swing.JFrame {

    public NewJFrame() {
        initComponents();
    }

    private void initComponents() {
        jMenuBar1 = new javax.swing.JMenuBar();
        jMenu1 = new javax.swing.JMenu();
        jMenuItem1 = new javax.swing.JMenuItem();
        jMenuItem2 = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        jMenu1.setText("Menu");
        jMenuItem1.setText("Item");
        jMenu1.add(jMenuItem1);

        jMenuItem2.setText("Item");
        jMenu1.add(jMenuItem2);

        jMenuBar1.add(jMenu1);

        setJMenuBar(jMenuBar1);

        pack();
    }

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new NewJFrame().setVisible(true);
            }
        });
    }

    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JMenuItem jMenuItem1;
    private javax.swing.JMenuItem jMenuItem2;
}




--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
jhane
Дата 19.11.2006, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 13.8.2006
Где: Иерусалим

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



 smile  что ты хотел этим сказать?
Я построила меню:

Код

import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JMenuBar;
import javax.swing.ButtonGroup; 
import javax.swing.JRadioButtonMenuItem;
import java.awt.event.*;


public class MyMenu {
    static  JMenuBar mainMenuBar;
    private   JMenu menuFile;
    private   JMenu menuHelp; 
    private   JMenu menuProp;
    private   JMenu menuMusic;
    private   JMenu menuSound;
    private   JMenuItem menuNewGame;
    private   JMenuItem menuExit;
    private   JMenuItem silentlySound;
    private   JMenuItem loudlySound;
    private   JMenuItem silentlyMusic;
    private   JMenuItem loudlyMusic;
    private ButtonGroup buttonGroupMusic;
    private ButtonGroup buttonGroupSound;
    
    private Panel game;
    //private Panel game;
    
    //bydy posjlat' fajl s myzjkoj v progy 
    private String [] music = {"file:///F:/Java/primerj/zvyk/gong.au", "file:///F:/Java/primerj/zvyk/gong.au"}; 
    
    public MyMenu(){
        System.out.println("Menu");
        mainMenuBar = new JMenuBar(); 
        menuFile = new JMenu("File"); 
        menuFile.add("File");
        menuNewGame = new JMenuItem("New Game");
        menuFile.add(menuNewGame);
        menuFile.addSeparator();
        menuExit = new JMenuItem("Exit");
        menuFile.add(menuExit);
        menuProp =  new JMenu("Properties");
        menuProp.add("Language");
        menuMusic = new JMenu("Music");
        menuProp.add(menuMusic);
        loudlyMusic = new JRadioButtonMenuItem("Loudly");
        silentlyMusic = new JRadioButtonMenuItem("Silently"); 
        
        
        //grypiryem v odin yzel
        buttonGroupMusic = new ButtonGroup();
        buttonGroupMusic.add(loudlyMusic);
        buttonGroupMusic.add(silentlyMusic);
        
        loudlyMusic.setSelected(true);//vjbiraem "Loudly" po ymol4aniu 
        menuMusic.add(loudlyMusic);
        menuMusic.add(silentlyMusic);
        
        menuSound = new JMenu("Sound");
        menuProp.add(menuSound);
        
        loudlySound = new JRadioButtonMenuItem("Loudly");
        silentlySound = new JRadioButtonMenuItem("Silently"); 
        
        
        //grypiryem v odin yzel
        buttonGroupSound = new ButtonGroup();
        buttonGroupSound.add(loudlySound);
        buttonGroupSound.add(silentlySound);
        
        loudlySound.setSelected(true);//vjbiraem "Loudly" po ymol4aniu 
        menuSound.add(loudlySound);
        menuSound.add(silentlySound);
        
        menuHelp = new JMenu("Help");     
        menuHelp.add("Content");
        menuHelp.addSeparator();
        menuHelp.add("About");   
        
        menuNewGame.addActionListener(new ActionListener()
        {
         public void actionPerformed(ActionEvent e)
         {
          game.startGame();
         //    game.redraw(); 
         }
        });
        
        menuExit.addActionListener(new ActionListener()
        {
             public void actionPerformed(ActionEvent e)
             {
              game.checkBeforeExit();
              System.exit(0);
             }
            }); 
        
        mainMenuBar.add(menuFile);
        mainMenuBar.add(menuProp);
        mainMenuBar.add(menuHelp);  
        
        
      //  setJMenuBar(mainMenuBar);
    }
    public void setContainer(Panel game){
      this.game = game;
     }
}



а потом его подключила :
Код

getRootPane().setJMenuBar(MyMenu.mainMenuBar);


в фрейме. И как результат оно получилось между слоев фрейма.
Как бы над панелью, но под кнопкой этой панели....
PM MAIL ICQ   Вверх
powerOn
Дата 19.11.2006, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Цитата(jhane @  19.11.2006,  21:25 Найти цитируемый пост)
smile  что ты хотел этим сказать?

Вот что я хотел сказать, у тебя вопрос:

Цитата(jhane @  19.11.2006,  08:14 Найти цитируемый пост)
Как сделать так, что бы JPanel не заслоняло менюшку?


У меня постом выше ответ, то бишь код, в котором JPanel не заслоняет менюшку. 

Или я не понял вопрос.   smile  
Хочется на рабочий код посмотреть, где проблема проявляется...




--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
jhane
Дата 19.11.2006, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 13.8.2006
Где: Иерусалим

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



как прикрепить файл с картинкой?
PM MAIL ICQ   Вверх
powerOn
Дата 19.11.2006, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



среди кленовых есть кнопка ответить. Жми на неё попадешь в расширенную по функциональности форму для ответа. Там снизу есть кнопка для того что бы файл прикрепить.



--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
jhane
Дата 19.11.2006, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 13.8.2006
Где: Иерусалим

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



Это выглядит так

Присоединённый файл ( Кол-во скачиваний: 14 )
Присоединённый файл  menu.JPG 12,04 Kb
PM MAIL ICQ   Вверх
powerOn
Дата 19.11.2006, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Restart - это панель или кнопка? Какой класс у компонента? Вы часом не AWT компонент используете(эффект был бы таким же...)?


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
LSD
Дата 19.11.2006, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 38
Всего: 538



Проблема в том, что компоненты AWT, из-за особенностей системы рисования, всегда рисуются поверх компонентов SWING. Замени все AWT компоненты на их SWING аналоги, в частности Panel game на JPanel game.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
jhane
Дата 20.11.2006, 07:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 13.8.2006
Где: Иерусалим

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



Я не использую AWT , кроме как Container.
Restart это JButton которая лежит на JPanel (она прозрачная).
В свою очередь все это лежит на PicturePanel extends javax.swing.JPanel. 
И все это на Container.
PM MAIL ICQ   Вверх
jhane
Дата 20.11.2006, 08:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 13.8.2006
Где: Иерусалим

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



Вы были правы, я по ошибке Restart сделала Button, а не как все остальное.
Спасибо.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0590 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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