Konuyu görüntüle
IUCODERS FORUM > Programlama > JAVA > jTable'dan jLabel[ ] 'a veri aktarma
Yazar
audtou


avatar
malatya
Kayıt: 31.08.2006
19.12.2007-01:08 #33011
jTable'daki secilen satırın tüm verilerini sırayla jLabel lara atmak istiyorum ama netbeans'de olusturdugum Frame üzerinde hata veriyor.hata mesajı şöyle:
"Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at netJavaDataBase$7.valueChanged(netJavaDataBase.java:426)"

kod şöyle:
public void valueChanged ( ListSelectionEvent e ) {
int sr=jTable1.getSelectedRow ( ) ;
int sc=jTable1.getSelectedColumn ( ) ;
for ( int i = 0 ; i < persoTextField.length ; i++) {
persoTextField [ i ] .setText( ( String ) jTable1.getValueAt( sr , i ) ) ;
}
}

sorun ne olabilir anlamadım





bitiyo lan!
Yazar
audtou


avatar
malatya
Kayıt: 31.08.2006
19.12.2007-01:14 #33013
işin garip tarafı new'den JFrame Form değilde Java class secip jTable,jFrame,jLabel[] i manuel oluşturup yerleştirince aynı kod hatasız çalışıyor
import java.awt.BorderLayout;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
public class JTableListSelectionListener {
    private static JTextField text[] = new JTextField[4];
    public static void main(String[] a) {
    JFrame frame = new JFrame();
    JTextField j1=new JTextField();
    JTextField j2=new JTextField();
    JTextField j3=new JTextField();
    JTextField j4=new JTextField();
    text[0]=j1;text[1]=j2;text[2]=j3;text[3]=j4;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    final JTable table;
    String[] columnTitles = { "A", "B", "C", "D" };
    Object[][] rowData = { { "11", "12", "13", "14" }, { "21", "22", "23", "24" },
        { "31", "32", "33", "34" }, { "41", "42", "44", "44" } };
    table = new JTable(rowData, columnTitles){
        public boolean isCellEditable(int row,int column){
            return false;
        }
    };
    table.setCellSelectionEnabled(false);
    table.setRowSelectionAllowed(true);
    ListSelectionModel cellSelectionModel = table.getSelectionModel();
    cellSelectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    cellSelectionModel.addListSelectionListener(new ListSelectionListener() {
      public void valueChanged(ListSelectionEvent e) {
        String selectedData = null;
        int selectedRow = table.getSelectedRow();
        int selectedColumns = table.getSelectedColumn();
        selectedData = (String) table.getValueAt(selectedRow, selectedColumns);
        for (int i = 0; i < text.length; i++) {
                    text[i].setText(table.getValueAt(selectedRow,i).toString());
                }
        System.out.println("Selected: " + selectedData);
      }
    });
    table.setCellSelectionEnabled(false);
    
    JPanel jp=new JPanel();
    jp.setLayout(new GridLayout(1,4));
    frame.add(new JScrollPane(table),BorderLayout.CENTER);
    jp.add(j1);
    jp.add(j2);
    jp.add(j3);
    jp.add(j4);
    frame.add(jp,BorderLayout.SOUTH);
    frame.setSize(300, 200);
    frame.setVisible(true);
  }
}



işte bunu prjede olusturdugum JFrame de kullanamıyorumangry





bitiyo lan!
Yazar
onur


avatar
Two Story Town
Kayıt: 14.01.2006
19.12.2007-08:11 #33015
yazdigin kodu debug modda calistir metodun basina sonuna break point koy iki tane satir satir ilerle sonra hangi satirda alamiyorsa o satirdaki deger null geliyordur.

su an kodu calistirma imkanim yok.

Manuel degil de NB uzerinden olusturdugun kodu buraya yazarsan onu inceleyelim belki onda bir sorun vardir.







Yazar
spino


avatar

Kayıt: 22.01.2006
19.12.2007-15:46 #33029
JTable'dan değeri "jTable1.getModel().getValueAt(sr,i).toString();" şeklinde almayı dene





Yazar
audtou


avatar
malatya
Kayıt: 31.08.2006
20.12.2007-20:09 #33055
spino yazdi
 
JTable'dan değeri "jTable1.getModel().getValueAt(sr,i).toString();" şeklinde almayı dene

yok böyle de olmuyor.Tam inceleme fırsatım olmadı 2 gün içinde ama tablo yapısında bi anormallik var.Tablo üzerinde kayıt secemiyorum ve sorguyu oluşturunca tablo bozuk geliyor.





bitiyo lan!
Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
20.12.2007-21:54 #33057
tablonun içindeki değerleri alırken değerlerden biri null geliyor sanırım. NullPointerException veren değer neresi bulman lazım. Debug edersen sorununu çözersin.





N/A
Yazar
audtou


avatar
malatya
Kayıt: 31.08.2006
26.12.2007-10:55 #33217
orhan yazdi
 
tablonun içindeki değerleri alırken değerlerden biri null geliyor sanırım. NullPointerException veren değer neresi bulman lazım. Debug edersen sorununu çözersin.

persoTextField[0] = jTextField1 ... atamalarını 'initComponents()' metodundan önce yazmışım ondan çalışmıyormuşbeat up.Debug da bana kâr oldubiggrin





bitiyo lan!
Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb