JButton in Hintergrund zwingen?

Status
Nicht offen für weitere Antworten.

Verjigorm

Top Contributor
Hi,

folgendes Problem:

2Buttons liegen teilweise übereinander.
Einer ist also quasi "oben" und einer unten drunter (vom User aus gesehen)

Wenn man nun auf den "unteren" Button klickt, springt der in den Vordergrund, das würde ich aber gerne vermeiden oder rückgängig machen.
hab da schon mit Fokus etc. rumprobiert, aber will nicht so wie ich möchte ;)

Mal ein KSKB zur Anschauung:
Code:
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class KSKB 
{
	
	public static void main(String[] args) 
	{
		JFrame frame = new JFrame();
		JPanel panel = new JPanel();
		JButton unten = new JButton("unten");
		JButton oben = new JButton("oben");
		
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setLocation(200,200);
		frame.setSize(350,200);
		
		unten.setBounds(50, 50, 200, 25);
		unten.setRolloverEnabled(false);
		oben.setRolloverEnabled(false);
		oben.setBounds(50, 50, 100, 50);
		
		panel.setLayout(null);
		panel.add(oben);
		panel.add(unten);
		
		frame.add(panel);
		frame.setVisible(true);
	}
}

mfg Verjigorm
 
M

MiDniGG

Gast
Geht mit requestFocus();

Guckst du:

Code:
public class Main implements ActionListener{ 
    
	JButton unten = null;
	JButton oben = null;
	JFrame frame = null;
	JPanel panel = null;
	
    public Main() { 
    	frame = new JFrame(); 
        panel = new JPanel(); 
        unten = new JButton("unten"); 
        oben = new JButton("oben"); 
         
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        frame.setLocation(200,200); 
        frame.setSize(350,200); 
         
        unten.setBounds(50, 50, 200, 25); 
        unten.setRolloverEnabled(false); 
        oben.setRolloverEnabled(false); 
        oben.setBounds(50, 50, 100, 50); 
         
        panel.setLayout(null); 
        panel.add(oben); 
        panel.add(unten); 
         
        frame.add(panel); 
        frame.setVisible(true);
        
        unten.addActionListener(this);
        oben.addActionListener(this);
    } 
    
    public static void main(String[] args) {
    	new Main();
    }

	public void actionPerformed(ActionEvent arg0)
	{
		if(arg0.getSource() == unten){
	        oben.requestFocus();
		}
	} 
}
 

Verjigorm

Top Contributor
hmpf :D wieso wusste ich nur, dass diese Antwort kommt.
Ich hätte dazuschreiben sollen, dass die Buttons sich nicht gegenseitig kennen und auch keine Logik existiert, die sowas kontrolliert, ob buttons übereinanderliegen.

Der gedrückte Button soll einfach nicht nach oben poppen
(und bitte jetzt keine Vorschläge mit JLabels und so ;) )
 
M

MiDniGG

Gast
Dacht ich mir doch gleich, dass du ned nach sowas einfachem suchst ^^

Was fürn Vorschlag mit JLabel denn???

Also ich finds verwirrend. Hab jetzt auch ma en bisschen rumgestöbert und rumversucht... Aba zu was gekommen bin ich au ned... Wenn was findest sag Bescheid :)
 
M

Michael...

Gast
abgesehen davon, dass mir der Nutzen von teilverdeckten Buttons nicht klar ist könnte man jedem Drücken eines x-beliebigen Buttons eine Schleife durchlaufenlassen
Code:
for (int i=0; i<panel.getComponentCount(); i++)
	panel.getComponent(i).requestFocus();
 

Verjigorm

Top Contributor
Michael... hat gesagt.:
abgesehen davon, dass mir der Nutzen von teilverdeckten Buttons nicht klar ist könnte man jedem

Das sind alles selbstgezeichnete Grafik-Objekte, die man später nimmer als Button erkennt, aber halt klickbar sind mit Actionlistener und so Zeugs.


Michael... hat gesagt.:
...könnte man jedem Drücken eines x-beliebigen Buttons eine Schleife durchlaufenlassen

das würde das ganze ja nur noch schlimmer machen, wenn plötzlich nen paar Hundert komponenten mal wahllos durchfokussen ;)

@MiDniGG:
Anstatt nen JButton abzuleiten hätte man das auch mit JLabels machen können, da hätte ich jetzt die Probleme nicht ...
Aber dafür wohl andere ... Mein Chef war der Meinung Buttons wären besser
 
