Rysowanie linii za pomocą dwóch kliknięć myszką (w aplecie)

0

Witam jestem początkujący, chciałbym się dowiedziec jak można narysować linię za pomocą dwóch kliknięć myszką czyli : jedno kliknięcie to pierwszy punkt a drugie to drugi punkt i linia ma automatycznie łączyc te 2 punkty :) zrobiłem takie coś , i nawet dla pomocy zrobiłem licznik współrzędnych ale to mi nic nie daje bo w raz nie mogę zrozumieć jak to zrobić...

wiem że powinieniem zrobić coś z x2 i y2 a mianowicie zrobic tak zeby czytało je jako drugie kliknięcie, a w tej chwili x,y,x2,y2 jest czytane jako jedno kliknięcie czyli jakby dwa punkty na sobie .

Proszę o pomoc

 


package javaapplication1;


import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class myszka extends Applet implements MouseListener {

private int x,y,x2,y2;

@Override
   public void init() {
      addMouseListener(this);
	              }
@Override
   public void paint (Graphics gDC){
	
    gDC.drawString("Kliknięcie: "+ x + " / " + y, 10, 200);
    gDC.drawString("Kliknięcie 2 : "+ x2 + " / " + y2, 10, 230);
    
    gDC.setColor(Color.black);
    gDC.drawLine(x, y, x2, y2);

                            }

@Override
   public void mouseClicked(MouseEvent evt)
	{
        
            
	x = evt.getX();
	y = evt.getY();
       
        x2 = evt.getX();
	y2 = evt.getY();
        
       
	repaint();
	}



@Override
public void mousePressed(MouseEvent evt) {}
@Override
public void mouseExited(MouseEvent evt) {}
@Override
public void mouseEntered(MouseEvent evt) {}
@Override
public void mouseReleased(MouseEvent evt) {}
}


0

Dodaj pole klasy current_point (domyślnie równe zero); gdy nastąpi kliknięcie:
1.Gdy current_point jest równe zero, zapisz pozycję do zmiennych x oraz y, ustaw current_point na 1.
2.Gdy current_point jest równe jeden, zapisz pozycję do zmiennych x2 oraz y2, ustaw current_point na 0.

0

Czyli jak ?

0

private int current_point = 0;
if (current_point == 0) { cośtam; current_point = 1; }
if (current_point == 1) { cośtam; current_point = 0; }

0

tak robiłem ale w ten sposób zmienia się tylko jeden punkt a pierwszy (który klikne gdziekolwiek zostaje jaz na stałe)

0

znaczy jest dobrze :) tylko chciałbym aby po narysowaniu tej liniznowu rysowało mi następną linię :) dziękuję sory za wprowadzenie w błąd

1 użytkowników online, w tym zalogowanych: 0, gości: 1