Hey @ all,
ich wollte ein programm schreiben das eine linie zeichnet. dazu klickt man im frame zwei stellen an und daraus soll dann die linie gezeichnet werden. aber leider wird die paint methode nicht aufgerufen... hat da jemand ne idee wieso nicht?
ich wollte ein programm schreiben das eine linie zeichnet. dazu klickt man im frame zwei stellen an und daraus soll dann die linie gezeichnet werden. aber leider wird die paint methode nicht aufgerufen... hat da jemand ne idee wieso nicht?
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Pos extends JFrame implements MouseListener
{
private static final long serialVersionUID = 1L;
int x1=0;
int y1=0;
int x2=0;
int y2=0;
int zaehler=1;
int tomate;
Rectangle rec=new Rectangle(x1,y1,WIDTH,1);
Pos()
{
JFrame frame=new JFrame();
frame.setSize(500,500);
frame.addMouseListener(this);
frame.setVisible(true);
}
public static void main(String []args)
{
new Pos();
}
public void mouseClicked(MouseEvent e)
{
if(zaehler==1)
{
PointerInfo a = MouseInfo.getPointerInfo();
Point point = new Point(a.getLocation());
SwingUtilities.convertPointFromScreen(point, e.getComponent());
x1=(int) point.getX();
y1=(int) point.getY();
System.out.print("von "+x1+";"+y1);
zaehler=2;
repaint();
}
else
{
PointerInfo a = MouseInfo.getPointerInfo();
Point point = new Point(a.getLocation());
SwingUtilities.convertPointFromScreen(point, e.getComponent());
x2=(int) point.getX();
y2=(int) point.getY();
System.out.println(" bis "+x2+";"+y2);
zaehler=1;
rec.width=x2-x1;
repaint();
}
}
public void paintComponent(Graphics g)
{
g.setColor(Color.black);
g.fillRect(rec.x,rec.y,rec.width,1);
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
}
Zuletzt bearbeitet: