Swing Click Listener

Status
Nicht offen für weitere Antworten.

Developer_X

Top Contributor
hi, ich habe eine genauere Frage zu Listenern.
Wie, und mit welchem, Listener kann man "checken", ob man mit der maus, einen "rechtsklick" oder einen "linksklick" macht?
 

Developer_X

Top Contributor
den hat ich schon mal benutzt, les dir doch durch, was ich oben schrieb!
Ich sagte ich brauche einen listener der checkt,
ob ich rechts oder links klicke,
und nicht:
ob er klickt, released, etwas überfährt, und etwas verlässt
 

Developer_X

Top Contributor
eine Frage, was mache ich hier falsch:
Java:
package future;

import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.File;


@SuppressWarnings("serial")
public class FDesktopPane extends JDesktopPane
{
	//Attribute
		//FMenuBar
		  FMenuBar mainbar = new FMenuBar();
		//PopupMenu
		  JPopupMenu jpm = new JPopupMenu();
		//String pic
		  String pic = "Pics/DefBack.jpg";
		  Image image;
		//JFileChooser
		  JFileChooser ch;  
	public FDesktopPane()
	{
		this.setLayout(new BorderLayout());
		this.add(mainbar,"North");
		mainbar.add(new JLabel("			"));
		this.addMouseListener(new Listener());
		this.add(jpm);

		JMenuItem changeBackground = new JMenuItem("Change Background");
		changeBackground.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent arg0) 
			{	
				changeBackground();
			}
		});
		jpm.add(changeBackground);

		ch = new JFileChooser();
	}
	
	@Override
     protected void paintComponent(final Graphics g) 
     {
        super.paintComponent(g);
        try 
        {
        	image = ImageIO.read(new File(pic));
		}
        catch (Exception e) 
        {
			e.printStackTrace();
		}
            g.drawImage(image,0,0,getSize().width,getSize().height, this);
     }
	 
	//Methods
	public void changeBackground()
	{
		if (ch.showOpenDialog(FDesktopPane.this) == JFileChooser.APPROVE_OPTION) 
		{
			try
			{
				pic = ""+ch.getSelectedFile();
			} 
			catch (Exception except) 
			{
				except.printStackTrace();
			} 
			setSize(getSize().width-1,getSize().height-1);
		}		
	}
	
	//Other Classes
	class Listener implements MouseListener
	{
		public void mouseClicked(MouseEvent arg0) 
		{			
			if(arg0.getButton()==MouseEvent.BUTTON3)
			{
				maybeShowPopup(arg0);
			}
		}
		public void mouseEntered(MouseEvent arg0) 
		{			
		}
		public void mouseExited(MouseEvent arg0)
		{			
		}
		public void mousePressed(MouseEvent arg0)
		{			
		}
		public void mouseReleased(MouseEvent arg0) 
		{			
		}

	    private void maybeShowPopup(MouseEvent e) 
	    {
	      if (e.isPopupTrigger())
	      {
	        jpm.show(e.getComponent(), e.getX()/2, e.getY());
	      }
	    }
	}
}

MeineProbleme:
1. wenn man überhaupt nur draufklickt, wird das Popup gezeigt.
2. wenn das popup gezeigt wird, wird gleich die funktion des ersten items aufgerufen, ohne dass man wählen kann, warum?
 

diggaa1984

Top Contributor
MeineProbleme:
1. wenn man überhaupt nur draufklickt, wird das Popup gezeigt.
2. wenn das popup gezeigt wird, wird gleich die funktion des ersten items aufgerufen, ohne dass man wählen kann, warum?

1.) .. du meinst es soll erst beim Loslassen des Mausbuttons triggern, dann schiebs einfach in release rein

2. könnte eventuell mit dem Verhalten aus 1. zu tun haben, aber das is nur Spekulation
 

Developer_X

Top Contributor
1.) .. du meinst es soll erst beim Loslassen des Mausbuttons triggern, dann schiebs einfach in release rein

2. könnte eventuell mit dem Verhalten aus 1. zu tun haben, aber das is nur Spekulation

1. nein du verstehst das falsch, ich meinte es so:
das popup soll nur erscheinen wenn man einen rechtsklick auf das JPanel macht, und nicht wenn man, überhaupt draufklickt, warum ist das trotzdem so?

2. wenn das popumenu dann gezeigt wird, kann man nicht ein Item anklicken, sondern die methode des erster Items wird gleich aufgerufen

kannst du mir dabei helfen, diese probleme zu lösen?
 

Ebenius

Top Contributor
Warum vergisst Du nicht den MouseListener sondern trägst das PopupMenu einfach ein:
Java:
irgendeineKomponente.setComponentPopupMenu(thePopupMenu);
Damit funktioniert es auf jedem System so wie es soll; auch auf einem Apple, der bekanntermaßen nur eine Maustaste hat.

Ebenius
 

Developer_X

Top Contributor
Warum vergisst Du nicht den MouseListener sondern trägst das PopupMenu einfach ein:
Java:
irgendeineKomponente.setComponentPopupMenu(thePopupMenu);
Damit funktioniert es auf jedem System so wie es soll; auch auf einem Apple, der bekanntermaßen nur eine Maustaste hat.

Ebenius

okay, damit geht das ganze natürlich viel einfacher, danke
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D JavaFX Menu soll nicht bei jedem Click verschwinden AWT, Swing, JavaFX & SWT 8
D JInternalFrame wechselt Position beim ersten Click AWT, Swing, JavaFX & SWT 0
dereki2000 Welcher Methodenaufruf bei Hover, click,... AWT, Swing, JavaFX & SWT 5
J CheckBoxListCell auf click event in listView reagieren AWT, Swing, JavaFX & SWT 1
T Swing Double Click bei Buttons in JTable AWT, Swing, JavaFX & SWT 9
C Applet Zeichnen über Button-Click AWT, Swing, JavaFX & SWT 13
K ListView right click AWT, Swing, JavaFX & SWT 1
Z Swing Button Click AWT, Swing, JavaFX & SWT 1
M Mouse Click Event ohne ein JComponent Objekt AWT, Swing, JavaFX & SWT 3
D Swing Bei Button Click neues Panel laden AWT, Swing, JavaFX & SWT 3
N Speed Click Robot? AWT, Swing, JavaFX & SWT 7
B Etwas was nach jedem GUI 'click' ausgeführt wird AWT, Swing, JavaFX & SWT 6
achillesat SWT Browser öffnen durch Button click AWT, Swing, JavaFX & SWT 5
S Swing JTabbedPane: Nur nach ButtonClick und nicht nach Click auf Tab ins nächste Tab wechseln AWT, Swing, JavaFX & SWT 2
C click auf JButton und darunter liegendes element AWT, Swing, JavaFX & SWT 5
V Swing Custom JToggleButton in JTable - Click-Event geht erst beim zweiten Mal AWT, Swing, JavaFX & SWT 7
J Swing neuer Aufbau des Frames nach Click AWT, Swing, JavaFX & SWT 8
T Jbutton Click farbe ändern AWT, Swing, JavaFX & SWT 4
D JButton-Click in JList mit Panels (auf dem der Button ist) AWT, Swing, JavaFX & SWT 6
A Swing Click-Handler mit Threshold? AWT, Swing, JavaFX & SWT 3
V Eclipse View Right-Click Menu hinzufügen AWT, Swing, JavaFX & SWT 2
N Button on click eine andere Klasse aufrufen... AWT, Swing, JavaFX & SWT 2
Shanks Hintergrundfarbe durch Button click ändern ?? AWT, Swing, JavaFX & SWT 6
ABstraCT JTabbedPane - click wird nicht immer ausgeführt ! AWT, Swing, JavaFX & SWT 10
K JTable und auf den Tabellenkopf-Click-Event abfangen AWT, Swing, JavaFX & SWT 2
C JPanel erst nach Button click anzeigen. AWT, Swing, JavaFX & SWT 11
R JTable: Maus-Click ohne Datensätze AWT, Swing, JavaFX & SWT 9
V Click auf JTable (Zeile) liefert den Eintrag? AWT, Swing, JavaFX & SWT 11
G Double-Click f. alle Komps UNIX u. WIN verschieden ? AWT, Swing, JavaFX & SWT 5
G JTable sortieren durch click im Header AWT, Swing, JavaFX & SWT 9
W SWT - Tree: Problem mit Double-Click expand AWT, Swing, JavaFX & SWT 5
J Aktion bei Click auf Blatt auslösen AWT, Swing, JavaFX & SWT 6
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
elischa JFrame über mehrere JPanel und Listener AWT, Swing, JavaFX & SWT 17
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
P JPanel- Listener durch JTextArea aktivieren AWT, Swing, JavaFX & SWT 8
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

Ähnliche Java Themen

Neue Themen


Oben