JTabbedPane auf Ereignisse reagieren

Status
Nicht offen für weitere Antworten.

Frank the B.

Mitglied
Hallo, also ich habe folgendes Problem und hoffe wie immer auf Eure Hilfe :):
Ich habe ein(e) JTabbedPane und würde nun gerne immer wenn ein neuer Reiter ausgewählt wird, also der Nutzer einen neuen Tab zum Anschauen auswählt, auf eben dieses Ereignis reagieren. Die Java implementierung unterscheidet ja nicht zwischen den drei Maustasten (bei allen wird der ausgewählte Tab dann dem Nutzer sichtbar gemacht). Ich hätt aber gern, dass, wenn man zum Beispiel die rechte Maustaste drückt, ein Popupmenü kommt....
Ich weiß nur nicht,welchen Listener ich dafür nehmen muss.
Hoffe Ihr wisst mehr als ich.
MfG
Frank.
 

max40

Bekanntes Mitglied
MouseListener kannst dafür verwenden
und z.B. bei mouseClicked(MouseEvent e)
kannst du mit SwingUtilities.isLeftMouseButton(e), isMiddleMouseButton(e) oder isRightMouseButton(e) die Maustaste abfragen die gedrückt wurde!
 

Frank the B.

Mitglied
mhm nein das geht nicht.
hier sonst mal teile meines codes vielleicht zum besseren verstehen:
Code:
public class TabsWithInternalDiagrams 
		extends JPanel 
		implements MouseListener{
	/**
	 * generated SerialID by eclipse.
	 */
	private static final long serialVersionUID = -2386312428856869425L;
	
        /* internal charts for reading *.ecf for graphical uses */
	private static JTabbedPane tabs = null;
	/* internal charts for reading *.ecf for internal uses */
	...
	
	/**
	 * normal Constructor. Creates a new TabbedPane for internal diagrams and a new Vector for internal use
	 * with internal charts. 
	 */
	public TabsWithInternalDiagrams(){
		tabs = new JTabbedPane();
		tabs.addMouseListener(this);
	}
...
@Override
	public void mouseClicked(MouseEvent e) {
		if (SwingUtilities.isRightMouseButton(e)){
			System.out.println("right mouse pressed");
		}
		
	}
	@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) {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void mouseReleased(MouseEvent e) {
		// TODO Auto-generated method stub
		
	}
}
da fehlen jetzt noch dinge(hinuzfügen neuer tabs, etc), die sind aber nicht wichtig.
MFG
Frank.
 

Frank the B.

Mitglied
also :)
1.) static nur deswegen, weil ich tabs in meiner Hauptklasse (mit der mainmethode) die tabs nutze und da muss ich das dann als static deklarieren (heißt doch nur, dass ich davon nur eins nutzen kann und is ja auch ok)
2.) meine addmethoden laufen einfach nur so, dass entweder das(der) aktuelle tab aktualisiert wird mit ner Klasse, die JPanel erweitert, oder eben ein neuer tab mit der klasse angehängt wird
sprich also tabs.add(hier die klasse) bzw. tabs.setComponentAt(int index, hier wieder die klasse)
mfg
 

max40

Bekanntes Mitglied
Hier vielleicht nicht ein perfektes Beispiel, aber es funktioniert!
Wenn ich mit der Rechten Maustaste auf einen Tab klicke, macht er genau das was er soll!
Vielleicht hilft es dir weiter!

[HIGHLIGHT="Java"]import java.awt.BorderLayout;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.WindowConstants;

public class TabsWithInternalDiagrams extends JPanel implements MouseListener {
/**
* generated SerialID by eclipse.
*/
private static final long serialVersionUID = -2386312428856869425L;

/* internal charts for reading.ecf for graphical uses */
private static JTabbedPane tabs = null;

/* internal charts for reading.ecf for internal uses */

/**
* normal Constructor. Creates a new TabbedPane for internal diagrams and a
* new Vector for internal use with internal charts.
*/
public TabsWithInternalDiagrams() {
super(new BorderLayout());
tabs = new JTabbedPane();
tabs.addMouseListener(this);
tabs.setSize(200, 200);

add(BorderLayout.CENTER, this.tabs);
new JTable();
}


@Override
public void mouseClicked(final MouseEvent e) {
if (SwingUtilities.isRightMouseButton(e)) {
System.out.println("right mouse pressed");
}
}

@Override
public void mouseEntered(final MouseEvent e) {
}

@Override
public void mouseExited(final MouseEvent e) {
}

@Override
public void mousePressed(final MouseEvent e) {
}

@Override
public void mouseReleased(final MouseEvent e) {
}


public static void main(final String[] args) {

final JFrame frame = new JFrame();
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

frame.add(new TabsWithInternalDiagrams());

tabs.addTab("1", new JPanel());
tabs.addTab("2", new JPanel());

frame.pack();
frame.setVisible(true);

}

}[/HIGHLIGHT]
 

Frank the B.

Mitglied
OH NEIN!! bin ich bekloppt :lol::lol:
vielen dank für deine hilfe; ich hatte in der methode, die den konstructor aufruft einfach nur geschrieben "tabs = new JTabbedPane()" und damit war dann der Konstruktor natürlich fürn Arsch, weil nie aufgerufen (inclusive der Zeile "tabs.addMouseListener(this)...!! ;(
Aber dein quellcode öffnete mir die augen und nu gehts wunderbar.
Also
Vielen Dank nochmal.
MfG
Frank.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Fiedelbambu Vererbung JTabbedPane vererben in der MainView Java Basics - Anfänger-Themen 0
R JTabbedPane Java Basics - Anfänger-Themen 9
C Tabs in JTabbedPane wechseln, wenn Tabs in eigenen Klassen sind Java Basics - Anfänger-Themen 2
S Verhalten von JTextField in einem JTabbedPane (Register) Java Basics - Anfänger-Themen 6
T Icon auf einem JTabbedPane? Java Basics - Anfänger-Themen 6
J Erste Schritte JTabbedPane sichtbar und unsichtbar Java Basics - Anfänger-Themen 9
B JTabbedPane größe der Tabs ändern Java Basics - Anfänger-Themen 6
R JTabbedPane - Farbe ändern Java Basics - Anfänger-Themen 4
S JTabbedPane jeder Tab in einer eigenen java Datei? Java Basics - Anfänger-Themen 3
I Netbeans - jTabbedPane Hintergrundfarbe ändern Java Basics - Anfänger-Themen 13
X JTable in JPanel in JTabbedPane mouseevent von jtable kommt nicht durch Java Basics - Anfänger-Themen 3
M JTabbedPane Java Basics - Anfänger-Themen 2
A JTable im JTabbedPane Java Basics - Anfänger-Themen 2
H JTabbedPane: Tab-Wechsel unterbinden ? Java Basics - Anfänger-Themen 6
Spin JTabbedPane Java Basics - Anfänger-Themen 10
Developer_X Jtabbedpane showPane(xpane)? Java Basics - Anfänger-Themen 2
H JTabbedPane wartet auf Eingabe Java Basics - Anfänger-Themen 3
G LAF JTabbedPane Java Basics - Anfänger-Themen 3
L JTabbedPane, richtige Übergabe von Tabs Java Basics - Anfänger-Themen 18
T Dynamischer JTabbedPane Probleme mit JTextArea Java Basics - Anfänger-Themen 2
C jTabbedPane JScrollPane und jPanel Java Basics - Anfänger-Themen 3
C jTabbedPane selektierten Tab markieren Java Basics - Anfänger-Themen 2
G JTabbedPane Java Basics - Anfänger-Themen 3
S aus Resultset JTabbedPane erzeugen Java Basics - Anfänger-Themen 5
N Event auf JTabbedPane abfragen ? Java Basics - Anfänger-Themen 8
N jtabbedpane Java Basics - Anfänger-Themen 4
M JPanel und JTabbedPane macht probleme Java Basics - Anfänger-Themen 5
T JTabbedPane Java Basics - Anfänger-Themen 2
G JTabbedPane zugriff von anderer Methode Java Basics - Anfänger-Themen 2
G Toolbar bei JTabbedPane Java Basics - Anfänger-Themen 5
J Habe gerade erst mit Java begonnen - Frage zu JTabbedPane Java Basics - Anfänger-Themen 3
O JToolBar wird Tab in JTabbedPane statt Toolbar in JFrame Java Basics - Anfänger-Themen 6
S Grafik verschwindet aus JTabbedPane Java Basics - Anfänger-Themen 4
R JTabbedPane wird nicht angezeigt Java Basics - Anfänger-Themen 5
P Fenster schliessen aus JTabbedPane/JPanel Java Basics - Anfänger-Themen 3
lulas[]args Erste Schritte Array Ereignisse Java Basics - Anfänger-Themen 7
S Auf Ereignisse anderer Klasse reagieren! Java Basics - Anfänger-Themen 2
D BUTTON EREIGNISSE Java Basics - Anfänger-Themen 2
P Bitte um ein paar Tipps! (Threads, Warten auf Ereignisse,.) Java Basics - Anfänger-Themen 2
R App soll selbstständig reagieren, anstatt via Models Java Basics - Anfänger-Themen 0
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
J Auf Pfeiltasten reagieren Java Basics - Anfänger-Themen 3
B Button soll sowohl auf Klicken als auch auf die Enter-Taste reagieren Java Basics - Anfänger-Themen 9
A Nach Druck eines Buttons reagieren andere Button nicht Java Basics - Anfänger-Themen 3
P Auf Button-Klick außerhalb der GUI-Klasse reagieren Java Basics - Anfänger-Themen 10
S Listener reagieren nicht mehr Java Basics - Anfänger-Themen 3
S Je nach erhaltene Daten unterschiedlich reagieren (Design Pattern?) Java Basics - Anfänger-Themen 3
P mousevents bei Maus und touchscreen reagieren unterschiedlich Java Basics - Anfänger-Themen 1
L Auf herunterfahren des PCs reagieren und Datensatz update machen Java Basics - Anfänger-Themen 15
J Fehlermeldung reagieren Java Basics - Anfänger-Themen 10
T Input/Output Direkt auf Eingabe reagieren Java Basics - Anfänger-Themen 8
c_sidi90 Auf Änderung im Programm reagieren. Java Basics - Anfänger-Themen 6
R Auf auswahl in ner JComboBox reagieren Java Basics - Anfänger-Themen 3
Kukulkan Java-Version (ME, SE) erkennen und darauf reagieren? Java Basics - Anfänger-Themen 35
E auf Tastatur reagieren Java Basics - Anfänger-Themen 8
J Auf ActionEvents in "anderer" Klasse reagieren Java Basics - Anfänger-Themen 2
J Auf Tastendruch reagieren Java Basics - Anfänger-Themen 4
K Auf Eingabe reagieren Java Basics - Anfänger-Themen 6
Z Auf Clipboardänderung reagieren ohne Fokus der Apllikation Java Basics - Anfänger-Themen 2
J auf ausgabe am monitor reagieren Java Basics - Anfänger-Themen 16
H KeyListener will nicht reagieren Java Basics - Anfänger-Themen 5
G GUI mit Swing - Zahlen ausgeben und auf Aktion reagieren Java Basics - Anfänger-Themen 2
G jFileChooser auf den Abbrechen-Button reagieren Java Basics - Anfänger-Themen 3
I Auf Abbruch (X) reagieren Java Basics - Anfänger-Themen 9
M JTextField auf RETURN reagieren Java Basics - Anfänger-Themen 2
raptorrs JPanel reagieren nicht auf ActionListener Java Basics - Anfänger-Themen 3
G reagieren wenn Ja gedrückt wird Java Basics - Anfänger-Themen 2
G Auf 2 Tasten reagieren Java Basics - Anfänger-Themen 10
W Innerhalb TableModel auf aktivierte Reihe reagieren Java Basics - Anfänger-Themen 3
G DefaultTreeCellRenderer auf Änderung reagieren Java Basics - Anfänger-Themen 11
B Button - auf Maus reagieren Java Basics - Anfänger-Themen 16
D JPanel soll auf Veränderungen reagieren! Java Basics - Anfänger-Themen 6
C Klasse muss auf Event in einer anderen Klasse reagieren Java Basics - Anfänger-Themen 7
G Auf Strings verschieden reagieren Java Basics - Anfänger-Themen 3
W Java Spiele reagieren langsamer Java Basics - Anfänger-Themen 3
L Bei Klick auf einen Button reagieren - Wahrer Anfänger! Java Basics - Anfänger-Themen 3
G Methoden in Menüleiste sollen auf Frame reagieren Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben