XOR绘画问题在java中

时间:2011-10-10 14:46:41

标签: java swing jpanel xor

我对java Xor方法有疑问:

public class Okno extends JFrame {

public static void main(String[] args) {
    Okno okno = new Okno();
}


Window()
{
    this.setSize(300,300);
    this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    JButton button= new JButton("Circle");
    button.addActionListener(
    new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            Graphics2D g = (Graphics2D)Window.this.getGraphics();
            g.setXORMode(Color.red);
            g.setStroke(new BasicStroke(10));
            g.drawOval(100, 100, 100, 100);
        }
    });

    this.add("South",button);
    this.setVisible(true);
}

第二次点击按钮后,它会画圆圈。在Image from Image上它工作得很好......

1 个答案:

答案 0 :(得分:1)

如果代码第二次运行,则可能错误地调用代码。例如,您可能正在请求绘制回调,然后不正确地使屏幕区域无效,这意味着当视图发生更改时,启动重新绘制例程不是事件。

在第二个按钮上单击,绘画将检测第一个按钮单击的动作,即更改绘制的内容。

多年来,秋千画有所改变。您可能会遇到旧的教程或文本。 Take a look at the latest online offerings to get a good idea of how it should be done