Hallo,
ich hab ein äußerst merkwürdiges Problem. Zuerst, ich verwende : Fedora 10 mit Sun JDK 1.6.0.12 x64, Netbeans 6.1
Hab ein Projekt in dem ich Gatter zusammensetzen kann. Die gatter habe ich als erweitertes JPanel realisiert. Mein Konstanten habe ich als Interface deklariert.
Hier scheint wohl auch das Problem zu liegen. Wenn ich mein Programm starte, werden scheinbar änderungen an den Konstanten nicht berücksichtig. MErkwürdig: Wenn ich mit dem Debugger die Variablen verfolge, werden die Konstanten richtig angezeigt, die Berechnungen mit ihnen sind aber trotzdem falsch. Ansonsten macht das Programm was es soll, nur das änderungen nicht übernommen werden, why ever.
Achja, wenn ich zB die Konstanten durch ne variable ersetze, starte, schließen und das ganze rückgängig mache(also eigentlich nichts am Code verändern) nimmt er die aktuellen Konstanten.
Hier mal ein ausschnitt. Die Größe des Panels wird nicht richtig geändert und auch andere Konstantenzugriffe sind fehlerhaft.
[/code]
ich hab ein äußerst merkwürdiges Problem. Zuerst, ich verwende : Fedora 10 mit Sun JDK 1.6.0.12 x64, Netbeans 6.1
Hab ein Projekt in dem ich Gatter zusammensetzen kann. Die gatter habe ich als erweitertes JPanel realisiert. Mein Konstanten habe ich als Interface deklariert.
Hier scheint wohl auch das Problem zu liegen. Wenn ich mein Programm starte, werden scheinbar änderungen an den Konstanten nicht berücksichtig. MErkwürdig: Wenn ich mit dem Debugger die Variablen verfolge, werden die Konstanten richtig angezeigt, die Berechnungen mit ihnen sind aber trotzdem falsch. Ansonsten macht das Programm was es soll, nur das änderungen nicht übernommen werden, why ever.
Achja, wenn ich zB die Konstanten durch ne variable ersetze, starte, schließen und das ganze rückgängig mache(also eigentlich nichts am Code verändern) nimmt er die aktuellen Konstanten.
Hier mal ein ausschnitt. Die Größe des Panels wird nicht richtig geändert und auch andere Konstantenzugriffe sind fehlerhaft.
Code:
public abstract class LogiBase extends JPanel implements Constants
{
...
private void initShape()
{
setLocation(DEFAULT_LOCATION);
int height = (int) (DEFAULT_SIZE_PER_PIN.getHeight() * (
(DEFAULT_PINS_INPUT > DEFAULT_PINS_OUTPUT) ? DEFAULT_PINS_INPUT : DEFAULT_PINS_OUTPUT));
setSize((int) DEFAULT_SIZE_PER_PIN.getWidth();
}
...
}
public interface Constants {
final Dimension
DEFAULT_SIZE_PER_PIN = new Dimension(80,50),
MIN_SIZE = new Dimension(100,50);
final int
DEFAULT_PINS_INPUT = 2,
DEFAULT_PINS_OUTPUT = 1;
}