У меня есть панель 9x9, panel1[][]
каждая панель имеет JLabel, поэтому label1[][]
и я добавляю каждую метку на панель в цикле for:
for (int y = 0; y < 9; y++) {
for (int x = 0; x < 9; x++) {
label[y][x] = new Grid(x, y);
panel1[y][x].add(label[y][x]);
}
}
Основная цель - добавить addUndoableEditListener () к каждому из этих JLabel. Пользователи будут выбирать номер (int) для размещения в JLabel, я хочу, чтобы они могли отменить / повторить свой выбор, нажав кнопку «Отменить / повторить».
Я пытался:
UndoManager manager = new UndoManager();
label1.addUndoableEditListener(manager);
Однако я увидел, что вы не можете добавить "UndoableEditListener" в JLabels. (Верно?)
Я видел несколько примеров, в которых вы могли добавить «UndoableEditListener» в JTextPane, поэтому я подумал, что, возможно, я мог бы создать панель JTextPane [9] [9] и добавить текстовую область к каждой из JLabel (которые добавляются в JPanel). Таким образом, это решит проблему UndoableEditListener.
Это кажется логичным? Я был бы очень признателен за более простой подход к этому, все предложения приветствуются :)
У меня просто возникла проблема с добавлением UndoableEditListener к компонентам.
(Я бы предпочел сохранить JLabel, так как мне нужно иметь возможность изменить функцию цвета фона, иначе есть лучший способ ??)
Спасибо.
JLabel
). И вам не нужно придерживатьсяJLabel
, если вы хотите изменить цвет фона - person Robin   schedule 05.10.2012