JTable
Re: JTable
Przecież nie masz do dyspozycji takiego konstruktora w klasie JTable:
http://download.oracle.com/javase/1.4.2 ... l#JTable()
http://download.oracle.com/javase/1.4.2 ... l#JTable()
Re: JTable
Witam !
Od 2 godz. wpatruję się download.oracle.com/javase/1.4.2 ... ml#JTable() oraz Vector i ArrayList.
Nie daje mi to spokoju
Zgadzam się z tym że w opisie javax.swing.JTable istnieje konstruktor
JTable ( Vector rowData, Vector columnNames)
ale jet także opis konstruktora
JTable (Object[][] rowData, Object[] columnNames)
ponadto w opisie java.util.ArrayList jest wzmianka
(This class is roughly equivalent to Vector , except that it is unsynchronized.)
(Ta klasa jest z grubsza odpowiada Wektor, chyba że jest zsynchronizowany.)
Cały czas mam na myśli że Vector tworzy tablicę "tak samo" jak ArrayList,
czyli produkt końcowy obu klas jest ten sam - tablica ( jedno lub dwu wymiarowa ) która jest obiektem.
Nie wiem gdzie popełniam błąd w interpretacji tego problemu
chyba przerzucę się na telenowele,
tam chodziarz nie trzeba myśleć.
Od 2 godz. wpatruję się download.oracle.com/javase/1.4.2 ... ml#JTable() oraz Vector i ArrayList.
Nie daje mi to spokoju

Zgadzam się z tym że w opisie javax.swing.JTable istnieje konstruktor
JTable ( Vector rowData, Vector columnNames)
ale jet także opis konstruktora
JTable (Object[][] rowData, Object[] columnNames)
ponadto w opisie java.util.ArrayList jest wzmianka
(This class is roughly equivalent to Vector , except that it is unsynchronized.)
(Ta klasa jest z grubsza odpowiada Wektor, chyba że jest zsynchronizowany.)
Cały czas mam na myśli że Vector tworzy tablicę "tak samo" jak ArrayList,
czyli produkt końcowy obu klas jest ten sam - tablica ( jedno lub dwu wymiarowa ) która jest obiektem.
Nie wiem gdzie popełniam błąd w interpretacji tego problemu

tam chodziarz nie trzeba myśleć.

\_.?._/
Re: JTable
zrobiłem taki przykład (poniżej) który działa bez zarzutu !
i doszedłem do wniosku że wiersz i kolumna muszą być tablicami lub obiektami
co za tym idzie wnioskuję że w wcześniejszym przykładzie gdzie zaistniał problem
wiersz oraz kolumna nie są tablicami ani obiektami - więc czym są

Code: Zaznacz cały
String[][] wiersz = new String[10][2];
for(int i=0;i<10;i++)
{ for (int j=0;j<2;j++)
{ wiersz[i][j] = " i = "+i+" j = "+j; }
}
String[] kolumna = {"Kolumna zero","Kolumna jeden"};
JTable table = new JTable(wiersz,kolumna);
i doszedłem do wniosku że wiersz i kolumna muszą być tablicami lub obiektami
co za tym idzie wnioskuję że w wcześniejszym przykładzie gdzie zaistniał problem
wiersz oraz kolumna nie są tablicami ani obiektami - więc czym są


\_.?._/
Re: JTable
Ten konstruktor
chce dwuwymiarową tablice obiektów oraz jednowymiarową tablicę obiektów, a nie zwykły jeden egzemplarz klasy, czyli obiekt. ArrayList to jest klasa z której tworzy się obiekt przypominający tablicę, ale to nie jest "surowa" tablica.
Czyli takie coś by przeszło:
bo teraz tworzysz tablicę obiektów. Lecz nie ma to sensu.
Masz konstruktor
ale nie masz konstruktora:
Code: Zaznacz cały
JTable(Object[][] rowData, Object[] columnNames)
Czyli takie coś by przeszło:
Code: Zaznacz cały
ArrayList[][] wiersz = null;
ArrayList[] kolumna = null;
JTable tabelkax = new JTable(wiersz,kolumna);
z grubsza nie oznacza identyczne(This class is roughly equivalent to Vector , except that it is unsynchronized.)
(Ta klasa jest z grubsza odpowiada Wektor, chyba że jest zsynchronizowany.)

Code: Zaznacz cały
JTable ( Vector rowData, Vector columnNames)
Code: Zaznacz cały
JTable ( ArrayList rowData, ArrayList columnNames)
Re: JTable
Wielkie dzięki za wytłumaczenie mi tego przypadku.
przepraszam że zawracam głowę takimi pierdołami, ale nie dawało mi to spokoju
po analizie przerobiłem KOD i działa wspaniale
Tak na marginesie to zastanawiam się czy do Object[][] PLECAK = new Object[20][4]; można dopisywać kolejne obiekty w pętli,
np. PLECAK[2][3]=new Boolean(true);
zaraz zacznę eksperymentować.
Jak na razie jestem zadowolony ale jeszcze daleka droga do okiełznania JTable.
przepraszam że zawracam głowę takimi pierdołami, ale nie dawało mi to spokoju
po analizie przerobiłem KOD i działa wspaniale

