Swing Rückgabe aus MouseListener-Klasse

JavaInBrain

Mitglied
Hallo liebe JavaProfis,

ich habe gegoogelt und hier im Forum gesucht, bin aber letztlich an meinem Problem hängen geblieben. Ich muss dazu sagen, dass ich, um zu lernen, gerade dabei bin, die Klassen aus "Java von Kopf bis Fuß, DotComsVersenken" auf einen Frame mit 49 Schaltflächen zu übertragen und es dort zu spielen. Der Hauptfokus liegt allerdings auf dem Lernen. Deshalb wollte ich diesen Thread auch eigentlich ins Anfängerforum legen, bin aber wegen der passenden Thematik hier wieder davon abgekommen. Falls aber ein Mod meint, es gehöre doch ins Anfängerforum, dann bitte verschieben - kein Problem.

Ausgangslage:
Die Klasse "DotComsVersenken" enthält die Main, gestaltet einen Frame, auf dem die besagten 49 Buttons sauber in Reih und Glied aufgelistet und mit "A1" bis "G7" (also 7x7-Raster) beschriftet sind. Dazu kommen
  • ein JTextField "txtAuswahl", das die Adresse des geklickten Buttons (also z. B. "A5") aufnehmen soll. Da liegt auch gleich mein Problem (mehr weiter unten)
  • ein Menü "Spiel" mit "Neu", "Optionen" und "Beenden", das zunächst keine Rolle spielt.
  • zwei weitere Textfelder, die den Erfolg (Vorbei, Treffer, Versenkt) bzw. die Meldungen (was auch immer) aufnehmen sollen.

Die Klasse DCVButton gestaltet und positioniert die Buttons

Die Klasse MyMouseListener enthält die Reaktionen auf den Klick auf die Buttons

-- Die Klassen liste ich am Ende auf
Soweit, so gut.

Jetzt zum Problem:
Euch wird es wahrscheinlich banal vorkommen, aber ich checke einfach nicht, wie ich mit dem ausgelagerten MouseEvent "pressed", das ich bisher als einziges bediene, das Textfeld "txtAuswahl" mit neuem Text (der ausgewählten Button-Adresse) und das Spiel starten (beginneSpiel, s. Klasse DotComsVersenken) kann. Oder anders gefragt: Wie merke ich im Konstruktor von DotComsVersenken, ob das Mouse-Pressed-Ereignis stattgefunden hat?
Ich habe mich irgendwie ausgesperrt und komm nicht rein. Könnt ihr mir helfen?

Ich sage schon mal vielen Dank an alle, die sich hiermit beschäftigen.

Die Klassen:
Java:
package pFormDotComsVersenken;

import pDotComsVersenken.*;

import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JSeparator;
import javax.swing.JLabel;

public class DotComsVersenken extends JFrame {

	/**
	 * 
	 */
	private static final long serialVersionUID = -7833058886604594584L;
	
	private JPanel contentPane;
	private JTextField txtAufzeichnung;

	private MeinSpielhelfer helfer = new MeinSpielhelfer();
	private ArrayList<DotCom> dotComListe = new ArrayList<DotCom>();
	private int anzahlVersuche=0;
	private int anzahlDotComs=0;
	private String rateversuch;
	private DCVButton[] myButtons;
	private JTextField txtAuswahl;
	private JTextField textField;
	