M

MiDniGG

Gast
LOL ok ^^ Immer diese Chefs ^^

Naja. So wie es aussieht musst eben selber ne Methode dafür schreiben. Da ja eh alles selbst zeichnest, kannst doch auch bestimmt modifizierte Buttons nutzen, oder?! Kenn mich mim Zeichnen ned soo gut aus... :)
 

Verjigorm

Top Contributor
Ist für mich auch Neuland :D
ich habs jetzt erstmal so gelöst:

Nach dem Zeichnen des Buttons hab ich ein Flag gesetzt.
Solange das Flag gesetzt ist, wird in der paintComponent nixmehr gezeichnet.
Das behebt mein Problem erstmal.
Da ich ja eh alles selbst resize etc. weil ich keinen Layoutmanager benutze, kann ich auch das Flag dann selbst verändern, falls was aktualisiert werden soll.

Mal schauen ob das mich nicht irgendwann einholt und ich es dann doch anders machen muss :D
 
M

Michael...

Gast
was kann denn ein Button, was z.B. ein Label nicht kann?
Mit Labels und nem MouseListener, wäre das ganze kein Aufwand.
 
M

MiDniGG

Gast
Es liegt ja am Chef.... ;-)

@Verjigorm: Bin übrigens mal gespannt, wies weiter geht :)
 

Verjigorm

Top Contributor
Michael... hat gesagt.:
Ach so. Der Chef hat natürlich immer Recht :wink:

jo, zum Glück isser die Woche in Urlaub :)

Wo wir aber grade dabei sind:
Kann mir jemand mal bitte die Zeichenreihenfolge bei übereinanderliegenden Buttons/Labels erklären?

ich add Button1, Button2, Button3 zum Panel hinzu, die alle teilweise übereinanderliegen
Nun würde ich davon ausgehen, dass Button1 zuerst gezeichnet wird, Button2 da drüber und Button3 dann ganz zum Schluss und sollte dann doch eigentlich Button1 und Button2 überzeichnen
Aber irgendwie erscheint das genau umgekehrt
 
M

MiDniGG

Gast
hm. Ich glaub der macht des grad wie er will........
Hab mal zu deinem noch nen Button dazu gemacht den in die Mitte gesetzt. und in der Reihenfolge:
-mitte
-oben
-unten
gezeichnet. Dann ist oben ganz oben mitte unter oben und unten unten. Wenn ich aba auf oben drück und da hin wo der mitte liegt wird der mittebutton gedrückt.... Sehr komisch... sollte man mal googeln... ^^
 

Verjigorm

Top Contributor
Was fürn Blödsinn ich momentan mache könnt ihr auf dem Bild unten sehen (die Symbole habe ich so nicht verbrochen, die sind vorgegeben ...)

Es gibt halt massig Bauwerke auf und entlang einer Bahnstrecke, deswegen liegen die Dinger auch oft übereinander und verdecken sich dann gegenseitig und so.
Gibt noch massig weitere.

symboluebersicht.jpg
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D JButton - Nur Icon anzeigen / transparenter Hintergrund AWT, Swing, JavaFX & SWT 2
J JButton Hintergrund AWT, Swing, JavaFX & SWT 5
S JButton - Hintergrund verändern AWT, Swing, JavaFX & SWT 7
G JButton mit importFiles-Funktion auf JDrawPane AWT, Swing, JavaFX & SWT 5
B JButton Search AWT, Swing, JavaFX & SWT 8
B Swing JButton mit KeyListener AWT, Swing, JavaFX & SWT 3
L JButton durch Mausklick auslösen und Enter-Taste AWT, Swing, JavaFX & SWT 2
N Erlennen ob JButton gedrückt ist AWT, Swing, JavaFX & SWT 6
D JButton Form verändern AWT, Swing, JavaFX & SWT 4
R Grafik per JButton laden und austauschen lassen AWT, Swing, JavaFX & SWT 14
SvenPittelkow Programm soll auf JButton warten bis der geklickt wurde AWT, Swing, JavaFX & SWT 1
Badebay Problem mit JButton AWT, Swing, JavaFX & SWT 2
Z Swing Drag and Drop mit einem JButton AWT, Swing, JavaFX & SWT 1
Z Swing Kann man auf JButton zeichenen AWT, Swing, JavaFX & SWT 3
J JButton Icon hinzufügen AWT, Swing, JavaFX & SWT 5
U Swing JButton mit Icon AWT, Swing, JavaFX & SWT 7
ms_cikar Jbutton erzeugt neue Buttons AWT, Swing, JavaFX & SWT 2
Drachenbauer Swing Wie ändere ich die Farbe der Konturen von jButton und jCombobox? AWT, Swing, JavaFX & SWT 18
Drachenbauer Swing Wie ändere ich die helle geklickt-Farbe von einem JButton? AWT, Swing, JavaFX & SWT 4
A Swing JButton mit Pfeiltasten bewegen AWT, Swing, JavaFX & SWT 6
F Swing Scrollbare Liste von JButton AWT, Swing, JavaFX & SWT 4
Hatsi09 JButton text layout AWT, Swing, JavaFX & SWT 9
J JButton zum ändern Der Schriftart/Schriftgröße AWT, Swing, JavaFX & SWT 2
A Swing JButton aussehen AWT, Swing, JavaFX & SWT 12
J jButton soll nach klicken eine Variable um 1 erhöhen AWT, Swing, JavaFX & SWT 2
Legi Swing JButton Icon verschiebt sich AWT, Swing, JavaFX & SWT 2
T Swing Änderung des ActionListener Events nach Klick auf JButton AWT, Swing, JavaFX & SWT 2
S Swing JButton verschwindet nach Compilieren AWT, Swing, JavaFX & SWT 8
B Swing Posistion von JButton auslesen gibt immer 0 aus AWT, Swing, JavaFX & SWT 1
J Thread kennt JButton nicht. AWT, Swing, JavaFX & SWT 11
G Swing JButton ändert (unerwünscht) Größe bei Ausführung AWT, Swing, JavaFX & SWT 4
MR._FIRE_Flower Variable setzten mit JButton AWT, Swing, JavaFX & SWT 5
S Mit JButton neues Fester öffnen und das alte schließen AWT, Swing, JavaFX & SWT 3
T JButton wird beim vergrößern des Fensters erst sichtbar AWT, Swing, JavaFX & SWT 4
R Swing Verändern der Ausrichtung JButton und neu anzeigen AWT, Swing, JavaFX & SWT 2
G Swing JButton - Keine Klickanimation AWT, Swing, JavaFX & SWT 4
Joker4632 JButton nicht sichtbar, aber funktionsfähig AWT, Swing, JavaFX & SWT 8
B Swing JButton deaktivieren, wenn nicht alle JTextFields ausgefüllt sind. AWT, Swing, JavaFX & SWT 2
D JButton per Tastenkombi auswählen AWT, Swing, JavaFX & SWT 2
K JButton nicht sichtbar machen für User 2 AWT, Swing, JavaFX & SWT 4
L Swing JButton soll link öffnen AWT, Swing, JavaFX & SWT 1
K JButton auf anderer Klasse AWT, Swing, JavaFX & SWT 6
A JButton soll durch anklicken die Farbe wechseln AWT, Swing, JavaFX & SWT 8
T KeyListener funktioniert nicht wenn ich ein JButton hinzufüge AWT, Swing, JavaFX & SWT 1
R Swing ActionListener bei JButton AWT, Swing, JavaFX & SWT 9
B JButton -> Rahmen wegbekommen AWT, Swing, JavaFX & SWT 7
N JButton über benutzerdefinierte paintComponent setzen AWT, Swing, JavaFX & SWT 3
T JButton überlagern sich und werden erst beim Mausscrollen sichtbar AWT, Swing, JavaFX & SWT 2
B JButton erscheint in JFrame, obwohl er diesem nicht zugeordnet wurde! AWT, Swing, JavaFX & SWT 1
M JButton Probleme AWT, Swing, JavaFX & SWT 14
T Klasse über JButton schließen AWT, Swing, JavaFX & SWT 4
M Textfarbe JButton verändern AWT, Swing, JavaFX & SWT 2
N JButton ausblenden AWT, Swing, JavaFX & SWT 2
M Swing jButton Text verschwindet AWT, Swing, JavaFX & SWT 2
C Swing JButton wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
stylegangsta JLabel durch Klick auf JButton einblenden AWT, Swing, JavaFX & SWT 16
stylegangsta Eigene Klasse für JButton aus dem JFrame abrufen AWT, Swing, JavaFX & SWT 29
stylegangsta MouseEvents aus JButton aufrufen AWT, Swing, JavaFX & SWT 3
stylegangsta JButton Transparent anzeigen AWT, Swing, JavaFX & SWT 9
stylegangsta JButton Fehelr javax.swing.ImageIcon.<init>(Unknown Source) AWT, Swing, JavaFX & SWT 24
X Swing JButton's zum JScrollPane hinzufügen geht nicht. Bitte um Hilfe. AWT, Swing, JavaFX & SWT 9
S JButton-Label vergrößern AWT, Swing, JavaFX & SWT 2
J Swing Basics - JButton funktioniert nicht. AWT, Swing, JavaFX & SWT 1
L JButton mit ImageIcon/Fehlermeldung AWT, Swing, JavaFX & SWT 1
D jButton Problem, ein Rieser Button bedeckt das ganze frame AWT, Swing, JavaFX & SWT 1
L Array mit JButton, wie rausfinden auf welche JButton geklickt wurde + index des JButtons ausgeben AWT, Swing, JavaFX & SWT 4
K (GUI) JButton Farbe bei druck ändern AWT, Swing, JavaFX & SWT 3
L JButton mit Image AWT, Swing, JavaFX & SWT 5
fLooojava JButton [Focus) AWT, Swing, JavaFX & SWT 4
M JButton - Listener AWT, Swing, JavaFX & SWT 1
D jButton auf von jFrame erzeugtem jDialog AWT, Swing, JavaFX & SWT 16
L JButton flackern - Programm hängt sich auf AWT, Swing, JavaFX & SWT 3
L JButton - Größe anders als erwartet AWT, Swing, JavaFX & SWT 2
1 JButton nach Klick ausblenden AWT, Swing, JavaFX & SWT 6
X Swing 1 JButton bedeckt meine ganze Frame aber Warum? AWT, Swing, JavaFX & SWT 2
S Größe und Farbe vom JButton festlegen AWT, Swing, JavaFX & SWT 2
H Swing JList/JTable mit JButton, JTextField, Image, JComboBox und JLable AWT, Swing, JavaFX & SWT 2
J JButton neu zeichnen lassen AWT, Swing, JavaFX & SWT 9
S JButton u. Label auf paint-Methode AWT, Swing, JavaFX & SWT 1
HoloYoitsu Swing JButton in verschiedenen Winkeln drehen AWT, Swing, JavaFX & SWT 0
J vocab1 = new JButton(""+voc1.get(nr).toString()+""); AWT, Swing, JavaFX & SWT 16
A JButton wird bei ActionListener nicht "angenommen" AWT, Swing, JavaFX & SWT 7
BRoll JButton Text nicht ausblenden ("...") AWT, Swing, JavaFX & SWT 2
I JFrame mit JButton schließen? AWT, Swing, JavaFX & SWT 0
D JList&JButton erst nach Resize des JFRame sichtbar AWT, Swing, JavaFX & SWT 2
J Swing JFrame slideout, wenn JButton gedrückt wurde AWT, Swing, JavaFX & SWT 0
S Swing Rückmeldung für JButton AWT, Swing, JavaFX & SWT 4
R AWT JLabel oder JButton aktualisieren AWT, Swing, JavaFX & SWT 1
L JButton im Frame fest verankern AWT, Swing, JavaFX & SWT 0
M Swing Mix JComboBox - JButton? AWT, Swing, JavaFX & SWT 6
U Event Handling JButton Actionevent: starte Spiel AWT, Swing, JavaFX & SWT 4
E JButton füllt ganzes JPanel auf AWT, Swing, JavaFX & SWT 6
P Verbuggte custom JButton unter Windows AWT, Swing, JavaFX & SWT 9
W Swing JButton lässt sich nicht anzeigen AWT, Swing, JavaFX & SWT 8
Kandum Swing JButton - onclick -> Grafikfehler AWT, Swing, JavaFX & SWT 2
R JButton durch Enter auslösen AWT, Swing, JavaFX & SWT 7
T Swing JButton per Drag&Drop verschieben AWT, Swing, JavaFX & SWT 5
M Problem mit FlowLayout, JLabel und JButton AWT, Swing, JavaFX & SWT 4
M JButton wird von JTree überdeckt AWT, Swing, JavaFX & SWT 4
D Swing JButton.setenabled(true) funktioniert nicht AWT, Swing, JavaFX & SWT 12

Ähnliche Java Themen

Neue Themen


Oben