Первая таблица : Код | 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
|