Swing JApplet: Problem MouseListener Anmeldung

Semox

Bekanntes Mitglied
Liebes Forum

Sorry wenn ich Euch mit sowas belästige. Ich verstehe nicht warum sich die Linie nicht per zwei aufeinanderfolgenden Klicks darstellen läßt. Ich habe einen anonymen MouseListener geschrieben, jedoch verstehe ich nicht ganz warum der nicht aktiv wird. Wie kann ich das richtig machen? :bahnhof:

Java:
import javax.swing.JApplet;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;
import java.awt.Color;
import java.awt.Graphics;

public class MyApplet extends JApplet {

	private static final long serialVersionUID = 4499262829190730857L;
	private int x1, y1, x2, y2;
	private int clicked = 0;

	class MyListener extends MouseAdapter {

		public MyListener() {
			MyListener myListener = new MyListener();
			addMouseListener(myListener);
			addMouseMotionListener(myListener);
		}

		public void mouseClicked(MouseEvent mE) {
			if (clicked % 2 == 1) {
				x1 = mE.getX();
				y1 = mE.getY();
				System.out.println("x1:" + x1 + " " + "y1: " + y1);
				clicked++;
			} else {
				x2 = mE.getX();
				y2 = mE.getY();
				System.out.println("x2:" + x2 + " " + "y2: " + y2);
				clicked++;
				repaint();
			}
		}
	}
	
	public void paint(Graphics g) {
		// super.paint(g);
		g.clearRect(0, 0, 320, 240);
		g.drawOval(20, 20, 100, 80);
		g.setColor(Color.MAGENTA);
		g.drawLine(x1, y1, x2, y2);

	}
}

Ich würde mich wirklich freuen, wenn Ihr mir helfen könntet. Vielen Dank.

Beste Grüße,
Semo
 

eRaaaa

Top Contributor
Das was du da machst, macht keinen Sinn :D
a) innerhalb des Konstruktors von MyListener noch eine Instanz von MyListener zu erstellen
b) der Konstruktor(quasi der erste Aufruf*g*) wird ja gar nicht aufgerufen.

In einem Applet kannst du die init-Methode benutzen.
Versuchs mal so:
Java:
import javax.swing.JApplet;
 
public class MyApplet extends JApplet {
 
    private static final long serialVersionUID = 4499262829190730857L;
    private int x1, y1, x2, y2;
    private int clicked = 0;
 
    @Override
    public void init() {
    	new MyListener();   // <-------
    }
    
    
    class MyListener extends MouseAdapter {
 
        public MyListener() {
            addMouseListener(this);  
            addMouseMotionListener(this);
        }
 
        @Override
		public void mouseClicked(MouseEvent mE) {
            if (clicked % 2 == 1) {
                x1 = mE.getX();
                y1 = mE.getY();
                System.out.println("x1:" + x1 + " " + "y1: " + y1);
                clicked++;
            } else {
                x2 = mE.getX();
                y2 = mE.getY();
                System.out.println("x2:" + x2 + " " + "y2: " + y2);
                clicked++;
                repaint();
            }
        }
    }
    
    @Override
	public void paint(Graphics g) {
        // super.paint(g);
        g.clearRect(0, 0, 320, 240);
        g.drawOval(20, 20, 100, 80);
        g.setColor(Color.MAGENTA);
        g.drawLine(x1, y1, x2, y2);
 
    }
}
 

Semox

Bekanntes Mitglied
Hallo eRaaaa

Dankeschön. Warum brauche ich kein Objekt, sondern kann den addMousListener direkt per this implementieren? Es funktioniert, aber ich habe nicht ganz verstanden warum.

Viele Grüße,
Semo
 

eRaaaa

Top Contributor
Naja eine Instanz brauchst du schon. Dein Fehler war einfach, dass du das add.. an falscher Stelle aufgerufne hast. Du könntest natürlich auch den Code, der in deinem alten Code im KOnstruktor von MyListener steht, 1:1 in die init Methode kopieren, das sollte genau so funktionieren und macht die Sache für dich evtl. verständlicher. Also
Java:
    @Override
    public void init() {
              MyListener myListener = new MyListener();
            addMouseListener(myListener);
            addMouseMotionListener(myListener);
    }

Dein Problem war einfach, dass du nirgends eine Instanz erstellt hattest von MyListener (ausser eben im Konstruktor von MyListener, was ja aber keinen Sinn macht, da der ja nur aufgerufen wird wenn du eine Instanz erstellst ... :D )

Vllt. wird es auch noch deutlicher, wenn du in deinem alten Code mal nach der Zeile 15 ein System.out rein machst, dann wirst du sehen, dass dieser gar nicht aufgerufen wurde.

