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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Две таблицы на фрейме. 
:(
    Опции темы
skif18
Дата 28.1.2010, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Первая таблица :
Код

    private JTable getJTable() {
//        if (jTable == null) {
            jTable = new JTable();
            if(DB!=null){
                 try {
                        DB.finalize();
                    } catch (Throwable e1) {
                        // TODO Автоматически созданный блок catch
                        e1.printStackTrace();
                    }
            }
            if(DB2!=null){
                 try {
                        DB2.finalize();
                    } catch (Throwable e1) {
                        // TODO Автоматически созданный блок catch
                        e1.printStackTrace();
                    }
            }
            jTable.setModel(getDB());        
            int withCol[]= {5,160,60,25,50,40};
            setWith(withCol);
            /*jTable.changeSelection(0, 0,false,false);            
             jTable.requestFocus();*/
            
        jTable.addKeyListener(new java.awt.event.KeyListener() {   
                
            
            public void keyPressed(java.awt.event.KeyEvent e) {    
                if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
                //    System.out.println("keyPressed()");
                    jTable1.changeSelection(0, 2,false,false);
                   jTable1.requestFocus();
                    e.consume();
                }
                
            }
                public void keyReleased(java.awt.event.KeyEvent e) {
                    if (e.getKeyCode() == KeyEvent.VK_DOWN || e.getKeyCode() == KeyEvent.VK_UP ) {
                     r = jTable.getSelectedRow();     
                        //System.out.println(r);            
                        if (jRadioButton.isSelected()){
                            kzprn =DB.getValueAt(r,0).toString();
                        }else if(jRadioButton1.isSelected()){
                             kzprn =DB5.getValueAt(r,0).toString();
                        }
                 jTable1.setModel(getDB2());    
              
                 
                 
                 for(int i=0;i<jTable1.getColumnCount();i++){
                     TableColumn col = jTable1.getColumnModel().getColumn(i);
                     if(i%3==0){
                         int width = 50;
                         col.setPreferredWidth(width); 
                     }else if((i%3)==1){
                         int width = 250;
                         col.setPreferredWidth(width); 
                     }else if((i%3)==2){
                         int width = 100;
                         col.setPreferredWidth(width);     
                     }
                 }
    
              
                }
                        
                }
                public void keyTyped(KeyEvent arg0) {
                    // TODO Автоматически созданная заглушка метода
                    
                }    
            });
            
        return jTable;
    }

Вторая таблица:
Код

    private JTable getJTable1() {
        if (jTable1 == null) {
            jTable1 = new JTable();
            jTable1.addKeyListener(new java.awt.event.KeyAdapter() {
                public void keyPressed(java.awt.event.KeyEvent e) {
                    //System.out.println("keyPressed()"); // TODO Auto-generated Event stub keyPressed()
                    
                    if (e.getKeyCode() >= KeyEvent.VK_0 && e.getKeyCode() <= KeyEvent.VK_9 || e.getKeyCode() >= KeyEvent.VK_NUMPAD0 && e.getKeyCode() <= KeyEvent.VK_NUMPAD9) {
                        
                            jTable1.editCellAt(jTable1.getSelectedRow(),2);
                        Component editor = jTable1.getEditorComponent();                      
                    //    editor.requestFocus(); // fix!
                         if (editor instanceof JTextField)
                         {
                             //System.out.println("keyPressed()");
                             ((JTextField)editor).selectAll();  // а это так, бонус...
                             ((JTextField)editor).setText("");
                             
                         } 
                        //System.out.println(jTable1.getValueAt(jTable1.getSelectedRow(),jTable1.getSelectedColumn()));
                         t=jTable1.getSelectedRow();
                    }else    if (e.getKeyCode() == KeyEvent.VK_LEFT) {
                    //    System.out.println("keyPressed()");
                        //System.out.println(r);
                        jTable.setModel(getDB());        
                        int withCol[]= {5,160,60,25,50,40};
                        setWith(withCol);
                        jTable.changeSelection(r, 0,false,false);            
                         jTable.requestFocus();
                        e.consume();
                    }
                    
                }
            });
            

        }
        return jTable1;
    }


При движении по первой таблице вторая обновляется.
При открытии этой формы первый раз все работает. Но повторное открытие не отображает вторую таблицу, хотя данные обновляются в модели.


Это сообщение отредактировал(а) skif18 - 28.1.2010, 10:07


--------------------

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

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

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


 




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


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

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