我有一個9x9的面板,它是panel1[][]
每個面板具有一個JLabel,所以label1[][]
UndoableEditListener該 - 增加的JLabel和的JTextPane
和我每個標籤添加到面板在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]);
}
}
主要目標是能夠爲每個這些JLabel添加addUndoableEditListener()。 用戶將選擇一個數字(int)放置在JLabel中,我希望他們能夠通過單擊撤消/重做按鈕來撤消/重做他們的選擇。
我想:
UndoManager manager = new UndoManager();
label1.addUndoableEditListener(manager);
但是我看到apprently不能添加 「UndoableEditListener該」 來的JLabel。 (對吧?)
我看到了一些例子,你可以添加「UndoableEditListener」到JTextPane,所以我雖然也許我可以創建一個JTextPane窗格[9] [9],併爲每個JLabel添加一個文本窗格被添加到JPanel中)。所以這將解決UndoableEditListener的問題。
這是否合乎邏輯?我真的很感激這個更簡單的方法,所有的建議歡迎:)
我只是有一些問題與組件添加UndoableEditListener。
(我寧願保持的JLabel,因爲我需要能夠改變背景色的功能,否則是沒有更好的方法?)
感謝。
它沒有意義的,可撤消監聽器添加到這是不可編輯由用戶(這是的情況下的部件對於'JLabel')。如果你想改變背景顏色,你不需要堅持'JLabel' – Robin