You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.3 KiB
Java

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
public class Vis extends JFrame {
static final int WIDTH = 500;
static final int HEIGHT = 500;
BufferedImage img;
boolean stop;
public Graphics2D g;
public Vis() {
img = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);
g = (Graphics2D) img.getGraphics();
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
clear();
JComponent c = new JComponent() {
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(img, 0, 0, null);
}
};
c.setPreferredSize(new Dimension(WIDTH, HEIGHT));
add(c);
addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
stop = false;
}
});
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
pack();
setVisible(true);
}
public void vis() {
repaint();
stop = true;
try {
while (stop)
Thread.sleep(10);
} catch (Exception e) {
}
}
void clear() {
g.setColor(Color.WHITE);
g.fillRect(0, 0, WIDTH, HEIGHT);
g.setColor(Color.BLACK);
}
// Usage example
public static void main(String[] args) {
Vis vis = new Vis();
vis.g.drawLine(10, 10, 100, 100);
vis.vis();
}
}