1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
public class Table2 extends JTable{
private JTableHeader header;
private TableModel2 model;
private String[] titles;
private int LINEMIN ,begin, end;
public Table2 () {}
public Table2(String[] titles, DataBase database, String querry, int LINEMIN, Dimension view, int indexButtonAction, UnderFrame underFrame, Button[] buttons) {
super();
try {
this.titles = titles;
this.LINEMIN = LINEMIN;
this.model = new TableModel2(querry ,titles, LINEMIN, false, database);
//this.model = new TableModel(querry,titles, LINEMIN, webAccess, database);
this.setModel(model);
this.setRowSelectionInterval(begin, end);
this.setPreferredScrollableViewportSize(view);
this.setSelectionForeground(Color.WHITE);
this.setDefaultRenderer(Object.class, new MyCellRenderer(this.getDefaultRenderer(Object.class)));
this.setSelectionBackground(new Color(0,55,93));
this.header = createDefaultTableHeader();
header.setFont(new Font("SansSerif", Font.BOLD, 14));
header.setForeground(Color.BLACK);
this.setTableHeader(header);
//for (int i=0; i<model.getData().length; i++) System.out.println(i+" "+model.getData()[i][0].toString());
}
catch (IllegalArgumentException iae){iae.printStackTrace();}
}
@Override
public void setRowSorter(RowSorter<? extends javax.swing.table.TableModel> sorter) {
super.setRowSorter(sorter);
this.setRowSelectionInterval(0, 0);
this.setSelectionForeground(Color.WHITE);
this.setSelectionBackground(new Color(0,55,93));
}
public TableModel2 getModel() {
return model;
}
public void setModel(engine.models.TableModel tm){
super.setModel(tm);
}
public void setModel (javax.swing.table.TableModel tm) {
super.setModel(tm);
}
public Component prepareRenderer(TableCellRenderer renderer, int row, int column) {
System.out.println("prepared renderer "+row);
Object value;
if (row<LINEMIN)
try{value = getValueAt(row, column);} catch(Exception e){value = null;e.printStackTrace();}
else value = null;
//System.out.println(value);
boolean isSelected = false;
boolean hasFocus = false;
// Only indicate the selection and focused cell if not printing
if (!isPaintingForPrint()) {
isSelected = isCellSelected(row, column);
boolean rowIsLead =
(selectionModel.getLeadSelectionIndex() == row);
boolean colIsLead =
(columnModel.getSelectionModel().getLeadSelectionIndex() == column);
hasFocus = (rowIsLead && colIsLead) && isFocusOwner();
}
return renderer.getTableCellRendererComponent(this, value,
isSelected, hasFocus,
row, column);
}
public Component prepareEditor(TableCellEditor editor, int row, int column) {
System.out.println("prepared editor");
Object value = getValueAt(row, column);
boolean isSelected = isCellSelected(row, column);
Component comp = editor.getTableCellEditorComponent(this, value, isSelected,
row, column);
if (comp instanceof JComponent) {
JComponent jComp = (JComponent)comp;
if (jComp.getNextFocusableComponent() == null) {
jComp.setNextFocusableComponent(this);
}
}
return comp;
}
} |
Partager