我是新来的,我有一个问题。
几个月前,我制作了一个简单的颜色吸管,可以从屏幕上的任何位置选择颜色。
现在我正在制作一个 Color Utility 应用程序,它具有许多功能,例如生成平均颜色和混合颜色。无论如何,我认为添加这个吸管会很酷,所以我的 JFrame 中有一个 JButton 调用
DigitalEyedropper.init();
并用我的吸管创建另一个 JFrame。
它打开并运行,但我似乎无法关闭它。默认关闭按钮不起作用。它似乎不听任何 JComponents。我试图添加一个 JButton 来关闭窗口,但它失败了。
有人可以帮助我吗?
public static JFrame window;
private static boolean cancel;
public void startProcess(){
Thread t = new Thread(this);
t.start();
}
public DigitalEyedropper(){
window = new JFrame();
window.setTitle("Color Utilty");
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setSize(640,360);
window.setVisible(true);
window.setLocationRelativeTo(null);
}
public static void init() throws InterruptedException, AWTException{
SwingUtilities.invokeLater(new DigitalEyedropper());
}
@Override
public void run() {
do{
PointerInfo a = MouseInfo.getPointerInfo();
Point b = a.getLocation();
int x = (int) b.getX();
int y = (int) b.getY();
try {
Robot picker = new Robot();
Color color = picker.getPixelColor(x, y);
window.setBackground(color);
}
catch (AWTException e) {
}
if(cancel){
System.out.println("breaking...");
//How to close the JFrame?
} while(/*What to do?*/)
}
}