Hoffe das war jetzt etwas deutlicher(sorry, war vorhin nebenbei am Pokern mit den Leuten aus dem Chat *g*)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Applet JApplet Problem AWT, Swing, JavaFX & SWT 18
J JApplet und Zeichnen AWT, Swing, JavaFX & SWT 8
J JApplet, HTML und access denied exitVM.0 AWT, Swing, JavaFX & SWT 3
B JApplet AWT, Swing, JavaFX & SWT 2
P JApplet verhält sich im Browser anders als im Eclipse (AppletViewer) AWT, Swing, JavaFX & SWT 3
P JApplet Browser Tab Öffnen AWT, Swing, JavaFX & SWT 5
H Swing JApplet - HTML - ClassNotFoundException AWT, Swing, JavaFX & SWT 7
M Frage zu KeyListener bzgl. JApplet AWT, Swing, JavaFX & SWT 3
B JApplet zwei Panels autobreite? AWT, Swing, JavaFX & SWT 2
F Applet JApplet per html einbinden - Main class kann nicht gefunden werden AWT, Swing, JavaFX & SWT 15
B Swing JTabbedPane in JApplet -> Reiter bei Aktualisation mehrmals zu sehen AWT, Swing, JavaFX & SWT 3
M JApplet mit Java 3D Komponente AWT, Swing, JavaFX & SWT 6
J JApplet langsam wegen vielen Tooltips? AWT, Swing, JavaFX & SWT 36
R JApplet, Elemente unsichtbar AWT, Swing, JavaFX & SWT 2
B Swing Komponenten auf JApplet setSize AWT, Swing, JavaFX & SWT 7
B Swing Komponenten auf JApplet setSize AWT, Swing, JavaFX & SWT 2
V Applet JApplet Flackern durch Repaint AWT, Swing, JavaFX & SWT 11
K JApplet Probleme AWT, Swing, JavaFX & SWT 5
S [JAVA] JFrame in Applet/JApplet AWT, Swing, JavaFX & SWT 14
H JApplet will sich nicht refreshen AWT, Swing, JavaFX & SWT 10
F OpenMap und Swing in JApplet AWT, Swing, JavaFX & SWT 8
C Applet JApplet - Verständnissproblem AWT, Swing, JavaFX & SWT 3
H Applet JApplet soll neues Tab im Browser öffnen AWT, Swing, JavaFX & SWT 2
G Unterschiedliche Pfadangabe zu Icons zwischen JApplet und JWindow? AWT, Swing, JavaFX & SWT 2
J Swing JApplet Designfrage AWT, Swing, JavaFX & SWT 4
J JApplet schneidet Menüleiste ab AWT, Swing, JavaFX & SWT 4
D JApplet hängt im Browser fest AWT, Swing, JavaFX & SWT 5
M JFrame in JApplet einbinden AWT, Swing, JavaFX & SWT 13
E Bild auf JApplet AWT, Swing, JavaFX & SWT 5
Semox Swing Random Checkbox JApplet AWT, Swing, JavaFX & SWT 14
A Focus für JApplet AWT, Swing, JavaFX & SWT 7
U JPanel wechsel in JApplet AWT, Swing, JavaFX & SWT 14
J AWT JApplet lädt Bild nicht hoch AWT, Swing, JavaFX & SWT 7
R JApplet - Infos ueber Browser moeglich? AWT, Swing, JavaFX & SWT 5
V Kein Fokus für Key Bindings auf JPanel bzw JApplet AWT, Swing, JavaFX & SWT 2
S StackOverflowError bei MouseWheelListener für JApplet AWT, Swing, JavaFX & SWT 5
G JFrame in JApplet AWT, Swing, JavaFX & SWT 6
M Daten speichern mit JApplet AWT, Swing, JavaFX & SWT 9
lukas24680 JApplet und getContentPane() AWT, Swing, JavaFX & SWT 8
G paintComponent JPanel im JApplet AWT, Swing, JavaFX & SWT 2
S Alternative zu paint in JApplet AWT, Swing, JavaFX & SWT 3
R Im JFrame ein JApplet zum öffnen einer Url benutzen AWT, Swing, JavaFX & SWT 22
H JApplet fehler objekte unsichtbar. AWT, Swing, JavaFX & SWT 2
C Swing-JApplet AWT, Swing, JavaFX & SWT 3
B JDialog in JApplet AWT, Swing, JavaFX & SWT 3
P Image in JApplet geht nicht AWT, Swing, JavaFX & SWT 2
G Problem mit der Anzeige von jLabel. Unlesbar wenn der Text geändert wird. AWT, Swing, JavaFX & SWT 28
H 2D-Grafik Problem mit Paint AWT, Swing, JavaFX & SWT 1
S Layout - Problem AWT, Swing, JavaFX & SWT 1
Tassos JavaFX/Problem mit der Maussteuerung in Stackpane AWT, Swing, JavaFX & SWT 7
sserio Java Fx - Problem AWT, Swing, JavaFX & SWT 3
A Problem Spiel auf Panel der GUI zu bringen AWT, Swing, JavaFX & SWT 1
A JavaFX Controller Problem AWT, Swing, JavaFX & SWT 1
TheWhiteShadow JavaFX ListView Problem beim Entfernen von Elementen AWT, Swing, JavaFX & SWT 1
E LayoutManager Welcher Layout-Mix löst mein Problem? AWT, Swing, JavaFX & SWT 3
Umb3rus JavaFX Problem mit PropertyValueFactory: can not read from unreadable property AWT, Swing, JavaFX & SWT 1
T Problem mit paintComponent() AWT, Swing, JavaFX & SWT 17
AmsananKING Java Menü-Problem AWT, Swing, JavaFX & SWT 1
K JavaFX Resizing-Problem beim BorderLayout (Center Component) beim Arbeiten mit mehreren FXMLs AWT, Swing, JavaFX & SWT 2
G Instance OF Problem AWT, Swing, JavaFX & SWT 9
FrittenFritze Ein Problem mit der CSSBox, die Größe wird nicht angepasst AWT, Swing, JavaFX & SWT 5
M Problem mit dem Anzeigen von Frames im Vordergrund AWT, Swing, JavaFX & SWT 5
Badebay Problem mit JButton AWT, Swing, JavaFX & SWT 2
newJavaGeek Grid-Layout problem AWT, Swing, JavaFX & SWT 7
J JavaFX Löschen im Tabelview macht Problem AWT, Swing, JavaFX & SWT 15
JavaTalksToMe JavaFx ExekutorService Problem AWT, Swing, JavaFX & SWT 2
Zrebna Problem bei Eventhandling (Value soll nach jedem erneutem Klick gelöscht werden) AWT, Swing, JavaFX & SWT 4
B Problem mit JavaFX AWT, Swing, JavaFX & SWT 5
J css Problem AWT, Swing, JavaFX & SWT 5
B JavaFX habe mein Problem fett markiert AWT, Swing, JavaFX & SWT 2
A Swing Filter-Problem AWT, Swing, JavaFX & SWT 1
temi JavaFX Problem mit IntelliJ und JavaFx 11 unter XUbuntu AWT, Swing, JavaFX & SWT 3
L Java FX Problem mit Ubuntu 18 und JavaFx AWT, Swing, JavaFX & SWT 27
H JTable TableCellEditor-Problem AWT, Swing, JavaFX & SWT 0
kodela Swing Problem mit Warten-Dialog AWT, Swing, JavaFX & SWT 16
B JavaFx Scene Builder Problem AWT, Swing, JavaFX & SWT 2
B [Problem] Java öffnet Word-Datein nicht AWT, Swing, JavaFX & SWT 14
T DataBinding Problem AWT, Swing, JavaFX & SWT 5
Blender3D Problem mit € Symbol Font Gotham Windows 10 Swing AWT, Swing, JavaFX & SWT 11
T Problem mit JTable Sortierung AWT, Swing, JavaFX & SWT 2
J Problem mit Platfrom run later AWT, Swing, JavaFX & SWT 15
J Problem mit Platfrom run later AWT, Swing, JavaFX & SWT 0
D Swing SwingUtils / Thread Problem AWT, Swing, JavaFX & SWT 3
L JavaFX Problem beim Aufrufen einer Methode AWT, Swing, JavaFX & SWT 5
T Swing Problem mit Datum und FormattedTextField AWT, Swing, JavaFX & SWT 2
S AWT Java print dialog Problem AWT, Swing, JavaFX & SWT 0
olfibits JavaFX Problem mit HTMLEditor AWT, Swing, JavaFX & SWT 0
W SWT hover-background-problem with first column in TreeViewer AWT, Swing, JavaFX & SWT 0
M Problem mit Add JScrollPane AWT, Swing, JavaFX & SWT 25
Mario1409 Swing JTextArea scroll Problem AWT, Swing, JavaFX & SWT 0
N Swing Problem mit loop AWT, Swing, JavaFX & SWT 2
S Swing Problem mit Button und ActionListener AWT, Swing, JavaFX & SWT 5
S Swing & Clean und build Problem AWT, Swing, JavaFX & SWT 12
S JLabel setText() Problem AWT, Swing, JavaFX & SWT 6
I 2D-Grafik Problem beim Ändern der Farbe eine 2d Objekts AWT, Swing, JavaFX & SWT 3
G Swing Splitpane Problem AWT, Swing, JavaFX & SWT 1
F Problem mit der FXML Rectangle Shape AWT, Swing, JavaFX & SWT 2
N JavaFX Stranges Problem mit der Autoscroll-Eigenschaft von Textareas AWT, Swing, JavaFX & SWT 0
E Java FX FXML Problem mit html Scriptausführung AWT, Swing, JavaFX & SWT 2
J JavaFX Intersect Problem mit Shapes AWT, Swing, JavaFX & SWT 10

Ähnliche Java Themen

Neue Themen


Oben