Swing Listener auf JPanel

I

IDontKnowJack

Gast
Hallo,

Ich habe ein JPanel, welches einen MouseListener anmeldet.
Dieser erzeugt einen bzw, bei jedem klick einen neues Jpanbel auf sich.--OK

Nun sollen die erzeugten Panel einen MouseMotionListener Anmelden, welcher aber nicht reagiert.

Ist es so, dass ich nicht einfach so 2 Panels übereinander mit listener austatten kann, bzw. diese reagieren?

danke und lieben gruss
 
I

IDontKnowJack

Gast
[Java]public class CloudPanel extends JPanel implements MouseListener,
MouseMotionListener {

private static Color DEFAULT_COLOR = Color.GREEN;
private Image buffer;

public CloudPanel() {
setBackground(Color.BLACK);
setPreferredSize(new Dimension(600, 600));
addMouseListener(this);
}

public void paint(Graphics g) {
// TODO: nicht immer alle bälle neu malen ggf
g.drawString("This is my custom Panel!", 10, 20);
buffer = createImage(600, 600);
// GetComponents
for (int i = 0; createdClouds.lenght() <0; i++) {

// createdClouds.pain()
}
g.drawImage(buffer, this.getX(), this.getY(), this);
}

public void update(Graphics g) {
paint(g);
}

@Override
public void mouseClicked(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON1) {// left Mouse Button
createdClouds.add(new cloud( e.getX(), e.getY()));
repaint();
}
}
...
}[/Java]
hier wird also das grundpanel aufgerufen welcher einen listener implementiert. desweiteren wird auf nem Click ein neuer ball generiert und die paint methode zeichnet alle schon erzeiugten bälle neu.
das neuzeichnen und der aufruf zum erzeugen eines balles ist ein pseudoaufruf, da mvc modell vorhanden ist.

[Java]public class Cloud extends JPanel implements MouseMotionListener{

private Graphics2D gBuffer;

public Cloud(final long identity) {
this.setPreferredSize(new Dimension(100, 100));
this.addMouseMotionListener(this);
this.identity = identity;
}[/Java]
 

javimka

Top Contributor
Was ist aus Zeile 18 und 32 [c]createdClouds[/c]?

Cloud registriert sich selbst als MouseMotionListener. Wie sind denn die zugehörigen Methoden implementiert?

Du rufst [c]new cloud[/c] mit zwei Parametern x und y auf, aber dein Konstruktor oben nimmt nur einen entgegen. Ausserdem schreibst du cloud in Zeile 32 klein, die Klasse schreibt sich aber gross.
 
I

IDontKnowJack

Gast
Also der code läuft. die aufrufe sind nur beispiel aufrufe, da diese erst an den controller gehen und der dann...
Das programm läuft. die Clouds werden erzeugt. Das einzige was nicht funktioniert ist das die Clouds auf die mouse reagiert. muss man sowas wie event forwarden oder so? ich wees ja uch nicht
 

javimka

Top Contributor
Hast du in der Klasse Cloud nicht vielleicht noch einen zweiten Konstruktor, der zwei int entgegen nimmt?

Kriegt die Cloud-Komponente wirklich ihre 100x100 Pixel bevorzugte Grösse? Wenn nicht, ist sie nämlich 0x0 Pixel klein und so wird die Maus niemals darüber schweifen.

Wie sieht denn der Code aus, der vom MouseMotionEvent ausgelöst werden sollte?

Nur so aus Neugierde. Wofür ist in der Klasse Cloud, Zeile 3 [c]private Graphics2D gBuffer;[/c]?

In CloudPanel Zeile 25-27: Das Überschreiben von update würde ich sein lassen.
 

Michael...

Top Contributor
Kann es sein, dass Du die Clouds nur auf das CloudPanel zeichnest?
Ich sehe in dem Code oben zumindest nirgends, dass sie dem Panel tatsächlich hinzugefügt werden.
In dem Fall würdest Du nur eine Abbildung der Clouds und nicht die Clouds selbst auf dem Panel sehen.

In jedem Fall wäre ein KSKB hilfreich.
 
I

IDontKnowJack

Gast
Hallo javimka,

Hast du in der Klasse Cloud nicht vielleicht noch einen zweiten Konstruktor, der zwei int entgegen nimmt?

Also der aufruf funktionier!Ich übergebe 2 Parameter da mein Controller diese brauch. Aber der leitet diese weiter ohne Parameter. Den kompletten Code zu posten wäre viel zu viel!

Kriegt die Cloud-Komponente wirklich ihre 100x100 Pixel bevorzugte Grösse? Wenn nicht, ist sie nämlich 0x0 Pixel klein und so wird die Maus niemals darüber schweifen.

Das ist wirklich moeglich. wie kann ich die grösse den erzwingen?

Wie sieht denn der Code aus, der vom MouseMotionEvent ausgelöst werden sollte?
Einfach ein SYSO. also später mehr aber zu testen nur eine SYSO

Nur so aus Neugierde. Wofür ist in der Klasse Cloud, Zeile 3 private Graphics2D g"Buffer; ?

Also in Cloude wird gezeichnet. da steht dann noch sowas wie
Java:
gBuffer = (Graphics2D) buffer.getGraphics();
		// Antialiasing
		gBuffer.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
				RenderingHints.VALUE_ANTIALIAS_ON);
		// Neigung um 30 Grad
		at = AffineTransform.getRotateInstance(Math.toRadians(-30), x, y );
		gBuffer.setTransform(at);
		// Blaue Scheibe
		gBuffer.setColor(color);
		gBuffer.fillOval(x - diameter / 2, y - diameter /2, diameter, diameter);

