Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo Leutz,

hab ma wieder ne Frage:

Un zwar hab ich einen JButton, der mit nem ActionListener z.B eine Hälfte einer SplitPane sichtbar macht. Wenn ich ein weiteres Mal auf den Button drücke, soll die Hälfte wieder verschwinden. Also hab ich mir das so gedacht:

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(ActionEvent e) {

jButton1_actionPerformed(e);

}

});

...und dann...

void jButton1_actionPerformed(ActionEvent e) {

if(bottomPane.isVisible() == false) {

bottomPane.setVisible(true);

}

else {

bottomPane.setVisible(false);

}

So, sieht einfach aus, ist es eigentlich auch. Ich kann mir nur nicht erklären, warum das ganze nur einmal funktioniert. Also drücke Button --> SplitPane da --> drücke Button --> SplitPane weg --> drücke Button --> nix tut sich mehr.

Kann mir jemand helfen?

Danke.

Geschrieben

Hi!

Also auf Anhieb seh ich da keinen Fehler oder dergleichen..

Aber poste doch mal deinen kompletten Quellcode, vielleicht finden wir ja dann die Lösung deines Problems! Ist außerdem einfacher zu testen!

(Copy,Paste&Compile! :D:D:D)

Gruß

Azrael

Geschrieben

Es geht noch ein kleines bisschen einfacher (deine if-Abfrage).

void jButton1_actionPerformed(ActionEvent e) {

bottomPane.setVisible( !bottomPane.isVisible() );

}

Geschrieben

Danke, hat aber auch nix gebracht. Den ganzen Source kann/darf ich leider nicht

posten.

Vielleicht gehts ja gar nicht mit ActionPerformed sondern mit ItemStateChange oder

PropertyChange oder stateChanged?

Hm, muß mal nach nem anderen Lösungsweg suchen.

Geschrieben

Hier die Lösung:

void jButton1_actionPerformed(ActionEvent e) {

if(bottomPane.isVisible())

bottomPane.setVisible(false);

else {

bottomPane.setVisible(true);

}

jSplitPane1.updateUI();

}

jSplitPane1.updateUI() --- durch Zufall drauf gestoßen. Hab mir ja gedacht, dass es

einfach sein muß.

Bis denne....

Geschrieben

Anstatt:

Original geschrieben von GeneralChang

void jButton1_actionPerformed(ActionEvent e) {

if(bottomPane.isVisible())

bottomPane.setVisible(false);

else {

bottomPane.setVisible(true);

}

jSplitPane1.updateUI();

}

einfach

void jButton1_actionPerformed(ActionEvent e) {

	bottomPane.setVisible( !bottomPane.isVisible() );

	jSplitPane1.updateUI();

}

!

Ist wesentlich schöner und vor allem ohne "if"!!:D

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...