witam, to mój pierszy post, w javie pisze od pół roku więc prosze o wyrozumiałość.
Mam problem z zawijaniem tekstu w komorkach tabeli.
Nie wiem jak to zrobić siedze dziś nad tym pół dnia i nic, dowiedziałem sie tylko że musze zmienic DefaultCellEditor przedefiniować metode tak aby zwracała JTextArea. Ale nie mam pojęcia jak to zrobić. Domyślam się żę musze zmienic to w moim modelu:
import javax.swing.JTextField;
import javax.swing.table.AbstractTableModel;
public class ModelTabelki extends AbstractTableModel
{
Object[][] data;
Object[] naglowek;
public ModelTabelki(Object[][] dat, Object[] nag)
{
data = dat;
naglowek = nag;
}
public int getColumnCount()
{
if(naglowek!=null)
return naglowek.length;
return 0;
}
public int getRowCount()
{
if(data!=null)
return data.length;
return 0;
}
public String getColumnName(int col)
{
return naglowek[col].toString();
}
public boolean isCellEditable(int wiersz,int kolumna)
{
return false;
}
//public DefaultCellEditor(JTextField textField)
//{
//
// }
public Object getValueAt(int row, int col) {
return data[row][col];
}
}
Czytałem teże jest jakaś inna metoda oparta na html ale wolałbym zmienic model. Chce aby tekst w komórkach się zawijał i wysykość całego wiersza dostosowywała się do ilości tekstu (choc wysokośc wiersza moge zdefiniować na stałe wstawiajac np tabelka.setRowHeight(40);) Jeśli byłoby to typu JTextArea wystarczy chyba ustawić wartość .setLineWrap(true); Niby w teori wiem jak to zrobic ale jakoś mi nic nie wychodzi. Prosze po pomoc