Buttonsymbole

Status
Nicht offen für weitere Antworten.
hallo!

ich habe einen button, auf dem ein "start"-zeichen ist. ich will nun in meinem actionlistener festlegen, dass wenn man den knopf drückt, stattdessen ein "pause"-symbol erscheint und umgekehrt.

als ich nur text auf den buttons stehen hatte war es kein problem, da habe ich das mit

Code:
if(btPlay.getText().equals("Start")

abgefragt, aber wie geht das wenn ich nun statt text symbole habe?
 

The_S

Top Contributor
Speicher dir doch einfach zusätzlich ein boolean der auf true steht wenn auf dem Button das "Start" Symbol ist und auf false wenn dort das "Pause" Symbol ist.
 
also ich steh vielleicht auf dem schlauch, aber ich muss doch sagen:
wenn das gif1 auf dem button ist, ist der boolean wert 1 und wenn gif2 drauf ist, ist der wert 2.
von daher muss ich ja dann doch wissen, wie ich abfrage, welches symbol drauf ist
 

mattulla

Bekanntes Mitglied
also zu anfang haste dein startsymbol und einen booleanwert der steht auf true. wenn dann jemand den button drueckt fragst du den booleanwert ab, weil der true ist weisst du das mom das startsymbol dargestellt wird. also machst du das pausesymbol auf den button und setzt den booleanwert auf false. wenn erneut auf den button gedrueckt wird fragst du wieder den booleanwert ab dieser steht nun auf false und du weisst, dass das pausesymbol auf dem button ist. also machst du wieder das startsymbol auf den button und setzt den booleanwert auf true. und so geht es halt immer weiter.

Den booleanwert kannst als stellvertreter fuer das symbol sehen. ist dieser true ist das startsymbol eingeblendet und bei false halt das pausesymbol.
[/code]
 

The_S

Top Contributor
Nein.

Dein Button hat z. B. den Startwert start und dein boolean den Startwert true. Klick man jetzt auf den Button schaust du ob der boolean true oder false ist. ist er true setzt du den Wert false für den boolean und für den Button das Icon pause. Ist der boolean false setzt du ihn auf true und für den Button das Icon start.
 

lin

Top Contributor
sowas in der Art..
Code:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.MalformedURLException;
import java.net.URL;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;

public class StartPauseButton extends JFrame implements ActionListener {
	private JButton button;
	private ImageIcon iconStart, iconPause;
	private boolean isPaused = false;
	

	public StartPauseButton() {
		try {
			iconStart = new ImageIcon(
					new URL("http://www.hep.ucl.ac.uk/~andy/CERNart/slideshow/images/play.gif"));
			iconPause = new ImageIcon(
					new URL("http://www.napoleon-menton.com/new/pause.gif"));
		} catch (MalformedURLException e) {
			e.printStackTrace();
		}
		
		button = new JButton(iconStart);
		button.setActionCommand("START_PAUSE_BUTTON");
		button.addActionListener(this);
		
		add("Center", button);
		pack();
	}

	public void actionPerformed(ActionEvent ae) {
		if(ae.getActionCommand().equals("START_PAUSE_BUTTON")) {
			if(isPaused) {
				button.setIcon(iconStart);
				isPaused = false;
			} else {
				button.setIcon(iconPause);
				isPaused = true;
			}
		}
	}

	public static void main(String[] args) {
		new StartPauseButton().setVisible(true);
	}
}
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben