Hallo,
In meinem Stradoku Programm habe ich zwei Ziffernblöcke mit je neun Buttons, über die Werte zugewiesen werden können. Das funktioniert unter Windows seit Jahren einwandfrei. Jetzt habe ich festgestellt, dass unter Linux von den Buttons nur die Beschriftung (1 bis 9), aber der Button selbst nicht angezeigt wird.
Ich kam daher auf den Gedanken, über jeden Button ein Icon mit der jeweiligen Ziffer zu legen. Das wird unter Linux dann auch angezeigt, aber jetzt wird kein Wert mehr übergeben.
Hier der wesentliche Auszug aus der Bearbeitungsmethode für die Übernahme eines Wertes, wenn der Anwender einen der Buttons aus dem Kandidatenblock anklickt.
In der ersten Zeile dieser Methode wird der für actionCommand jeweils festgelegte Wert als String abgefragt und nach Integer geparst.
Ist den Buttons aber ein Icon überlegt, wird ein leerer String zurückgegeben. Hier das Fehlerprotokoll:
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:592)
at java.lang.Integer.parseInt(Integer.java:615)
at stradoku.StradokuApp.kandidat_ActionPerformed(StradokuApp.java:3976)
Kann mir jemand sagen, warum bei den Buttons mit Icon der für actionCommand jeweils festgelegte Wert nicht übergeben wird?
kodela
PS: Problem ist gelöst:
getText() durch getActionCommand() ersetzen!
In meinem Stradoku Programm habe ich zwei Ziffernblöcke mit je neun Buttons, über die Werte zugewiesen werden können. Das funktioniert unter Windows seit Jahren einwandfrei. Jetzt habe ich festgestellt, dass unter Linux von den Buttons nur die Beschriftung (1 bis 9), aber der Button selbst nicht angezeigt wird.
Ich kam daher auf den Gedanken, über jeden Button ein Icon mit der jeweiligen Ziffer zu legen. Das wird unter Linux dann auch angezeigt, aber jetzt wird kein Wert mehr übergeben.
Hier der wesentliche Auszug aus der Bearbeitungsmethode für die Übernahme eines Wertes, wenn der Anwender einen der Buttons aus dem Kandidatenblock anklickt.
Java:
private void kandidat_ActionPerformed(java.awt.event.ActionEvent evt) {
int knd = Integer.parseInt(((JButton) evt.getSource()).getText());
...
...
}
In der ersten Zeile dieser Methode wird der für actionCommand jeweils festgelegte Wert als String abgefragt und nach Integer geparst.
Ist den Buttons aber ein Icon überlegt, wird ein leerer String zurückgegeben. Hier das Fehlerprotokoll:
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:592)
at java.lang.Integer.parseInt(Integer.java:615)
at stradoku.StradokuApp.kandidat_ActionPerformed(StradokuApp.java:3976)
Kann mir jemand sagen, warum bei den Buttons mit Icon der für actionCommand jeweils festgelegte Wert nicht übergeben wird?
kodela
PS: Problem ist gelöst:
getText() durch getActionCommand() ersetzen!
Zuletzt bearbeitet: