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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JDialog и иконка на нем, не показывает 
:(
    Опции темы
maxlab
Дата 16.7.2008, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Здравствуйте! Почему на диалоге не прорисовывается иконка? Это так и должно быть?
Код

public class Login extends javax.swing.JDialog {

    public Login() {
        super();
        initComponents();
        this.setLocationRelativeTo(null);
        this.setIconImage(Toolkit.getDefaultToolkit().createImage("/b2009/images/keyring.png"));
    }
    ...

эта конструкция ничего не делает.
--------------------
Удивительное рядом... но оно запрещено!
PM MAIL   Вверх
goodday1941
Дата 17.7.2008, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



добавь бекграунд имедж на JPanel, а панель на JDialog, далее все компоненты добавляй на панель...

на прямую вроде как нельзя добавлять


--------------------
SCJP 6
PM MAIL ICQ Skype GTalk   Вверх
maxlab
Дата 17.7.2008, 08:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(goodday1941 @ 17.7.2008,  00:44)
добавь бекграунд имедж на JPanel, а панель на JDialog, далее все компоненты добавляй на панель...

на прямую вроде как нельзя добавлять

Я не это имел ввиду smile Не отрисовывается иконка в левом верхнем углу окна диалога. Где title окна...

--------------------
Удивительное рядом... но оно запрещено!
PM MAIL   Вверх
Lisus
Дата 17.7.2008, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Я тоже пытался в диалоге подкрутить иконку. Не вышло.

Потом я попытался найти диалоги из различный приложений (не Ява) и поискать иконку там. Я не нашёл. Диалог по ходу вообще не поддерживает иконку, так же как и трактор не поддерживает реактивный двигатель и воздушный тормоз (а так хочется).

Это не проблемы Ява, это ограничение самих нативных компонент.
Если я не прав - приведите пример приложения с иконкой в диалоге.
PM MAIL   Вверх
goodday1941
Дата 17.7.2008, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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




Код

package com.devdaily.jdialogtest;

import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JDialog;
import javax.swing.JFrame;

public class Foo {

    public static void main(String[] args) {
        Image img = new ImageIcon(Foo.class.getResource("add.png")).getImage();
        JFrame f = new JFrame("The Frame");
        // option 1: it works if i set an image on the parent frame here
        //f.setIconImage(img);
        JDialog j = new JDialog(f);
        // option 2: it works if i set an image on the parent frame this way
        ((java.awt.Frame)j.getOwner()).setIconImage(img);
        j.setModal(true);
        j.setVisible(true);
    }

}





--------------------
SCJP 6
PM MAIL ICQ Skype GTalk   Вверх
Lisus
Дата 17.7.2008, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



ХМ, работает.

А разные картинки можно подключить (одну на фрейм, и другую на диалог)?
PM MAIL   Вверх
maxlab
Дата 17.7.2008, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Lisus @ 17.7.2008,  09:53)
Если я не прав - приведите пример приложения с иконкой в диалоге.

В QtJambi все работает. Какие хочешь иконки на диалог и на главное окно
вот тут картинка
http://forum.vingrad.ru/act-Attach/type/post/id-1556189.html

Это сообщение отредактировал(а) maxlab - 17.7.2008, 14:39
--------------------
Удивительное рядом... но оно запрещено!
PM MAIL   Вверх
Lisus
Дата 17.7.2008, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Ну чтож,
maxlab и goodday1941, признаю свою неправоту. Раз делается - значит можно.

Но вобщем-то иконка нужна у фрейма, а вот диалог без иконки может обойтись.
Обычно картинку ставят не радом с title а в верхнем левом углу самой панели (большую картинку)
PM MAIL   Вверх
maxlab
Дата 17.7.2008, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Продолжаем тему... 
В общем, заработало и без родительского фрейма. Иконка лепится smile Но есть нюанс...
Если установить L&F по дефолту... т.е например JDialog.setDefaultLookAndFeelDecorated(true) - кранты, иконка не рисуется
Почитал про Metal тему...нигде не нашел упоминания о таком поведении. Это так и должно быть?
Далее, если вместо конструкции
Image img =new ImageIcon(Login.class.getResource("/b2009/images/keyring.png")).getImage();
this.setIconImage(img);
применить
this.setIconImage(Toolkit.getDefaultToolkit().createImage("/b2009/images/keyring.png"));
иконка рисуется, только вместо нужного изображения там кружка с кофе smile. Почему?
текущий рабочий вариант такой
Код

public class Login extends javax.swing.JDialog {

    public Login() {
        super();
        initComponents();
        this.setLocationRelativeTo(null);
        Image img =new ImageIcon(Login.class.getResource("/b2009/images/keyring.png")).getImage(); 
        this.setIconImage(img);
    }
    ...


--------------------
Удивительное рядом... но оно запрещено!
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.0469 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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