2016-03-23 18 views
0

Tablonum yeni verilerle kendini güncelleştirdiğinde, prepareRenderer'u çağırır. Bu, varsayılan olarak güncellendiğinde JTable'ın ne yaptığıdır. Ancak, programım readyRenderer yöntemini çağırdığında, ona argümanlarında boş bir TableCellRenderer veriyor. Bu yüzden boş bir işaretçi istisnası alıyorum.TableCellRenderer neden boş?

Bu şekilde bildiririm. @Override gerçekten gerekli değildir. Onu oraya koydum ki, onun içine bir kırılma noktası koyabilirim, böylece gerçekte ateş ettiğini ve argümanların değerlerinin ne olduğunu görebildim. Hangi nedenle olursa olsun, java bu prepareRender yöntemini çağırdığında, TableCellRenderer argümanı için boş bir değer verir. Bunu neden yapıyor ve nasıl düzeltebilirim? NPE yüzünden ekranda hiçbir şey elde edemiyorum.

+0

Aynı konuyla ilgili bir sorunuz olduğunda başka bir soru yayınladığınız için can sıkıcı bir durumdur: http://stackoverflow.com/questions/36180429/exception-in-thread-awt-eventqueue-0-java-lang -nullpointerexception kullanan-jtab. Uygun bir SSCCE göndermelisiniz. Bunu yapmamak sadece her zaman zamanı harcıyor! – camickr

cevap

0

Sorun benim tablemodel'imdi. Spesifik olarak, getColumnClass yöntemi, dönüş kodunu nasıl kodladığımdan dolayı hiçbir şey döndürmedi (yalnızca boş değer). GetColumnClass yöntemi işe yaramazsa, veriyi nasıl göstereceğini bilmediğinden tablecellrender başarısız olur.

+0

Soru sorduğunuzda uygun bir "SSCCE" gönderin. Probleminizin problemin belirsiz açıklamasına ve 2 satır koduna dayandığını tahmin etmenin kesinlikle hiçbir yolu yoktur. İnsanları zaman kaybetmeye devam ediyorsun. – camickr