我正在将 python/Qt GUI 应用程序翻译成 Java/Swing。当用户在 QColorDialog 中拖动滑块时,原始应用程序会不断地漂亮地更新场景颜色。如何在 JColorChooser 中获得类似的效果?我发现的所有示例仅在用户单击“应用”或“确定”按钮时才会更新颜色。当我的用户拖动“红色”滑块时,是否有一种机制可以监听 JColorChooser 中的连续颜色变化?
// How can I listen to every color adjustment?
// (i.e. not just when the user presses "Apply" or "OK"?)
ActionListener actionListener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
System.out.println("color changed");
}
};
Dialog colorDialog = JColorChooser.createDialog(ColorChannelWidget.this,
"Select color for channel 3",
false, // not modal
new JColorChooser(Color.pink),
actionListener, actionListener);
colorDialog.setVisible(true);
编辑:
我将要更改的颜色在动态生成的 OpenGL 场景中。不是,比如说,静态图像。