UndoManager UndoableEdit 获取与 undo redo(二)

2014-11-24 09:40:01 · 作者: · 浏览: 2
undoList.setCellRenderer(new MyRenderer(state, Color.GREEN)); secondIndex = undoModel.size() - 1; firstIndex = undoModel.size() - 1; } } // jlist render class MyRenderer extends DefaultListCellRenderer { private Font font1; private Font font2; private Color rowcolor; private int row; private int[] rows; public MyRenderer() { this.font1 = getFont(); this.font2 = font1.deriveFont((float) (font1.getSize() + 10)); } public MyRenderer(int row, Color color) { this.rowcolor = color; this.row = row; } public MyRenderer(int[] rows, Color color) { this.rowcolor = color; this.rows = rows; } public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); if (rows == null) { if (index == row) { setBackground(this.rowcolor); //setFont(getFont().deriveFont((float) (getFont().getSize() + 2))); } } else { for (int i = 0; i < rows.length; i++) { if (index <= rows[i]) { setBackground(this.rowcolor); } } } return this; } } }