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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание меню, Swing, не отображается текст в меню 
V
    Опции темы
devmstr
Дата 12.4.2007, 07:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Developer
**


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

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



Пытаюсь создать меню. В результате запуска меню добавляется. Но оно очень маленькое по высоте и все MenuItems без недписей. Почему так?
Код

        private class DatabaseManagerAction extends AbstractAction
            {
                public DatabaseManagerAction(String sName)
                {
                    putValue("Action.NAME", sName);
                    
                }
                
                public void actionPerformed(ActionEvent ae)
                {
                    JOptionPane.showMessageDialog(null, "Hello World", "message", JOptionPane.INFORMATION_MESSAGE);
                }
            }
    
              /**
            * Action for "File"/"Exit" menu item 
            */
            private class ExitAction extends AbstractAction
            {
                public ExitAction(String sName)
                {
                    putValue("Action.NAME", sName);
                }
                public void actionPerformed(ActionEvent ae)
                {
                    System.exit(0);
                }
            }
        
    /**
      * END   of "Action's classes" section 
      */
    private void createMenu()
    {
        Action actDBMng = new DatabaseManagerAction("Database Manager");
        Action actExit  = new ExitAction("Exit");

        JMenuBar   mbMenu    = new JMenuBar();
        this.setJMenuBar(mbMenu);
        JMenu       mFile     = new JMenu();
        mbMenu.add(mFile);
            mFile.add(new JMenuItem(actDBMng));
            mFile.add(new JMenuItem(actExit));
    }


Это сообщение отредактировал(а) devmstr - 12.4.2007, 07:50


--------------------
Think different ©Steve Jobs 
user posted image
PM MAIL WWW   Вверх
powerOn
Дата 12.4.2007, 08:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



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


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

PM MAIL   Вверх
devmstr
Дата 12.4.2007, 08:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Developer
**


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

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



Вот:
Код


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


/** 
  * Class for application start
  */
public class ChiefLibrarian
{
    public static void main(String[] args) {
        MainFrame mf = new MainFrame();
        mf.show();
    }
}


class MainFrame extends JFrame
{
    private final int FORM_HEIGHT = 600;        // Size of Main Form (Height)
    private final int FORM_WEIGHT = 800;        // Size of Main Form (Weight)

    private  JMenuBar MainMenu;            // Main Menu


      /**
    * Constructor for main form 
    */
    public MainFrame()
    {
        setSize(FORM_WEIGHT, FORM_HEIGHT);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setTitle(Captions.sMainFrameTitle);
        createMenu();
    }

    /**
      * BEGIN of "Action's classes" section 
      */
           // "File" Menu
              /**
            * Action for "File"/"Database Manager" menu item 
            */
            private class DatabaseManagerAction extends AbstractAction
            {
                public DatabaseManagerAction(String sName)
                {
                    putValue("Action.NAME", sName);
                    putValue("Action.SMALL_ICON", "SmallIco.bmp");
                }
                
                public void actionPerformed(ActionEvent ae)
                {
                    JOptionPane.showMessageDialog(null, "Hello World", "message", JOptionPane.INFORMATION_MESSAGE);
                }
            }
    
              /**
            * Action for "File"/"Exit" menu item 
            */
            private class ExitAction extends AbstractAction
            {
                public ExitAction(String sName)
                {
                    putValue("Action.NAME", sName);
                    putValue("Action.SMALL_ICON", "SmallIco.bmp");
                }
                public void actionPerformed(ActionEvent ae)
                {
                    System.exit(0);
                }
            }
        
    /**
      * END   of "Action's classes" section 
      */
    private void createMenu()
    {
        Action actDBMng = new DatabaseManagerAction("Database Manager");
        Action actExit  = new ExitAction("Exit");

        JMenuBar   mbMenu    = new JMenuBar();
        this.setJMenuBar(mbMenu);
        JMenu       mFile     = new JMenu();
        mbMenu.add(mFile);
            mFile.add(new JMenuItem(actDBMng));
            mFile.add(new JMenuItem(actExit));
    }
}


/**
  * Class with caption's strings
  */
class  Captions
{
    public static String sCompany        = "";
    public static String sVersionShort    = "";
    public static String sMainFrameTitle    = sCompany + " " + "Chief Librarian" + " " + sVersionShort;
    
}




--------------------
Think different ©Steve Jobs 
user posted image
PM MAIL WWW   Вверх
powerOn
Дата 12.4.2007, 08:44 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Ты забыл добавить надписи, попробуй так:
Код

private void createMenu()
    {
        Action actDBMng = new DatabaseManagerAction("Database Manager");
        Action actExit  = new ExitAction("Exit");
        JMenuBar   mbMenu    = new JMenuBar();
        this.setJMenuBar(mbMenu);
        JMenu mFile     = new JMenu("File");
        mbMenu.add(mFile);
        
        JMenuItem actDBMngMI = new JMenuItem(actDBMng);
        actDBMngMI.setText("actDBMng");
        JMenuItem actExitMI = new JMenuItem(actExit);
        actExitMI.setText("actExitMI");
        mFile.add(actDBMngMI);
        mFile.add(actExitMI);
    }



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

PM MAIL   Вверх
devmstr
Дата 12.4.2007, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Developer
**


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

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



Спасибо 
Цитата(powerOn @  12.4.2007,  08:44 Найти цитируемый пост)
actDBMngMI.setText("actDBMng");

коенчно помогло, но мне казалось что текст должен братся из name:
Код

putValue(Action.NAME, sName);

Для buttons вроде работает, странно почему для меню не так...

Добавлено через 46 секунд
А для JMenu это я действительно забыл указать...


--------------------
Think different ©Steve Jobs 
user posted image
PM MAIL WWW   Вверх
devmstr
Дата 12.4.2007, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Developer
**


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

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



Спасибо! Проблема решилась. Лишние были скобки в 
Код

Action.NAME




--------------------
Think different ©Steve Jobs 
user posted image
PM MAIL 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.0471 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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