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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JTextField, не работает setText 
:(
    Опции темы
SkIv1989
Дата 19.7.2009, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



всем доброго времени суток,такая проблема: есть панелька, на ней JTextField и JTextArea так же есть комбо бокс, при выборе какого-то элемента в комбо боксе эта панелька отображается и в JTextField и JTextArea передаются значения, проблема в том, что что бы я не передавал в JTextField там ничего не отображается, а вот в JTextArea отображается.... может кто-нибудь объяснить в чем проблема. JDK использую 1.6
вот так примерно выглядит код (все лишнее я убрал для удобной читаемости)
Код

public class Blablabla extends JFrame

private JComboBox type;
private JTextField name;
private JTextArea sql;

public Blablabla(){

        String[] mod = {"", "1", "2", "3", "4"};
        type = new JComboBox(mod);

        final JPanel txt = txtPanel();
//тут добавление панели в фрэйм        
        txt.setVisible(false);

        type.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {               
                switch(type.getSelectedIndex()){
                    case 1: txt.setVisible(true);
                                 name.setText("аыврропао");      
                                 sql.setText("аыврропао");                     
                            break;
                    case 2: //2
                            break;
                    case 3: //3
                            break;
                    case 4: //4
                            break;
                }
            }
        });

private JPanel txtPanel(){
        JPanel panel = new JPanel();
//установка всяких размеров и лайоутов

        name = new JTextField();
        sql = new JTextField();

//добавление name и sql на panel

        return panel;
    }
}



Это сообщение отредактировал(а) SkIv1989 - 20.7.2009, 05:44
PM MAIL   Вверх
Connie
Дата 19.7.2009, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



SkIv1989, а что такое typeRule?
PM MAIL WWW   Вверх
SkIv1989
Дата 19.7.2009, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Connie, это опечатка там просто type это комбо бокс
PM MAIL   Вверх
SkIv1989
  Дата 20.7.2009, 06:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



хм... вывел на консоль name.getText выводится то что должно отображатся), т.е. setText работает, нужно как-то заставить отобразить содержимое текстового поля
PM MAIL   Вверх
Connie
Дата 20.7.2009, 08:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



SkIv1989, а точно добавлено name на панель? Можно код поглядеть как оно добавляется? А то может на панели одно name, а в обработке событий другое?
PM MAIL WWW   Вверх
SkIv1989
Дата 20.7.2009, 08:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



добавление на панель у меня немного хитрое, но точно name добавляю
Код

    private JPanel txtPanel(){
        JPanel panel = new JPanel();
        panel.setMaximumSize(new Dimension(510,105));
        panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));

        panel.add(Box.createVerticalStrut(10));

        name = new JTextField();
        panel.add( jPanelWithBoxLayout(new Component[]{
                new JLabel("Имя узла"),
                Box.createHorizontalStrut(18),
                name,
                Box.createHorizontalStrut(20)}
        ));
        panel.add(Box.createVerticalStrut(10));
        return panel;
    }

    private JPanel jPanelWithBoxLayout (Component[] o){
        JPanel panel = new JPanel();
        panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
        for (int i = 0; i < o.length; i++)
            panel.add(o[i]);
        return panel;
    }

PM MAIL   Вверх
Connie
Дата 20.7.2009, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

public MainFrame(){
        String[] mod = {"0", "1", "2", "3", "4"};
        type = new JComboBox(mod);
        final JPanel txt = txtPanel();
//тут добавление панели в фрэйм   
        setLayout(new BorderLayout());
        add(type,BorderLayout.NORTH);
        add(txt,BorderLayout.CENTER);
        txt.setVisible(false);
        type.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                if (!txt.isVisible()){
                    txt.setVisible(true);
                    pack();
                }
                
                name.setText((String)type.getSelectedItem());
                switch(type.getSelectedIndex()){
                    case 0: System.out.println("test"); break;
                    case 1: //txt.setVisible(true);
                                 name.setText("аыврропао");      
                                 //sql.setText("аыврропао");                     
                            break;
                    case 2: //2
                            break;
                    case 3: //3
                            break;
                    case 4: //4
                            break;
                }
            }
        });
        pack();
}
У меня все работает. код у Вас грязноват
PM MAIL WWW   Вверх
SkIv1989
Дата 20.7.2009, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



методом тыка я определил что все дело было в методах setVisible для панельки я их закоментил и все стало нормально
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.0645 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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