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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по созданию оконых приложений 
V
    Опции темы
Ak47black
  Дата 4.4.2010, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

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



Здравствуйте.
Хочу спросить у опытных несколько вопросов по созданию оконных приложений.
Понимаю что то что я хочу сделать можно выполнить несколькими путями, но хотелось бы узнать как сделать более правильно, тоесть другими словами говоря придти к какому-нибудь стандарту что-ли, что-бы у людей кто будет смотреть мой код не возникало чувство запутанности  smile 
Хочу написать оконное клиент приложение которое будет работать с базой данных.
При написании кода хочу использовать только Notepad или JCreator(изза того что там есть отладчик), тоесть без автоматической генерации кода, так как считаю что такие продукты как NetBeans не могут дать ясности в освоении jav'ы.
Подскажите пожалуйста, на что следует взглянуть начинающему что-бы сделать код более читаемым?

Также столкнулся с проблемами:
1 Вопрос
Пробую сделать следующий код
UserSelectDialog.java
Код

import javax.swing.JDialog;

public class UserSelectDialog extends JDialog {
    
    public UserSelectDialog() {
        
    }
    
    public void show()
    {
        setVisible(true);
    }    
}

Main.java
Код

...
    public static void main(String[] args) {
     UserSelectDialog selectDialog = new UserSelectDialog();
     selectDialog.show();
...

При компиляции вижу
Цитата

Note: Recompile with -Xlint:deprecation for details.

и вижу то что 
Код

    public void show()
    {
        setVisible(true);
    }

не выполняется. Как исправить?

2 Вопрос
Насколько я понимаю я получу диалог со стилем sun или чтото в этом роде.
А как можно сделать стандартный стиль?
Тоесть чтобы все кнопки и компоненты которые будут на нём были стандартного стиля.
PM MAIL   Вверх
jk1
Дата 4.4.2010, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Про диалог

Здесь вы (видимо, случайно) при наследовании перекрыли метод show() самого диалога, который играет важную роль в процессе вывода диалога на экран и является deprecated, то есть не рекомендован для прямого использования. Если посмотреть исходники setVisible(), то в них происходит только вызов show(), таким образом ваш код эффективно зацикливает весь этот механизм и переполняет стек.

Решение: переименовать метод show()

Про "стили", которые на самом деле LAF

Понятия "стандартного" LAF в Java нет, есть разве что стоящий по умолчанию Metal. Если он вам не подходит, вот способ его поменять
Код

 UIManager.setLookAndFeel();


Про читаемость кода

Это понятие, на мой взгляд, складывается из большого количества мелочей и относится к субъективной категории восприятия. Если вы заинтересованы в улучшении своего кода, сбросьте мне в PM пару классов, я постараюсь указать на возможные проблемы.


Это сообщение отредактировал(а) jk1 - 4.4.2010, 17:58


--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
Ak47black
Дата 4.4.2010, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

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



jk1, а как его лучше назвать?
А как это делают генераторы?

Это сообщение отредактировал(а) Ak47black - 4.4.2010, 17:59
PM MAIL   Вверх
jk1
Дата 4.4.2010, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата

как его лучше назвать?


На мой взгляд он вообще не нужен - просто вызывайте setVisible(true); у своего наследника

Цитата

А как это делают генераторы?


не понял, делают что?


--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
Ak47black
Дата 4.4.2010, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

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



Цитата(jk1 @  4.4.2010,  18:01 Найти цитируемый пост)
не понял, делают что? 

Я имел ввиду IDE редакторы которые генерируют это дело автоматом.
Но смотрю что мне уже ненадо.
Я думаю тогда лучше буду конструктором это всё делать.

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


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

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



Получилось
Код

UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");


Добавлено через 8 минут и 37 секунд
jk1, спасибо ещё раз за отличную помощь  smile 

Это сообщение отредактировал(а) Ak47black - 4.4.2010, 21:23
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0463 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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