Code: Zaznacz cały
private void tablicaarray(){
String [] kolumna = {"ID","Imie","Nazwisko","Wiek"};
String zap = "From Tabelauser ORDER BY id ASC";
Session s = HibernateUtil.getSessionFactory().getCurrentSession();
s.beginTransaction();
List<Tabelauser> baza2 = (List<Tabelauser>)s.createQuery(zap).list();
int rozmiar_w = baza2.size();
int rozmiar_k = kolumna.length;
String[][] wiersz = new String[rozmiar_w][rozmiar_k];
int rek=0;
for (Tabelauser p : baza2) {
String pid = (""+p.getId());
String pim = (p.getImie());
String pna = (p.getNazwisko());
String pwi = (""+p.getWiek());
wiersz[rek][0] = pid;
wiersz[rek][1] = pim;
wiersz[rek][2] = pna;
wiersz[rek][3] = pwi;
rek++;
}
s.getTransaction().commit();
JTable tabelkax = new JTable(wiersz,kolumna);
tabelkax.setAutoCreateRowSorter(true);
jScrollPane1.setViewportView(tabelkax);
tabelkax.setVisible(true);
}
np. PLECAK[2][3]=new Boolean(true);
zaraz zacznę eksperymentować.
Jak na razie jestem zadowolony ale jeszcze daleka droga do okiełznania JTable.

\_.?._/
Re: JTable
działa !! , poszedłem oczywiście nieco dalej lecz ze zrozumieniem treści oczywiście - OK może nie do końca
ale dojdę do setna
oto listing
może się przyda komuś takiemu jak ja w zrozumieniu, chociaż nie wiem czy dobrze robię - zawsze lubiłem się dzielić wiedzą
Swojego czasu kolega mówił mi że jestem głupi bo wszystko ( oczywiście nie dotyczy Javy) kładę "kawę na ławę".
A ja na to odpowiedziałem na całym forum chcąc gnojkowi przyrzec nosa:
PYTANIE z mojej strony
"Proszę Państwa - jak myślicie czym różnimy się od zwierzęta ?"
ODPOWIEDŹ - z mojej strony
"Tylko i wyłącznie tym ze potrafimy się dzielić wiedzą i wyciągamy z tego co nam powiedziano lub przeczytaliśmy wnioski w relacji do wcześniejszych wspomnień"
Ot cała ludzkość
do tego dodajmy zachłanność , grubiaństwo, prymitywizm, małostkowość i co mamy - dopowiedzcie sobie SAMI

oto listing
Code: Zaznacz cały
private void tablicaObject(){
String [] kolumna = {"ID","Imie","Nazwisko","Wiek","Pełnoletni"};
String zap = "From Tabelauser ORDER BY id ASC"; //ASC DESC
Session s = HibernateUtil.getSessionFactory().getCurrentSession();
s.beginTransaction();
List<Tabelauser> baza2 = (List<Tabelauser>)s.createQuery(zap).list();
int rozmiar_w = baza2.size();
int rozmiar_k = kolumna.length;
Object[][] wiersz = new Object[rozmiar_w][rozmiar_k];
int rek=0;
Boolean ppp = true;
for (Tabelauser p : baza2) {
tab[rek] = p.getId();
wiersz[rek][0] = p.getId();
wiersz[rek][1] = p.getImie();
wiersz[rek][2] = p.getNazwisko();
wiersz[rek][3] = p.getWiek();
if (p.getWiek()<18){ppp = false;} else {ppp = true;}
wiersz[rek][4] = ppp;
rek++;
}
s.getTransaction().commit();
//======================== tu zaczyna się sortowanie ===========================================
TableModel model = new DefaultTableModel(wiersz,kolumna) {
@Override
public Class getColumnClass(int column) {
Class returnValue;
if ((column >= 0) && (column < getColumnCount())) {
returnValue = getValueAt(0, column).getClass();
} else {
returnValue = Object.class;
}
return returnValue;
}
};
JTable tabelkax = new JTable(model);
final TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(model);
tabelkax.setRowSorter(sorter);
jScrollPane1.setViewportView(tabelkax);
tabelkax.setVisible(true);
//====================== tu zaczyna się filtrowanie ==============================================
jButton2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String text = jTextField6.getText();
if (text.length() == 0) {
sorter.setRowFilter(null);
} else {
try {
sorter.setRowFilter(
RowFilter.regexFilter(text));
} catch (PatternSyntaxException pse) {
System.err.println("BŁĄD !!!");
}
}
}
});
}

Swojego czasu kolega mówił mi że jestem głupi bo wszystko ( oczywiście nie dotyczy Javy) kładę "kawę na ławę".
A ja na to odpowiedziałem na całym forum chcąc gnojkowi przyrzec nosa:
PYTANIE z mojej strony
"Proszę Państwa - jak myślicie czym różnimy się od zwierzęta ?"
ODPOWIEDŹ - z mojej strony
"Tylko i wyłącznie tym ze potrafimy się dzielić wiedzą i wyciągamy z tego co nam powiedziano lub przeczytaliśmy wnioski w relacji do wcześniejszych wspomnień"
Ot cała ludzkość

\_.?._/