ďťż
 
[Java] Problem z JTable ďťż
 
[Java] Problem z JTable
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

[Java] Problem z JTable



Marcin - 30-04-2006 00:14
[Java] Problem z JTable
  Czesc

Czy ktos moze mi wyjasnic dlaczego to wyrazenie zwraca mi null?

Boolean b = (Boolean)dm_1.getValueAt(0, 4);

W czwartej kolumnie znajduja sie CheckBox-y i chce wychwytywac ich
zaznaczanie badz nie (true/false).

Pozdrawiam





Brzezi - 30-04-2006 00:14

  sob, 29 kwi 2006 o 18:46 GMT, Marcin napisał(a):

> Czy ktos moze mi wyjasnic dlaczego to wyrazenie zwraca mi null?
> Boolean b = (Boolean)dm_1.getValueAt(0, 4);

a co zwraca:

getColumnClass(4) ?

> W czwartej kolumnie znajduja sie CheckBox-y i chce wychwytywac ich
> zaznaczanie badz nie (true/false).

a slyszal o debugerze?

Pozdrawiam
Brzezi
--
[ E-mail: brzezi@enter.net.pl ][ The clearest way into the Universe is ]
[ Ekg: #3781111 ][ through a forest wilderness. ]
[ LinuxUser: #249916 ][ -- John Muir ]




Marcin - 30-04-2006 00:14

 
> a co zwraca:
>
> getColumnClass(4) ?

Poprzednia kolumna jest obiektem String i tu zwraca java.lang.String i jest
ok. A kolumna z Check Box-ami
zwraca cos takiego:
java.lang.NullPointerException

at com.marcinkorkus.DataModel_1.getColumnClass(DataMo del_1.java:89)

at
com.marcinkorkus.OknoDialogoweWyslijPoczte$2.actio nPerformed(OknoDialogoweWy
slijPoczte.java:161)

at javax.swing.AbstractButton.fireActionPerformed(Unk nown Source)

at javax.swing.AbstractButton$ForwardActionEvents.act ionPerformed(Unknown
Source)

at javax.swing.DefaultButtonModel.fireActionPerformed (Unknown Source)

at javax.swing.DefaultButtonModel.setPressed(Unknown Source)

at javax.swing.plaf.basic.BasicButtonListener.mouseRe leased(Unknown Source)

at java.awt.Component.processMouseEvent(Unknown Source)

at java.awt.Component.processEvent(Unknown Source)

at java.awt.Container.processEvent(Unknown Source)

at java.awt.Component.dispatchEventImpl(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.LightweightDispatcher.retargetMouseEvent( Unknown Source)

at java.awt.LightweightDispatcher.processMouseEvent(U nknown Source)

at java.awt.LightweightDispatcher.dispatchEvent(Unkno wn Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Window.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.EventQueue.dispatchEvent(Unknown Source)

at java.awt.EventDispatchThread.pumpOneEventForHierar chy(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarch y(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)




Brzezi - 30-04-2006 00:14

  sob, 29 kwi 2006 o 19:03 GMT, Marcin napisał(a):

>> a co zwraca:
>> getColumnClass(4) ?
> Poprzednia kolumna jest obiektem String i tu zwraca java.lang.String i jest
> ok. A kolumna z Check Box-ami
> zwraca cos takiego:
> java.lang.NullPointerException

to pokaz jeszcze swoj TableModel

Pozdrawiam
Brzezi
--
[ E-mail: brzezi@enter.net.pl ][ War is peace. Freedom is slavery. ]
[ Ekg: #3781111 ][ Ketchup is a vegetable. ]
[ LinuxUser: #249916 ][ ]





Marcin - 30-04-2006 00:14

 
> to pokaz jeszcze swoj TableModel

package com.marcinkorkus;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import javax.swing.JTable;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableColumn;

//Obsługuje komponent jTable_1 (Znajomy)
class DataModel_1 extends AbstractTableModel {
private String bufor;
private int wiersz;
private int kolumna;
private List wynikZapytania;
Object [][] data;
ObslugaBazyDanych bazaDanych = new ObslugaBazyDanych();
// Wyswietla dane, gdy zmieni sie zawartosc tabeli
class TML implements TableModelListener {
public void tableChanged(TableModelEvent e) {
System.out.println("Kliknąłeś");
}
}
public DataModel_1(int rowCnt, int colCnt) {
addTableModelListener(new TML());

wynikZapytania = new ArrayList();
wiersz = kolumna = 0;
try {
wynikZapytania = bazaDanych.wyswietlDane("Znajomy");
if(Integer.parseInt((String)wynikZapytania.get(0)) != 0) {
data = new Object[rowCnt][colCnt];
for(Iterator iter = wynikZapytania.iterator(); iter.hasNext(); ) {
bufor = (String)iter.next();
if (kolumna == 4) {
kolumna = 0;
wiersz++;
}
data[wiersz][kolumna++] = bufor;
}
}
}
catch (Exception e) {
System.err.println("Blad wykonania (SELECT) DataModel_1: " +
e.getMessage());
}
}

//--------------------------------------------------------------------------
---------
void aktualizujPoWyszukiwaniu(String nazwa) {
wynikZapytania = new ArrayList();
wiersz = kolumna = 0;
wynikZapytania = bazaDanych.wyszukajRekordZnajomy(nazwa);
System.out.println("wynikZapytania:" + wynikZapytania);
if(Integer.parseInt((String)wynikZapytania.get(0)) != 0) {
int rowCount =
Integer.parseInt((String)wynikZapytania.get(wynikZ apytania.size() - 1));
System.out.println("AAA:" + rowCount);
data = new Object[rowCount][5];
wynikZapytania.remove(wynikZapytania.size() - 1);
for(Iterator iter = wynikZapytania.iterator(); iter.hasNext(); ) {
bufor = (String)iter.next();
if (kolumna == 4) {
kolumna = 0;
wiersz++;
}
data[wiersz][kolumna++] = bufor;
}
}
}

//--------------------------------------------------------------------------
---------
public int getColumnCount() {
return data[0].length;
}

//--------------------------------------------------------------------------
---------
public int getRowCount() {
return data.length;
}

//--------------------------------------------------------------------------
---------
public Object getValueAt(int row, int col) {
return data[row][col];
}

//--------------------------------------------------------------------------
---------
public Class getColumnClass(int col) {
return getValueAt(0, col).getClass();
}

//--------------------------------------------------------------------------
---------
public void setValueAt(Object val, int row, int col) {

data[row][col] = val;
// Informuje ze dokonano zmiany
fireTableCellUpdated(row, col);
fireTableDataChanged();
}

//--------------------------------------------------------------------------
---------
public boolean isCellEditable(int row, int col) {
return (col > 0);
}

//--------------------------------------------------------------------------
---------
public void ChangeColumnName(JTable jTable_1, String value, int col){
int podgladKolumny = jTable_1.convertColumnIndexToView(col);
TableColumn kolumna = jTable_1.getColumnModel().getColumn(podgladKolumny );
kolumna.setHeaderValue(value);
jTable_1.getTableHeader().repaint();
//Określenie rozmiaru kolumn
kolumna = jTable_1.getColumnModel().getColumn(0);
kolumna.setPreferredWidth(20);
kolumna = jTable_1.getColumnModel().getColumn(4);
kolumna.setPreferredWidth(30);
}
}




Brzezi - 30-04-2006 00:14

  sob, 29 kwi 2006 o 19:07 GMT, Marcin napisał(a):

> if (kolumna == 4) {
> kolumna = 0;
> wiersz++;
> }
> data[wiersz][kolumna++] = bufor;

tak to jest, jak sie nie wie co sie samemu pisze :>

Pozdrawiam
Brzezi
--
[ E-mail: brzezi@enter.net.pl ][ ]
[ Ekg: #3781111 ][ panic: kernel trap (ignored) ]
[ LinuxUser: #249916 ][ ]




Marcin - 30-04-2006 00:14

 
Użytkownik "Brzezi" <usunto.brzezi@enter.net.pl> napisał w wiadomości
news:slrn.pl.e577j6.cku.usunto.brzezi@localhost.lo caldomain...
> sob, 29 kwi 2006 o 19:07 GMT, Marcin napisał(a):
>
> > if (kolumna == 4) {
> > kolumna = 0;
> > wiersz++;
> > }
> > data[wiersz][kolumna++] = bufor;
>
> tak to jest, jak sie nie wie co sie samemu pisze :>

No wlasnie wiem sugerujesz ze wpisuje tam String. Ale jak ustawie kolumna ==
3 to wogole nie chce sie uruchomic.




Brzezi - 30-04-2006 00:14

  sob, 29 kwi 2006 o 19:21 GMT, Marcin napisał(a):

>> > if (kolumna == 4) {
^^^^^^^^^^^^
>> > kolumna = 0;
^^^^^^^^^^^
>> > wiersz++;
>> > }
>> > data[wiersz][kolumna++] = bufor;
>>
>> tak to jest, jak sie nie wie co sie samemu pisze :>
>
> No wlasnie wiem sugerujesz ze wpisuje tam String. Ale jak ustawie kolumna ==
> 3 to wogole nie chce sie uruchomic.

to tez, ale nie zauwazyles tego, co teraz podkreslilem

Pozdrawiam
Brzezi
--
[ E-mail: brzezi@enter.net.pl ][ GEEK CODE [Version: 3.12]: GCM dpu s+:- ]
[ Ekg: #3781111 ][ a--- C+++ UL++ P+ L+++ E--- W+++ N+++ ]
[ LinuxUser: #249916 ][ o-- K- w--- O-- M- V- PS PE Y PGP--- t+ ]
[ 5- X++ R* tv+ b- DI- D+ G+ e- h! r y-- ]




Marcin - 30-04-2006 00:14

  > to tez, ale nie zauwazyles tego, co teraz podkreslilem

Napisalem teraz w ten sposob:

if (kolumna == 4) {
data[wiersz][kolumna] = new Boolean("true");
kolumna = 0;
wiersz++;
}
data[wiersz][kolumna++] = bufor;

I zwrocilo mi:
class java.lang.Boolean

czyli jest oki, dziekuje przyjacielu.




Brzezi - 30-04-2006 00:14

  sob, 29 kwi 2006 o 19:28 GMT, Marcin napisał(a):

> if (kolumna == 4) {
> data[wiersz][kolumna] = new Boolean("true");

lepiej zrobic: Bolean.TRUE, lub jezeli uzywasz javy 1.5 to samo "true"
styknie :)

> kolumna = 0;
> wiersz++;
> }
> data[wiersz][kolumna++] = bufor;

powyzszy kawalek wyglada podejrzanie, bo ten sam bufor przypisujesz dwa
razy, raz do "kolumna", a drugi raz do "kolumna++"(0++) w kolejnym wierszu

Pozdrawiam
Brzezi
--
[ E-mail: brzezi@enter.net.pl ][ Democracy is good. I say this because ]
[ Ekg: #3781111 ][ other systems are worse. ]
[ LinuxUser: #249916 ][ -- Jawaharlal Nehru ]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?= mysql i mysql-front, problem String line; if (line=="cos"){...}....problem Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?= [postgres] Problem z =?ISO-8859-2?Q?zmian=B1_struktury_i_z?==?ISO-8859-2?Q?ale=BFno=B6ciami=2E?= [oracle] =?ISO-8859-2?Q?zmia=BFd=BFony_przez_problem=3A_za?==?ISO-8859-2?Q?pytanie_do_hierarchi?= Problem z wartościami w MySQL :( [ MySQL and ASP and VBScript ] [PGSQL] czy ktos mial problemy z initdb pgsql 8.1 ? [MySQL] Problem z zapisem danych w bazie danych Problem z mysql - can't connect to MySQL/nietypowo...
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • sulimczyk.pev.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com