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
|
public class Editor extends JPanel {
public class TextRenderer extends JFormattedTextField implements TableCellRenderer {
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean isFocus, int row, int col) {
this.setText((String) value);
this.setBorder(null);
this.setOpaque(true);
this.validate();
return this;
}
}
private TableauModel index;
//private JTextArea editor;
private List<Integer> breakpoint;
private Map<Integer, String> code;
JTable table;
public Editor(Map<Integer, String> txt, List<Integer> liste) {
this.setLayout(new GridLayout(1, 1));
this.validate();
index = new TableauModel(new Object[1][1], new String[1], true);
breakpoint = liste;
code = txt;
table = new JTable();
}
public void init() {
//L'index des lignes et des BreakPoint
String[] titre = {"Ligne", "BreakPoint", "Editor"};
index = new TableauModel(new Object[1][2], titre, true);
table = new JTable(index);
// table.setSurrendersFocusOnKeystroke(true);
table.setOpaque(true);
table.setTableHeader(null);
// table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
table.getColumn("Ligne").setCellRenderer(new ButtonRenderer());
table.getColumn("Ligne").setMaxWidth(50);
table.getColumn("Ligne").setMinWidth(50);
table.getColumn("Ligne").setPreferredWidth(50);
table.getColumn("BreakPoint").setCellRenderer(new CellRenderer());
table.getColumn("BreakPoint").setMaxWidth(20);
table.getColumn("BreakPoint").setMinWidth(20);
table.getColumn("BreakPoint").setPreferredWidth(20);
table.getColumn("Editor").setCellEditor(new TextEditor(new JFormattedTextField()));
table.getColumn("Editor").setCellRenderer(new TextRenderer());
JScrollPane scroll = new JScrollPane(table);
scroll.setColumnHeaderView(new JLabel("Alex"));
scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
this.add(scroll);
this.validate();
}
} |
Partager