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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как изменить внешний вид JMenu 
V
    Опции темы
diablero
Дата 13.6.2008, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 337
Регистрация: 3.12.2006
Где: Аркхэм

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



Суть в чем, елси у JMenuItem не у всех есть иконки, то меню отрисовывается криво.  
Мне нужно изменить отрисовку JMenu, чтобы выровнять текст у всех JMenuItem.
Как это сдлеать? Есть пример у кого?


--------------------
Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ...
PM MAIL   Вверх
niasilil
Дата 13.6.2008, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



странно, у меня все ровно отрисовывает
Код

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

public class Test {

    public static void main(String[] args) {
        JFrame frame = new JFrame();
        JMenuBar bar = new JMenuBar();
        JMenu menu = new JMenu("Test");

        frame.setJMenuBar(bar);
        bar.add(menu);

        JMenuItem item= new JMenuItem("test1", createMenuWindowIcon("test.png"));
        menu.add(item);

        JMenuItem item2= new JMenuItem("test2");
        menu.add(item2);

        frame.pack();
        frame.setVisible(true);
    }

    public static ImageIcon createMenuWindowIcon(String path) {
        java.net.URL imageURL = Test.class
                .getResource(path);

        if (imageURL == null) {
            // it is not an error, null means "no icon"
             System.err.println("Resource not found: " + path);
            return null;
        } else {
            return new ImageIcon(imageURL);
        }
    }
}

какая версия jvm?


--------------------
SCJP 5.0, SCJD
PM MAIL   Вверх
diablero
Дата 13.6.2008, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 337
Регистрация: 3.12.2006
Где: Аркхэм

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



Цитата(niasilil @  13.6.2008,  19:37 Найти цитируемый пост)
странно, у меня все ровно отрисовывает

Ну где же ровно. Стандартно все ровняется по левому краю. И если нет иконки то:
------------------
 smile открыть
------------------
закрыть
------------------

А мне нужно чтобы текст ровнялся одинаково, независемо есть иконка или нет.
Как меню в idea, ворде.


--------------------
Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ...
PM MAIL   Вверх
niasilil
Дата 13.6.2008, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



так у меня ровняется, вот я и удивился. 
------------------
smile открыть
------------------
      закрыть
------------------

какая jvm?
какая look and feel?

Добавлено через 8 минут и 31 секунду
и здесь тоже все нормально выглядит. 
http://java.sun.com/docs/books/tutorial/ui...nents/menu.html

удивительное дело. 


--------------------
SCJP 5.0, SCJD
PM MAIL   Вверх
diablero
Дата 13.6.2008, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 337
Регистрация: 3.12.2006
Где: Аркхэм

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



Цитата(niasilil @  13.6.2008,  19:46 Найти цитируемый пост)
какая jvm?

1.5
Цитата(niasilil @  13.6.2008,  19:46 Найти цитируемый пост)
какая look and feel? 

по умолчанию.


--------------------
Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ...
PM MAIL   Вверх
niasilil
Дата 13.6.2008, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



теперь вижу, у меня тоже так. 

фиг знает, ну вставляй пустую картинку когда null в createMenuWindowIcon
другого способа не знаю, извини

Добавлено через 1 минуту и 52 секунды
кстати, еще заметил. 
если компилировать под 5й версией, но с использованием библиотек 6й то тоже все выглядит выровненным. 
можно покопать исходники, но мне лень


--------------------
SCJP 5.0, SCJD
PM MAIL   Вверх
diablero
Дата 13.6.2008, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 337
Регистрация: 3.12.2006
Где: Аркхэм

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



niasilil спасибо тебе. За подсказку.
Код

final public class EmptyIcon implements Icon {
  public static final EmptyIcon SIZE_16 = new EmptyIcon(16);
  public static final EmptyIcon SIZE_24 = new EmptyIcon(24);
  private int size;

  public EmptyIcon(int size) {
    this.size = size;
  }
  public int getIconWidth() {
    return size;
  }
  public int getIconHeight() {
    return size;
  }
  public void paintIcon(Component c, Graphics g, int x, int y) {
  }
}

Если нет иконки и фсе!

Это сообщение отредактировал(а) diablero - 13.6.2008, 22:17


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


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

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