	private void spielEinrichten(){		
//		Kurzhilfe
		JOptionPane.showMessageDialog(contentPane, "Ihre Aufgabe ist es, mehrere Dot-Coms zu versenken.\n"+
				"Die Anzahl bestimmen Sie selbst. Jedes Dot-Com enthält drei Felder.\n"+
				"Versuchen Sie, sie mit so wenig Versuchen wie möglich zu erledigen");
		int z=0;

//		dotComs einrichten
//		Übergabe von Länge und Anzahl DotComs. Da es sich immer
//		um ein 7x7-Spielfeld handelt, ist irgendwann natürlich Schluss.
		anzahlDotComs = Integer.parseInt(helfer.getBenutzerEingabe("Geben Sie die DotCom-Anzahl ein: "));
		for(int i=0;i<anzahlDotComs;i++){
			DotCom dc = new DotCom();
			String dcName = 
					helfer.getBenutzerEingabe("Bitte geben Sie den Namen von DotCom " + (int) i+1 + " ein: ");
			dcName += ".com";
			dc.setName(dcName);
			dotComListe.add(dc);
			txtAufzeichnung.setText("Der Name "+dcName+" wurde gespeichert!");
		}
		
		ArrayList<String> zwischen = helfer.platziereDotCom(3, anzahlDotComs);		
		for (DotCom aktuellesDotCom : dotComListe){

			ArrayList<String> neuerOrt = new ArrayList<String>();
			neuerOrt.add(0, zwischen.get(z));
			neuerOrt.add(1, zwischen.get(z+1));
			neuerOrt.add(2, zwischen.get(z+2));

			aktuellesDotCom.setZellorte(neuerOrt);

			z=z+3;
		}
	}
	
	private void beginneSpiel(){
		while(!dotComListe.isEmpty()){
//			String rateversuch = helfer.getBenutzerEingabe("Geben Sie einen Rateversuch ein: ");
			prüfeRateversuch(rateversuch);
		}
		beendeSpiel();
	}
	
	private void prüfeRateversuch(String rateversuch){
		anzahlVersuche++;
		
		String ergebnis = "Vorbei";
		
		for (DotCom aktuellesDotCom : dotComListe){
			ergebnis = aktuellesDotCom.prüfDich(rateversuch);
			
//			Absprung, da weiterer Ablauf sinnlos
			if(ergebnis.equals("Treffer")){
				break;
			}
//			Versenkt! Absprung.
			else if(ergebnis.equals("Versenkt")){
				dotComListe.remove(aktuellesDotCom);
				break;
			}
		}
		System.out.println(ergebnis);
	}
	
	private void beendeSpiel(){
		System.out.println("Alle Dot-Coms sind versenkt! Ihre Aktien sind wertlos.");
		if (anzahlVersuche<=anzahlDotComs*6){
			System.out.println("Sie haben nur " + anzahlVersuche + " Versuche benötigt." +
					" Sie erhalten den KinoWelt-Preis!");
		}
		else {
			System.out.println("Hat lange genug gedauert! " + anzahlVersuche + " Versuche!");
			System.out.println("Warum sind Sie nicht ausgestiegen, bevor der Kurs " +
					"in den Keller fiel?");
		}
			
	}

	/**
	 * Create the frame.
	 */
	public DotComsVersenken() {
//		Frame instanziieren
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 367, 317);
		
		JMenuBar menuBar = new JMenuBar();
		setJMenuBar(menuBar);
		
		JMenu mnNeu = new JMenu("Spiel");
		menuBar.add(mnNeu);
		
		JMenuItem mntmNeu = new JMenuItem("Neu");
		mntmNeu.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				spielEinrichten();
			}
		});
		mnNeu.add(mntmNeu);
		
		JSeparator separator = new JSeparator();
		mnNeu.add(separator);
		
		JMenuItem mntmOptionen = new JMenuItem("Optionen");
		mnNeu.add(mntmOptionen);
		
		JMenuItem mntmBeenden = new JMenuItem("Beenden");
		mntmBeenden.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				System.exit(0);
			}
		});
		
		mnNeu.add(mntmBeenden);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		txtAufzeichnung = new JTextField();
		txtAufzeichnung.setEditable(false);
		txtAufzeichnung.setToolTipText("hier finden Sie die bereits getippten Punkte und das Ergebnis");
		txtAufzeichnung.setBounds(10, 211, 336, 51);
		contentPane.add(txtAufzeichnung);
		
		txtAuswahl = new JTextField();
		txtAuswahl.setEditable(false);
		txtAuswahl.setBounds(97, 0, 32, 20);
		contentPane.add(txtAuswahl);
		txtAuswahl.setColumns(10);
		
		JLabel lblNewLabel = new JLabel("Ihre Auswahl");
		lblNewLabel.setBounds(10, 3, 77, 14);
		contentPane.add(lblNewLabel);
		
		JLabel lblIhrErgebnis = new JLabel("Ihr Ergebnis");
		lblIhrErgebnis.setBounds(182, 3, 77, 14);
		contentPane.add(lblIhrErgebnis);
		
		textField = new JTextField();
		textField.setEditable(false);
		textField.setColumns(10);
		textField.setBounds(269, 0, 77, 20);
		contentPane.add(textField);
		
		String[] buc = {"A","B","C","D","E","F","G"}; //Buchstaben für Benennung der Buttons
		myButtons = new DCVButton[49];
		MyMouseListener mml = new MyMouseListener();

		for(String b:buc){
			for(int i = 1;i<8;i++){
				myButtons[i] = new DCVButton(b+String.valueOf(i));
				myButtons[i].setName("btn"+b+String.valueOf(i));
				myButtons[i].addMouseListener(mml);

				contentPane.add(myButtons[i]);
			}
		}

	}
	
	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					DotComsVersenken frame = new DotComsVersenken();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}
}

