/*
* Created on 13.10.2004
*/
package de.tutorials;
import java.awt.BasicStroke;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.Stroke;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
/**
* @author Darimont
*
*/
public class Test07 extends JFrame {
private Point a, b;
private JButton btnCmd;
private JPanel panel;
private final Stroke stroke = new BasicStroke(2.0F);
public Test07() {
super("Test07");
setDefaultCloseOperation(EXIT_ON_CLOSE);
panel = new JPanel() {
private boolean flag;
{
setPreferredSize(new Dimension(320, 240));
addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent evt) {
if (flag) {
a = evt.getPoint();
} else {
b = evt.getPoint();
}
flag = !flag;
Test07.this.panel.repaint();
}
});
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
if (a != null && b != null) {
Graphics2D g2d = (Graphics2D) g;
g2d.setStroke(stroke);
g2d.drawLine(a.x, a.y, b.x, b.y);
}
}
};
btnCmd = new JButton("Calc distance!");
btnCmd.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
if (a != null && b != null) {
System.out.println("A: " + a);
System.out.println("B: " + b);
System.out.println(a.distance(b));
}
}
});
Container c = getContentPane();
c.add(panel, BorderLayout.CENTER);
c.add(btnCmd, BorderLayout.SOUTH);
pack();
setVisible(true);
}
public static void main(String[] args) {
new Test07();
}
}