Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > сделать в JMenuBar кнопку меню JMenuItem


Автор: KILLI 17.3.2008, 10:40
Есть фрейм с JMenuBar c менюшкой. Задача у меня стоит такая: добавить в менюбар MenuItem, то есть не выпадающее меню.
Если делаю так, то получается выпадающее меню:
Код

JMenu refreshMenu = new JMenu("Refresh");
this.jJMenuBar.add(refreshMenu);

То бишь приходиться добавлять в это меню еще подпункт и пользователь должен сделать лишнее действие.
Если в менюбар добавляю элемент JMenuItem, то все работает именно так, как надо.
Но: 
1) элемент меню имеет другой цвет
2) этот элемент меню растягивается и занимает все свободное место
Код

JMenuItem refreshMenu = new JMenuItem();
this.jJMenuBar.add(refreshMenu);

Пробовал ему размер принудительно ставить - не помогает. Думаю, что и с цветом такая же ерунда будет.
Перекопал инет и форум по этой теме, но ничего не нашел. Подскажите как выйти из ситуации

Автор: dorogoyIV 17.3.2008, 11:33
Цитата(KILLI @  17.3.2008,  10:40 Найти цитируемый пост)
 этот элемент меню растягивается и занимает все свободное место

поменяй Layout у JMenuBar

Автор: KILLI 17.3.2008, 14:17
Да перепробовал уже все Layout-ы - бесполезно

Автор: dorogoyIV 17.3.2008, 14:54
Цитата(KILLI @  17.3.2008,  14:17 Найти цитируемый пост)
Да перепробовал уже все Layout-ы - бесполезно

не может быть  smile 
Код

import javax.swing.*;
import java.awt.*;

class KILLIMenu extends JFrame
{
 KILLIMenu()
 {
  setBounds(100, 100, 400, 300);
  JMenu file=new JMenu("File");
  JMenu get_put=new JMenu("Get/Put");
  JMenuItem refresh=new JMenuItem("Refresh");
  JMenuItem help=new JMenuItem("Help");
  JMenuBar jmb=new JMenuBar();

  jmb.setLayout(new FlowLayout(FlowLayout.LEFT));

  jmb.add(file);
  jmb.add(get_put);
  jmb.add(refresh);
  jmb.add(help);
  setJMenuBar(jmb);
 }

 public static void main(String [] args)
 {
  JFrame f=new KILLIMenu();
  f.setVisible(true);
  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }
}

с цветом конечно так просто не получится...

Автор: KILLI 17.3.2008, 16:38
Да, так прокатило. Но блин коряво выглядит и не подсвечивается. Неужели нету никакого стандартного решения? В таком случае мне проще будет сделать тулбар просто

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)