In CloudPanel Zeile 25-27: Das Überschreiben von update würde ich sein lassen.

das werd ich mir zu herzen nehmen!
 

Michael...

Top Contributor
Also in Cloude wird gezeichnet. da steht dann noch sowas wie
Java:
gBuffer = (Graphics2D) buffer.getGraphics();
		// Antialiasing
		gBuffer.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
				RenderingHints.VALUE_ANTIALIAS_ON);
		// Neigung um 30 Grad
		at = AffineTransform.getRotateInstance(Math.toRadians(-30), x, y );
		gBuffer.setTransform(at);
		// Blaue Scheibe
		gBuffer.setColor(color);
		gBuffer.fillOval(x - diameter / 2, y - diameter /2, diameter, diameter);
Das bestätigt die Vermutung aus meinen letzten Post: Du zeichnest die Clouds nur und fügst sie nicht dem CloudPanel hinzu. Deshalb reagiert auch der Listener nicht, da sich auf dem CloudPanel keine Komponenten befinden, sondern nur auf dessen Graphic Objekt gemalt wird.
Bei so einem vorgehen müsstest Du eigentlich den MouseMotionListener an dem CloudPanel registrieren und darin überprüfen ob und über welcher Cloud Du Dich befindest.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
elischa JFrame über mehrere JPanel und Listener AWT, Swing, JavaFX & SWT 17
P JPanel- Listener durch JTextArea aktivieren AWT, Swing, JavaFX & SWT 8
S Listener fuer JPanel der merkt wenn sich was geaendert hat? AWT, Swing, JavaFX & SWT 5
F Listener für JPanel im JInternalFrame AWT, Swing, JavaFX & SWT 5
padde479 MenuItem MouseEvent/-Listener AWT, Swing, JavaFX & SWT 5
W Gibt es einen "automatischen Listener" in Swing oder JTable oder der ATM-Klasse? AWT, Swing, JavaFX & SWT 14
G listener repaint() - verschiedene Darstellung AWT, Swing, JavaFX & SWT 24
P JTable Listener für die Änderung einzelner Zellen oder Rows AWT, Swing, JavaFX & SWT 2
K Warum genau hat man einen Listener, dann ein Event und was ist ein Adapter AWT, Swing, JavaFX & SWT 2
J Key-Listener in Java AWT, Swing, JavaFX & SWT 37
S JavaFX - mit Listener Veränderungen in einer TableView abhören AWT, Swing, JavaFX & SWT 3
N JavaFX 1 Listener für mehrere ChoiceBoxen AWT, Swing, JavaFX & SWT 3
B Probleme Action Listener Taschenrechner AWT, Swing, JavaFX & SWT 27
M List Listener AWT, Swing, JavaFX & SWT 37
I AWT Listener während man in anderem Fenster ist AWT, Swing, JavaFX & SWT 4
U Funktionsweise Listener AWT, Swing, JavaFX & SWT 1
L TextField Listener AWT, Swing, JavaFX & SWT 13
K Nullpointer Combobox Listener AWT, Swing, JavaFX & SWT 2
L JavaFX Image im ImageView auf Scroll Listener reagieren AWT, Swing, JavaFX & SWT 5
Salo JTabel Selection listener Bsp. AWT, Swing, JavaFX & SWT 5
J JTable Selection Listener funktioniert nicht AWT, Swing, JavaFX & SWT 4
J Action Listener Rückgabewert AWT, Swing, JavaFX & SWT 14
MaxG. Swing JMenu einen Listener Hinzufügen AWT, Swing, JavaFX & SWT 25
L JavaFX Verbindung zwischen Beschreibung und Listener (Codebehind Klasse) AWT, Swing, JavaFX & SWT 4
T Swing Methode in Listener aufrufen AWT, Swing, JavaFX & SWT 3
S Swing Tabellen - Listener & richtige Row AWT, Swing, JavaFX & SWT 3
J Java -8 Action Listener für mehrere Buttons AWT, Swing, JavaFX & SWT 9
S Erste Schritte mit GUI - Fileverarbeitung, Listener,... AWT, Swing, JavaFX & SWT 10
M JButton - Listener AWT, Swing, JavaFX & SWT 1
R Swing Mehrere JTextFields mit einem Document Listener AWT, Swing, JavaFX & SWT 2
K JavaFX Focus Listener für gesamte Scene AWT, Swing, JavaFX & SWT 1
M Key Listener reagiert nicht AWT, Swing, JavaFX & SWT 4
F In Action Listener TextFields einlesen und prüfen. Abbruch bei falschen Eingaben. Wie mache ich das? AWT, Swing, JavaFX & SWT 2
M Listener funktioniert nicht AWT, Swing, JavaFX & SWT 7
S Swing JComboBox mit Listener aktualisieren AWT, Swing, JavaFX & SWT 13
llabusch Event Handling Listener spielt verrückt AWT, Swing, JavaFX & SWT 8
kaoZ Swing Architektonisches Problem / Listener / MVC AWT, Swing, JavaFX & SWT 14
H org.eclipse.swt.widgets.Scale MouseRelease listener AWT, Swing, JavaFX & SWT 1
MaDDin-94 Swing Listener reagiert nicht immer AWT, Swing, JavaFX & SWT 2
A JLabel im Listener färben AWT, Swing, JavaFX & SWT 11
M Key-,... Listener funktioniert nicht immer AWT, Swing, JavaFX & SWT 2
P Event Handling Listener beim öffnen von einem JPopupMenu AWT, Swing, JavaFX & SWT 3
A Listener für JGTextField AWT, Swing, JavaFX & SWT 2
J Programmierstil: Kommunikation Listener und GUI AWT, Swing, JavaFX & SWT 3
B JTable Renderer / Listener AWT, Swing, JavaFX & SWT 7
M Swing JList Listener AWT, Swing, JavaFX & SWT 20
K Action Listener implementieren über Objekt AWT, Swing, JavaFX & SWT 14
E Listener AWT, Swing, JavaFX & SWT 3
M SWING Listener ohne Wirkung AWT, Swing, JavaFX & SWT 2
P Listener Auswahl Tabelle AWT, Swing, JavaFX & SWT 6
J Swing dragging listener AWT, Swing, JavaFX & SWT 5
H Problem mit dem Action listener.... AWT, Swing, JavaFX & SWT 2
J Frame mit Button erstellen - Warum ist es nötig, Frame über Unterklasse zu erstellen? (Reg Listener) AWT, Swing, JavaFX & SWT 2
M Fenster schließen - Listener AWT, Swing, JavaFX & SWT 5
G SWT TreeViewer - drop listener austauschen AWT, Swing, JavaFX & SWT 2
S Action Listener in innerer Klasse ausführen. AWT, Swing, JavaFX & SWT 8
J Sinn eines Selection Listener AWT, Swing, JavaFX & SWT 5
M JList mit DefaultListModel und listener AWT, Swing, JavaFX & SWT 4
M comboBox Listener? AWT, Swing, JavaFX & SWT 2
T Listener in anderen Panel deaktivieren AWT, Swing, JavaFX & SWT 3
A Swing Suche Listener für beliebige Änderung an GUI Items/Controls AWT, Swing, JavaFX & SWT 8
T SWT: Listener auf einem Button reagiert nicht AWT, Swing, JavaFX & SWT 2
L Swing JTextField Content-Listener AWT, Swing, JavaFX & SWT 4
P AWT Wie kann mein listener den Inhalt eines anderen Textfelds ändern? AWT, Swing, JavaFX & SWT 10
M Ansätze zur Kombination mehrerer Listener für Interaktion AWT, Swing, JavaFX & SWT 19
C JLabel Listener auf Textänderung? AWT, Swing, JavaFX & SWT 5
M Mouse Wheel Listener reagiert mehrmals AWT, Swing, JavaFX & SWT 5
F SWT Button listener richtig erstellen AWT, Swing, JavaFX & SWT 2
El_Lobo Swing Problem bei Methodenaufruf in innerer Klasse bei Listener AWT, Swing, JavaFX & SWT 3
S Wem füge ich welchen Listener hinzu? AWT, Swing, JavaFX & SWT 4
R Durch Listener lässt sich Programm nicht mehr ausführen AWT, Swing, JavaFX & SWT 4
T Callback vs. Event listener AWT, Swing, JavaFX & SWT 7
S Swing JTree und seine Listener... AWT, Swing, JavaFX & SWT 4
E JComboBox Listener AWT, Swing, JavaFX & SWT 2
AyKay SWT (alle) Listener bzw. ModifyEventListener entfernen AWT, Swing, JavaFX & SWT 2
S jTextField Listener AWT, Swing, JavaFX & SWT 7
E Listener, werte in andere Klasse übernehmen AWT, Swing, JavaFX & SWT 11
L Action listener in bestimmter spalte AWT, Swing, JavaFX & SWT 2
J AWT Action Listener etc. AWT, Swing, JavaFX & SWT 7
xehpuk Swing Listener für JPopupMenu AWT, Swing, JavaFX & SWT 3
F JCalendar mouseclick listener AWT, Swing, JavaFX & SWT 2
W AWT Listener bei TrayIcon AWT, Swing, JavaFX & SWT 2
K Swing Listener bei JPopupMenu AWT, Swing, JavaFX & SWT 9
E Swing JTextField Listener nach Update?! AWT, Swing, JavaFX & SWT 2
T TransformGroup Listener AWT, Swing, JavaFX & SWT 8
O Swing JTable Listener AWT, Swing, JavaFX & SWT 2
O Collection Listener AWT, Swing, JavaFX & SWT 6
L AWT Paint(g) im Listener aufrufen AWT, Swing, JavaFX & SWT 2
G JTree - Observer oder Listener? AWT, Swing, JavaFX & SWT 6
Avalarion SWT Listener auf Label oder Text Teile AWT, Swing, JavaFX & SWT 10
C Ermitteln ob JComponent einen Listener besitzt AWT, Swing, JavaFX & SWT 2
L JTextfield Listener AWT, Swing, JavaFX & SWT 3
C Listener Probleme AWT, Swing, JavaFX & SWT 6
N Listener für Variable AWT, Swing, JavaFX & SWT 4
C Swing Listener für TabPanel AWT, Swing, JavaFX & SWT 8
B Line aus Listener? AWT, Swing, JavaFX & SWT 11
G Model,Listener und background jobs AWT, Swing, JavaFX & SWT 4
1 JList - clearSelection nicht berücksichtigen im Listener AWT, Swing, JavaFX & SWT 7
Dit_ MutableComboBoxModel | Listener fehlt ? AWT, Swing, JavaFX & SWT 6
T Swing JSlider und Adjustment-Listener wollen nicht so recht AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben