Giriş
Şu satırı dahil ederiz.
JTable hangi sütunların editable olduğunu TableModel sınıfına sorar. TableModel sınıfının isCellEditable() metodunu kullanır. Gösterilecek verinin tipini yine TableModel'in getColumnClass metodu ile anlar. Eğer bu metod Boolean dönerse checkbox ile gösterir.
Renderer hücrenin değerini gösterirken kullanılır.
Editor ise hücrenin değerini düzenlerken kullanılır.
model'e insertRow() metodu ile satır eklenince tablomuz da değişir.
constructor
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Son satırı seçmek için şöyle yaparız.
Şöyle yaparız.
Edit işlemi bitince çağrılır. Bu metodun çağrılma sebebinin açıklaması şöyle.
TableCellEditor nesnesi döner. Şöyle yaparız.
Örnek
Şöyle yaparız.
TableColumnModel döner. Şöyle yaparız.
Örnek
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Örnek
Şöyle yaparız. Seçili satır yoksa -1 döner.
Şöyle yaparız.
Şöyle yaparız.
Örnek
Zebra için şöyle yaparız.
JTable edit modundaysa sonladırır.
Örnek
Şöyle yaparız
Şöyle yaparız.
AUTO_RESIZE_ALL_COLUMNS ile her sütunu genişletir.
Örnek
Otomatik sütun büyüklüğünü değiştirmek için şöyle yaparız. Swing JTable Sınıfı Auto Fit yazısına bakabilirsiniz.
Şöyle yaparız.
Şöyle yaparız.
setDefaultCellEditor metodu
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Tablonun sütun ve satırları modelden gelir. DefaultTableModel nesnesi alabilir. Bu çağrı kendi içinde fireTableDataChanged() metodunu tetikler.
Örnek
Şöyle yaparız.
Belirtilen satırın yüksekliğini ayarlar.
Örnek
Birinci satırı değiştirmek için şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şu satırı dahil ederiz.
import javax.swing.JTable;
Bu sınıf view olarak kullanılabilir. Şöyle yaparız.scrollPane.setViewportView (table);
DiğerJTable hangi sütunların editable olduğunu TableModel sınıfına sorar. TableModel sınıfının isCellEditable() metodunu kullanır. Gösterilecek verinin tipini yine TableModel'in getColumnClass metodu ile anlar. Eğer bu metod Boolean dönerse checkbox ile gösterir.
Renderer hücrenin değerini gösterirken kullanılır.
Editor ise hücrenin değerini düzenlerken kullanılır.
model'e insertRow() metodu ile satır eklenince tablomuz da değişir.
constructor
Şöyle yaparız.
JTable table = new JTable();
constructor - rowData + columnNamesŞöyle yaparız.
String heading[] = {"Username", "Groupname", "Groupstatus"};
String data[][] = new String[10][heading.length];
...
table = new JTable(data, heading);
constructor - modelŞöyle yaparız.
DefaultTableModel model = new DefaultTableModel();
model.setColumnIdentifiers(new Object[] {"Column 1", "Column 2", "Column 3" });
JTable table = new JTable(model);
constructor - int + intŞöyle yaparız.
JTable table = new JTable(5, 7);
addMouseListener metoduŞöyle yaparız.
table.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent event) {
if (SwingUtilities.isRightMouseButton(event)) {
...
}
}
});
changeSelection SınıfıSon satırı seçmek için şöyle yaparız.
table.changeSelection(list.size() - 1, 0, false, false);
columnAdded metoduŞöyle yaparız.
JTable table = new JTable(5, 7){
@Override
public void columnAdded(TableColumnModelEvent e){
TableColumn i = getColumnModel().getColumn(e.getToIndex());
i.setPreferredWidth(80);
}
};
editingStopped metoduEdit işlemi bitince çağrılır. Bu metodun çağrılma sebebinin açıklaması şöyle.
1.using the enter keyBu metodu elle de çağırabiliriz. Şöyle yaparız.
2.tabbing to the next cell
3.clicking on another cell with the mouse
table.editingStopped(new ChangeEvent(table));
getCellEditor metoduTableCellEditor nesnesi döner. Şöyle yaparız.
TableCellEditor editor = table.getCellEditor();
if (editor != null) {
editor.stopCellEditing();
}
getColumn metodu
TableColumn nesnesi döner. TableColumn nesnesinin setCellRenderer() ve setCellEditor() metodları çağrılarak sütunda gösterilecek combobox gibi şeyler atanabilir.Örnek
Şöyle yaparız.
table.getColumn("Price").setMaxWidth(30);
getColumnModel metoduTableColumnModel döner. Şöyle yaparız.
table.getColumnModel().getColumn(0).setPreferredWidth(40);
table.getColumnModel().getColumn(1).setPreferredWidth(40);
getModel metoduÖrnek
Şöyle yaparız.
TableModel model = table.getModel ();
ÖrnekŞöyle yaparız.
public void resetArea(JTable table) {
DefaultTableModel dm = (DefaultTableModel)table.getModel();
while(dm.getRowCount() > 0) {
dm.removeRow(0);
}
}
setBorder metoduŞöyle yaparız.
table.setBorder(new MatteBorder(2, 2, 2, 2, (Color) Color.GRAY));
setModel metoduŞöyle yaparız.
table.setModel(new DefaultTableModel(
new Object[][] {
{"Webnet", "11"},
{"Clone Corp", "12"},
{"City Bank", "15"},
{"Herbmart", "14"},
{"Digital Systems", "17"},
{"National Airlines", "10"},
{"State Power", "16"},
{"Parkland", "13"},
},
new String[] {
"Stock", "Price"
}
));
setTableHeader metoduŞöyle yaparız.
table.getTableHeader().setBackground(new Color(0,102,102));
table.getTableHeader().setForeground(Color.WHITE);
getSelectedRow metoduÖrnek
Şöyle yaparız. Seçili satır yoksa -1 döner.
int row = table.getSelectedRow();
ÖrnekŞöyle yaparız.
int viewIndex = table.getSelectedRow();
if(viewIndex != -1) {
int modelIndex = table.convertRowIndexToModel(viewIndex);
model = (DefaultTableModel)jTable1.getModel();
model.removeRow(modelIndex);
}
isCellEditable metoduŞöyle yaparız.
public boolean isCellEditable(int row, int col) {
return false;
}
prepareRenderer metoduÖrnek
Zebra için şöyle yaparız.
public Component prepareRenderer(TableCellRenderer r, int row, int col) {
Component c = super.prepareRenderer(r, row, col);
// Rows alternate in colour for readability.
if (row % 2 == 0) {
c.setBackground(Color.WHITE);
} else {
c.setBackground(new Color(234, 234, 234));
}
if (isRowSelected(row)) {
c.setBackground(new Color(24, 134, 254));
}
return c;
}
removeEditor metoduJTable edit modundaysa sonladırır.
Örnek
Şöyle yaparız
table.removeEditor();
setAutoCreateRowSorter metoduŞöyle yaparız.
table.setAutoCreateRowSorter(true);
setAutoResizeMode metoduAUTO_RESIZE_ALL_COLUMNS ile her sütunu genişletir.
Örnek
Otomatik sütun büyüklüğünü değiştirmek için şöyle yaparız. Swing JTable Sınıfı Auto Fit yazısına bakabilirsiniz.
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
setBackground metoduŞöyle yaparız.
table.setBackground(new Color(161,158,152));
setBorder metoduŞöyle yaparız.
table.setBorder(new LineBorder(new Color(0,102,102), 2, true));
Şöyle yaparız.
table.setDefaultEditor(Cell.class, new MyTableCellEditor());
setFont metoduŞöyle yaparız.
table.setFont(new Font("", 0, 14));
setFillsViewportHeight metoduŞöyle yaparız.
table.setFillsViewportHeight(true);
setModel metoduTablonun sütun ve satırları modelden gelir. DefaultTableModel nesnesi alabilir. Bu çağrı kendi içinde fireTableDataChanged() metodunu tetikler.
Örnek
Şöyle yaparız.
DefaultTableModel model = ...;
table.setModel (model);
setRowHeight metoduBelirtilen satırın yüksekliğini ayarlar.
Örnek
Birinci satırı değiştirmek için şöyle yaparız.
table.setRowHeight(1, 30);
ÖrnekŞöyle yaparız.
table.setRowHeight(table.getRowHeight() + 10);
setSelectionMode metoduŞöyle yaparız.
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
Hiç yorum yok:
Yorum Gönder