| 

.NET C# Java Javascript Exception

2
Also ich habe ein Wizard, wo textfelder sind und neben jedem Textfeld ein Button.
ICh möchte jedoch den jeweiligen Button(der zum Textfeld gehört) nur angezeigt bekommen, wenn im Textfeld der Focus ist.
Das habe ich auch alles hin bekommen, :applaus:

JEDOCH wenn ich jetzt auf den Button drücken möchte, passiert nichts, weil ja der Focus dann vom Textfeld weg ist und dadurch mein Button nicht mehr sichbar ist.

Wie kann ich das realisieren?



So hatte ich es eigentlich....

/**
* Registriert auf dem übergebenen {@link Text} ein Listener, der den übergebenen Button sichbar
* macht, wenn der Focus auf dem Text ist.
*
* @param text
* der Text auf dem der Listener gesetzt wird
* @param button
* der Button, der sichbar und nicht sichtbar wird
*/
private void addFocusListener(Text text, final Button button) {
text.addFocusListener(new FocusListener() {

@Override
public void focusLost(FocusEvent e) {
button.setVisible(false);
}

@Override
public void focusGained(FocusEvent e) {
button.setVisible(true);
}
});
}


Jetzt habe ich das so versucht:

/**
* Registriert auf dem übergebenen {@link Text} ein Listener, der den übergebenen Button sichbar
* macht, wenn der Focus auf dem Text ist.
*
* @param text
* der Text auf dem der Listener gesetzt wird
* @param button
* der Button, der sichbar und nicht sichtbar wird
*/
private void addFocusListener(Text text, final Button button) {
text.addFocusListener(new FocusListener() {

@Override
public void focusLost(FocusEvent e) {

button.addFocusListener(new FocusListener() {

@Override
public void focusLost(FocusEvent e) {
button.setVisible(false);
}

@Override
public void focusGained(FocusEvent e) {}
});

}

@Override
public void focusGained(FocusEvent e) {
button.setVisible(true);
}
});
}


So ist das Problem, das der Button nur weg geht wenn ich den Button auch drücke.
Jedoch wenn ich den Button nicht benötige, was gut sein kann und ins nächste Textfeld gehe, bleibt der alte Button noch bestehen, was nicht sein soll..


Ich hoffe es war verständlich und mir kann jemand helfen
News:
10.07.2014
tanzverfuehrung 147 8
1 Antwort
0
Ich habe mein Problem selbst gelöst, in dem ich mir eine Liste von allen Buttons zusammen stelle.
Und dann alle nciht sichbar mache und immer nur den einen Sichbar mache.
Also so dass focusLost() nie benutzt wird, weil das nciht funktionieren kann.

/**
* Registriert auf dem übergebenen {@link Text} ein Listener, der den übergebenen Button sichbar
* macht, wenn der Focus auf dem Text ist.
*
* @param text
* der Text auf dem der Listener gesetzt wird
* @param button
* der Button, der sichbar und nicht sichtbar wird
*/
private void addFocusListener(Text text, final Button button) {
text.addFocusListener(new FocusListener() {

@Override
public void focusLost(FocusEvent e) {}

@Override
public void focusGained(FocusEvent e) {
for (Button b : buttons) {
b.setVisible(false);
}
button.setVisible(true);
}
});
}
10.07.2014
tanzverfuehrung 147 8

Stelle deine Java-Frage jetzt!