Java:
package pFormDotComsVersenken;

import java.awt.Color;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

public class MyMouseListener implements MouseListener {
	
	private DCVButton dcvB;

	@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) {
		dcvB = (DCVButton) e.getComponent();
		dcvB.setBackground(Color.cyan);

		JOptionPane.showMessageDialog(dcvB, dcvB.getActionCommand() + " geklickt!");
	}

	@Override
	public void mouseReleased(MouseEvent e) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void mouseClicked(MouseEvent e) {
		// TODO Auto-generated method stub
		
	}
}

Java:
package pFormDotComsVersenken;

import java.awt.Font;
import javax.swing.JButton;

public class DCVButton extends JButton {

	public enum LetterNumbers {
//		int[] xPos = {10,58,106,154,202,250,298};
		A (10),
		B (58),
		C (106),
		D (154),
		E (202),
		F (250),
		G (298);
		
		private int xPos;
		
		private LetterNumbers(int pos){
			xPos = pos;
		}
		public int getXPos(){
			return xPos;
		}
	}
	
	private int myY=0;
	
	/**
	 * 
	 */
	private static final long serialVersionUID = -1139222144343874492L;

	public DCVButton(String Text) {
		Font f1 = new Font("Arial", Font.BOLD, 10);
		this.setFont(f1);
		this.setText(Text);
		this.setBounds(LetterNumbers.valueOf(Text.substring(0,1)).getXPos(), 
				getMyY(Integer.parseInt(Text.substring(1))),48,25);
	}
	
	public int getMyY(int zeile) {
		switch(zeile){
		case 1:
			myY=25;break;
		case 2:
			myY=50;break;
		case 3:
			myY=75;break;
		case 4:
			myY=100;break;
		case 5:
			myY=125;break;
		case 6:
			myY=150;break;
		case 7:
			myY=175;break;
		default:
			myY=25;
		}
		return myY;
	}
	
}
 
Zuletzt bearbeitet:

Timothy Truckle

Top Contributor
Oder anders gefragt: Wie merke ich im Konstruktor von DotComsVersenken, ob das Mouse-Pressed-Ereignis stattgefunden hat?
Brauchst Du nicht, das leistet Java für Dich.

[JAVA=187] MyMouseListener mml = new MyMouseListener();
for(String b:buc){
for(int i = 1;i<8;i++){
myButtons = new DCVButton(b+String.valueOf(i));
myButtons.setName("btn"+b+String.valueOf(i));
myButtons.addMouseListener(mml);[/code]
Die Instanzierung des MouseListeners solltest Du so machen:[JAVA=187] // MyMouseListener mml = new MyMouseListener(); /* wird icht benötigt */
for(String b:buc){
for(int i = 1;i<8;i++){
final String buttonName = b+String.valueOf(i);
myButtons = new DCVButton(buttonName );
myButtons.setName("btn"+buttonName );
myButtons.addActionListener(new ActionListener() { // dann kann man auch mit der Tastatur spielen...
public void actionPerformed(ActionEvent ev) {
Component dcvB = (Component) ev.getSource;
dcvB.setBackground(Color.cyan);
JOptionPane.showMessageDialog(dcvB, buttonName + " geklickt!");
}
}
);[/code]

bye
TT
 
V

vanny

Gast
oder übergib einfach eine Referenz deiner DotComsVersenken-Instanz im Konstruktor des MyMouseListeners.
danach kannst du dir in DotComsVersenken eine Methode zur Manipulierung des Textfeldes erstellen und die dann per
Code:
referenzDerGuiKlasse.setTextFieldText("was auch immer");
darauf zugreifen.


Hier mal extrem reduzierter Code:
Java:
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JButton;

public class MouseListenerKlasse implements MouseListener{
	
	private GuiKlasse guiKlasse;
	
	public MouseListenerKlasse(GuiKlasse guiKlasse){
		this.guiKlasse = guiKlasse;
	}

//....

	@Override
	public void mousePressed(MouseEvent e) {
		JButton btn = (JButton)e.getSource();
		guiKlasse.setTextFieldText(btn.getText());
	}

//...
}

Java:
import javax.swing.JButton;

public class GuiKlasse {
		
	public GuiKlasse(){
		//JFrame erzeugen Btns und Gedönse
		
		//und dann
		JButton btn = new JButton("bla");
		//....
		btn.addMouseListener(new MouseListenerKlasse(this));
	}

	
	public void setTextFieldText(String text){
		System.out.println("Hier kommt dann textField.setText(text)");
	}
}
 
Zuletzt bearbeitet von einem Moderator:

JavaInBrain

Mitglied
... um aufzusperren :D

Servus ihr beiden,

erst einmal vielen Dank für eure Mühe. Das ging ja wirklich schnell mit der Antwort und dann auch noch so gute. Da freut man sich fast, wenn man mal wieder nicht weiterkommt :applaus:

Nachdem ich lernen wollte, wie ich die Aktionen bzw. die Listener auslagern kann, habe ich vanny's Variante gewählt, werde mir aber auch die für alle "Schandtaten" (sprich: Aktionen) offene Lösung von Timothy T. aufbewahren.

Bis demnächst also. Viele Grüße.
JavaInBrain
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Eigener Dialog mit Rückgabe -> Warten auf Button AWT, Swing, JavaFX & SWT 3
S Swing JDialog mit KeyEvent als Rückgabe AWT, Swing, JavaFX & SWT 1
F Swing Jcombobox mit manueller Rückgabe AWT, Swing, JavaFX & SWT 4
N jComboBox mit eigenem Renderer und eigenem Datentyp als Rückgabe in einer Tabelle AWT, Swing, JavaFX & SWT 2
S Frame - Panel - Dialog rückgabe wert AWT, Swing, JavaFX & SWT 5
E Swing Rückgabe eines Wertes aus einem Dialog zu einem Dialog AWT, Swing, JavaFX & SWT 4
E JDialog Rückgabe von Werten AWT, Swing, JavaFX & SWT 2
L DOS-Rückgabe auf einem JPanel ausgeben AWT, Swing, JavaFX & SWT 5
S Rückgabe beim Schließen eines Dialogs AWT, Swing, JavaFX & SWT 5
H Viele ActionListener (MouseListener) - Performance AWT, Swing, JavaFX & SWT 24
ExceptionOfExpectation MouseListener-Objekte zu den Graphics-Objekten einfügen AWT, Swing, JavaFX & SWT 3
R Punkt von MouseListener hat falsche Koordinate AWT, Swing, JavaFX & SWT 2
J MouseListener wird nicht ausgeführt. AWT, Swing, JavaFX & SWT 4
S Swing Rechteck über JTable zeichnen (per MouseListener) AWT, Swing, JavaFX & SWT 1
G vorgefertigte Buttons oder neue Komponente mit MouseListener? AWT, Swing, JavaFX & SWT 0
F ListCellRenderer mit JLabel und MouseListener AWT, Swing, JavaFX & SWT 4
D Event Handling MouseListener funktioniert seit Java 8 nicht mehr AWT, Swing, JavaFX & SWT 13
M MouseListener auf table oder scrollPane AWT, Swing, JavaFX & SWT 11
B Event Handling MouseListener Behält seine Variablen, auch wenn ich ein neus Objekt erstelle AWT, Swing, JavaFX & SWT 2
D Swing &MouseListener in einem JFrame, sinnig? AWT, Swing, JavaFX & SWT 11
U MouselIstener zu JFrame AWT, Swing, JavaFX & SWT 6
F Swing MouseListener im JPanel AWT, Swing, JavaFX & SWT 3
J Swing Button mit JTable und MouseListener AWT, Swing, JavaFX & SWT 8
F JPanel + MouseListener AWT, Swing, JavaFX & SWT 5
A SWT SWT Scale und MouseListener AWT, Swing, JavaFX & SWT 7
J MouseListener und rechte Maustaste AWT, Swing, JavaFX & SWT 3
R MouseListener auf JPanel AWT, Swing, JavaFX & SWT 3
Q Swing MouseListener auf JTable geht nicht AWT, Swing, JavaFX & SWT 2
J Swing Einbau MouseListener in JPanel AWT, Swing, JavaFX & SWT 3
N Mit MouseListener X-Y Angaben vom Bild erfahren AWT, Swing, JavaFX & SWT 3
T MouseListener an Ecken von Polygonen hinzufügen AWT, Swing, JavaFX & SWT 5
H Swing JPanel in JTable mit MouseListener AWT, Swing, JavaFX & SWT 3
A Individueller MouseListener ? AWT, Swing, JavaFX & SWT 7
B MouseListener im Renderer einer JComboBox AWT, Swing, JavaFX & SWT 3
P AWT MouseListener unklare abhandlung von Events AWT, Swing, JavaFX & SWT 3
M MouseListener/MouseMotionListener AWT, Swing, JavaFX & SWT 2
njans SWT MouseListener exited AWT, Swing, JavaFX & SWT 4
danx066 MouseListener macht was er will AWT, Swing, JavaFX & SWT 14
K MouseListener für Objekte auf einem Frame AWT, Swing, JavaFX & SWT 4
P JLabel Farbe/Bild ändern aus MouseListener heraus AWT, Swing, JavaFX & SWT 3
U Swing Generierung mehrerer Kreise per MouseListener AWT, Swing, JavaFX & SWT 16
Semox Swing JApplet: Problem MouseListener Anmeldung AWT, Swing, JavaFX & SWT 3
C JTappedPane Mouselistener auf Überschrift Registerkarte AWT, Swing, JavaFX & SWT 2
M MouseListener AWT, Swing, JavaFX & SWT 3
K AWT MouseListener linke und rechte Maustaste AWT, Swing, JavaFX & SWT 5
C Swing MouseListener Doppelklick-Geschwindigkeit AWT, Swing, JavaFX & SWT 4
N Swing MouseListener in JTable AWT, Swing, JavaFX & SWT 4
1 Eigene JComponent mit MouseListener versehen AWT, Swing, JavaFX & SWT 10
Developer_X AWT Component added keinen MouseListener AWT, Swing, JavaFX & SWT 7
R MouseListener wird nicht aufgerufen AWT, Swing, JavaFX & SWT 3
P JComboBox und MouseListener AWT, Swing, JavaFX & SWT 2
W MouseListener im editable ComboBox AWT, Swing, JavaFX & SWT 14
raptorrs Swing MouseListener reagiert nicht auf Instanz einer JTable AWT, Swing, JavaFX & SWT 6
multiholle Swing Mouselistener auf Parentpanel immer aktiv AWT, Swing, JavaFX & SWT 7
C MouseListener und ActionListener kombinieren AWT, Swing, JavaFX & SWT 17
M Komponenten einer unbestimmten Anzahl und MouseListener AWT, Swing, JavaFX & SWT 4
A MouseListener funktionert nie AWT, Swing, JavaFX & SWT 12
C Probleme mit Größe und mit MouseListener AWT, Swing, JavaFX & SWT 2
W MouseListener für jede Zelle einer JTable AWT, Swing, JavaFX & SWT 4
E MouseListener Problem AWT, Swing, JavaFX & SWT 4
D jButton mit ImageIcon & MouseListener AWT, Swing, JavaFX & SWT 5
S MouseListener zurückverfolgung auf element. AWT, Swing, JavaFX & SWT 7
B MouseListener / doppelklick geht net AWT, Swing, JavaFX & SWT 16
M JCheckBox Standard MouseListener entfernen AWT, Swing, JavaFX & SWT 13
hdi Wie mach ich diesen MouseListener AWT, Swing, JavaFX & SWT 4
G MouseListener & KeyListener AWT, Swing, JavaFX & SWT 4
H JComboBox reagiert nicht auf MouseListener AWT, Swing, JavaFX & SWT 5
2 Mouselistener AWT, Swing, JavaFX & SWT 2
W MouseListener, getClickCount und Doppelklick AWT, Swing, JavaFX & SWT 6
S swing komponenten mit mouselistener rotieren AWT, Swing, JavaFX & SWT 15
G JFrame,JLabel,MouseListener AWT, Swing, JavaFX & SWT 6
F Wie MouseListener bei TableModel anmelden? AWT, Swing, JavaFX & SWT 3
V Frage zu MouseListener --> mousePressed() AWT, Swing, JavaFX & SWT 5
C MouseListener für Spalte eines JTables AWT, Swing, JavaFX & SWT 4
K Problem mit 2 MouseListener. AWT, Swing, JavaFX & SWT 3
M MouseMotionListener oder mouseListener AWT, Swing, JavaFX & SWT 6
T JComboBox und MouseListener AWT, Swing, JavaFX & SWT 11
F MouseListener - Unhandled IOException AWT, Swing, JavaFX & SWT 5
padde479 Statusleiste mit MouseListener aktualisieren AWT, Swing, JavaFX & SWT 3
L Problem mit MouseListener, AdjustmentListener AWT, Swing, JavaFX & SWT 6
T MouseListener Problem AWT, Swing, JavaFX & SWT 3
F Mouselistener wird wiederholt aufgerufen AWT, Swing, JavaFX & SWT 3
G Frage zu MouseListener und speichern des Wertes (reflektion? AWT, Swing, JavaFX & SWT 6
B frage zu MouseListener AWT, Swing, JavaFX & SWT 5
O MouseListener - Wert-Übergabe AWT, Swing, JavaFX & SWT 3
W JPanel, JLabel und MouseListener -> auf clicks reagieren AWT, Swing, JavaFX & SWT 5
S MouseListener auf einem einzelnen Tab setzen AWT, Swing, JavaFX & SWT 3
B MouseListener & Fenster schliessen AWT, Swing, JavaFX & SWT 3
G MouseListener AWT, Swing, JavaFX & SWT 4
G Tooltip sperrt MouseListener? AWT, Swing, JavaFX & SWT 6
S JComboBox und MouseListener AWT, Swing, JavaFX & SWT 5
D Koordinaten der Bildschirmposition auslesen (MouseListener?) AWT, Swing, JavaFX & SWT 7
A Klassenübergreifend MouseListener verwenden AWT, Swing, JavaFX & SWT 14
N "globaler" MouseListener (+MouseMotionListener) AWT, Swing, JavaFX & SWT 4
M ToolTipText für JTable mit MouseListener ohne anklicken? AWT, Swing, JavaFX & SWT 7
A MouseListener auf Bild legen ? AWT, Swing, JavaFX & SWT 16
S Mouselistener erzeugt kein Event in einem Menuitem AWT, Swing, JavaFX & SWT 2
J MouseListener AWT, Swing, JavaFX & SWT 3
A JPanels in JPanel und MouseListener AWT, Swing, JavaFX & SWT 3
C Mehrere MouseListener? AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben