JToggleButton

pl4gu33

Top Contributor
Hey,...

ich hab einige Fragen zum JToggleButton,...

1. ich will im geklickten Zustand ein Bild anzeigen lassen, Problem ist bloss, dass er es nicht zentriert anzeigt sondern verschoben nach rechts halb aus dem Button raus ... ich habe schon mit setIconTextGap(iconTextGap) rumprobiert aber das bringt mich auch net weiter habt ihr dafür ne Lösung?

2. wenn man auf den Button klickt wird son kleines Viereck makiert sozusagen, auf den aktuell ausgewählen Button kann man das irgendwie ausstellen,... sozusagen der Focus den man auch mit TAB verschieben kann
 

pl4gu33

Top Contributor

danke schonmal für 2 das hat super geklappt :)

zu 1. ich meinte das so, dass ich meinem Button mit "this.setSelectedIcon(Icon);" nen Icon zuweise, welches er im Selected Zustand anzeigt. Problem hier bei ist, dass das Bild immer am unteren Teil des Buttons angezeigt wird, aber ich finde auch in dem Link keine Methoden um das SelectedIcon zu verschieben... für das normale Icon gibts nen paar Methoden aber das passt... hoffe meine Frage ist jetzt etwas klarer geworden :)
 

eRaaaa

Top Contributor
Mhmm, kannst du mal deinen Code zeigen? Anscheinend erweiterst du ja auch den ToggleButton?! ;/

Habs mal eben bei mir ausprobiert, hier wirds normal zentriert:
Java:
	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				try{
				JFrame frame = new JFrame();
				JPanel panel = new JPanel(new BorderLayout());
				JToggleButton btn = new JToggleButton();
				btn.setIcon(new ImageIcon(new URL("http://www.java-forum.org/images/buttons/quote.gif")));
				btn.setSelectedIcon(new ImageIcon(new URL("http://www.java-forum.org/images/buttons/edit.gif")));
				btn.setFocusPainted(false);
				panel.add(btn);
				frame.add(panel);
				frame.setSize(200, 100);
				frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				frame.setLocationRelativeTo(null);
				frame.setVisible(true);
				}catch(Exception e){
					e.printStackTrace();
				}
			}
		});
	}
 

pl4gu33

Top Contributor
hier ist meine Klasse für die Karten :

Java:
import java.awt.BorderLayout;
import java.awt.Graphics;

import javax.swing.ImageIcon;
import javax.swing.JToggleButton;

import App.Spielfeld;

public class GUIKarte extends JToggleButton{
		/**
	 * 
	 */
	        private static final long serialVersionUID = 1L;
		private ImageIcon mHinten;	
		public GUIKarte(ImageIcon vorne,ImageIcon hinten){
			super(vorne);								
			mHinten=hinten;				
			this.setSelectedIcon(hinten);			
			this.setFocusPainted(false);			
		}
				
		public ImageIcon getHinten(){
			return mHinten;
		}
}

Zur Erklärung, diese Karten werden erstellt und angeordnet vorne stellt dabei halt das Bild im nicht-Selected Button dar und hinten das Bild im Selected Button... bei deinem Beispiel isses vll. etwas unglücklich, dass du so kleine Schlatflächen genommen hast, weil diese würde bei mir im Selected Zustand auch mehr oder weniger zentriert sein,... Problem ist bloss, dass meine Bilder etwas größer sind als diese Icons und sich daher von der Mitte aus nach unten rechts zum Buttonrand hinziehen... hab dir mal nen Bild dran gehängt im Selected Zustand mit deinem Icon
also meine Buttons werden in ein Panel mit Gridlayout geaddet 6x6....

HINWEIS: ich hab das Problem gefunden,.... es liegt daran, dass wenn das Bild größer / kleiner als das auf der Rückseite ist, verschiebt sie eins der beiden Bilder,...mm das is ja eklig :D
 
Zuletzt bearbeitet:

eRaaaa

Top Contributor
HINWEIS: ich hab das Problem gefunden,.... es liegt daran, dass wenn das Bild größer / kleiner als das auf der Rückseite ist, verschiebt sie eins der beiden Bilder,...mm das is ja eklig :D

Hehe, genau das wollt ich dich gerade fragen :)
Vllt gibts da einen besseren Workaround, aber wie wärs, wenn du einfach das kleinere Bild auf die gleiche Größe bringst und dann das eigentliche Bild einfach selbst zentrierst?
 

pl4gu33

Top Contributor
Hehe, genau das wollt ich dich gerade fragen :)
Vllt gibts da einen besseren Workaround, aber wie wärs, wenn du einfach das kleinere Bild auf die gleiche Größe bringst und dann das eigentliche Bild einfach selbst zentrierst?

jop ich hab die Bilder jetzt angepasst, dass sie alle gleich groß ca. sind so gings auch ... dann danke :D
auf sowas muss man erstmal kommen :p :D
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C JToggleButton disabled Text Color AWT, Swing, JavaFX & SWT 11
Paul15 JCheckBox und JToggleButton AWT, Swing, JavaFX & SWT 5
P Swing JToggleButton Links- und Rechtsklick AWT, Swing, JavaFX & SWT 4
T Swing JToggleButton Zustand AWT, Swing, JavaFX & SWT 2
E JToggleButton automatisch nach drücken loslassen AWT, Swing, JavaFX & SWT 3
V Swing Custom JToggleButton in JTable - Click-Event geht erst beim zweiten Mal AWT, Swing, JavaFX & SWT 7
kodela Swing JToggleButton und Tastatur AWT, Swing, JavaFX & SWT 2
P Swing JComboBox mit JToggleButton kombinieren AWT, Swing, JavaFX & SWT 4
C ausgewählte JtoggleButton als Variablenwert ausgeben AWT, Swing, JavaFX & SWT 14
B JToggleButton und StyledEditorKit.ItalicAction() AWT, Swing, JavaFX & SWT 2
M Swing Selektion mehrerer JToggleButton's in einer Gruppe AWT, Swing, JavaFX & SWT 5
K JToggleButton deaktivieren (komplettes event nehmen) AWT, Swing, JavaFX & SWT 2
C Swing JToggleButton und Icon AWT, Swing, JavaFX & SWT 2
G JToggleButton - Hintergrundfarbe beim Drücken festlegen AWT, Swing, JavaFX & SWT 4
G JToggleButton pressed geht nicht AWT, Swing, JavaFX & SWT 2
gieser jToggleButton: Text unter Bild AWT, Swing, JavaFX & SWT 2
F JToggleButton in AWT umsetzen (Button soll stecken bleiben) AWT, Swing, JavaFX & SWT 4
G JToggleButton AWT, Swing, JavaFX & SWT 6
G welcher Jtogglebutton geklickt? AWT, Swing, JavaFX & SWT 3
G JToggleButton mit Bild AWT, Swing, JavaFX & SWT 6
O ButtonGroup + JToggleButton &;nbsp] AWT, Swing, JavaFX & SWT 6
S Zweidimensionales Array - JToggleButton AWT, Swing, JavaFX & SWT 3
E JToggleButton Zustandsänderung AWT, Swing, JavaFX & SWT 4
M JToggleButton immer nur einen aktivieren AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen


Oben