Java UndoableEditListener-添加到JLabel和JTextPane
我有一个9x9面板,它是Java UndoableEditListener-添加到JLabel和JTextPane,java,swing,jpanel,jlabel,undo-redo,Java,Swing,Jpanel,Jlabel,Undo Redo,我有一个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]);
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]);
}
}
然而,我清楚地看到,您不能将“UndoableEditListener”添加到JLabels中。(对吗?)
我看到了一些示例,其中您可以将“UndoableEditListener”添加到JTextPane,因此我想也许我可以创建一个JTextPane窗格[9][9],并向每个JLabel(添加到JPanel)添加一个textpane。因此,这将解决UndoableEditListener的问题
这看起来合乎逻辑吗?我真的希望能有一个更简单的方法,欢迎所有建议:)
我只是在将UndoableEditListener添加到组件时遇到了一些问题
(我宁愿保留JLabel,因为我需要能够更改背景色功能,否则有更好的方法吗??)
谢谢。看起来你不是真的想要一个JLabel。如果您希望它是可编辑的(并且是可撤消的),为什么不使用JTextField呢 JTextField可以更改其背景颜色,也可以更改JLabel:
JTextField tf = new JTextField();
tf.setColor(Color.RED);
将可撤消的侦听器添加到用户不可编辑的组件(对于
JLabel
)是没有意义的。如果你想改变背景颜色,你不需要坚持使用JLabel
,我真的不知道为什么我以前没有想到这个…非常感谢!!
JTextField tf = new JTextField();
tf.setColor(Color.RED);