Hallo zusammen,
ich bin grad auf ein "Problemchen" gestoßen, das mich echt aus dem Konzept gebracht hat :bahnhof:
Man stelle sich vor: Eine kleine Software mit JGoodies für die GUI.
Die Oberflächen bauen also auf JComponent auf. Alles ganz net bis auf die Aufgabe: Die Fenster in ihrer Größe fixieren, net das der Anwender aus langweile anfängt, mit fenstergröße zu spielen.
Ich dachte erst ma, "Supi" - ist ja in einer Zeile mit setResizable(false) machbar, aber nix da ???:L So was funktioniert mit einem JComponent wohl nicht.
Dann bin ich einen langen Weg gegangen:Ein Fenster kriegt seine prefferedSize, dann Listener hinzufügen, der auf Größenverändeurngen reagiert und das Fenster zurück in die gewünsche Größe befördert.
Also: Listener reagiert. Dank dem Debbug habe ich auch gesehen, dass veränderte größe erkannt wird. Neue (preffered) Größe wird gesetzt. Aber es ist nicht zu sehen.
auch das wird ignoriert....
Hab da schon so ziemlich alles ausprobiert. Aber es will nicht.
Dann wurde mir auch noch gesagt, dass das mit dem Listener eine sehr schlehte Lösung ist. Ok... ist wohl nicht gut für die performance, wenn bei mehreren Dialogen immer Listener mitlaufen müssen.
Dennoch:
ich stehe vor dem "Problemchen" - warum solche Sachen wie minimale bzw. maximale Größe festlegen ignoriert werden und warum setSize nicht klappt. :autsch:
Und die eigentliche Frage: ist es möglich die Größe des Fensters zu fixieren??????:L
was mir grad spontan eingefallen ist: Gibt es vielleicht was JGoodies-spezifisches für so ein Fall?
DAnke im Vorraus!!!!
ich bin grad auf ein "Problemchen" gestoßen, das mich echt aus dem Konzept gebracht hat :bahnhof:
Man stelle sich vor: Eine kleine Software mit JGoodies für die GUI.
Die Oberflächen bauen also auf JComponent auf. Alles ganz net bis auf die Aufgabe: Die Fenster in ihrer Größe fixieren, net das der Anwender aus langweile anfängt, mit fenstergröße zu spielen.
Ich dachte erst ma, "Supi" - ist ja in einer Zeile mit setResizable(false) machbar, aber nix da ???:L So was funktioniert mit einem JComponent wohl nicht.
Dann bin ich einen langen Weg gegangen:Ein Fenster kriegt seine prefferedSize, dann Listener hinzufügen, der auf Größenverändeurngen reagiert und das Fenster zurück in die gewünsche Größe befördert.
Java:
@Override
public void componentResized(ComponentEvent e) {
if(view!=null){
int actualHigh = (int) view.getPanel().getSize().getHeight();
int actualWidth = (int) view.getPanel().getSize().getWidth();
int preferredHigh = (int) view.getPanel().getPreferredSize().getHeight();
int preferredWidth = (int) view.getPanel().getPreferredSize().getWidth();
if(actualHigh != preferredHigh || actualWidth != preferredWidth){
view.getPanel().setSize(preferredWidth, preferredHigh);
view.getPanel().validate();
view.getPanel().repaint();
}
}
}
Also: Listener reagiert. Dank dem Debbug habe ich auch gesehen, dass veränderte größe erkannt wird. Neue (preffered) Größe wird gesetzt. Aber es ist nicht zu sehen.
Java:
int high = 500;
int width = 400;
Dimension d = new Dimension(width, high);
component.setMinimumSize(d);
component.setMaximumSize(d);
component.setPreferredSize(d);
Hab da schon so ziemlich alles ausprobiert. Aber es will nicht.
Dann wurde mir auch noch gesagt, dass das mit dem Listener eine sehr schlehte Lösung ist. Ok... ist wohl nicht gut für die performance, wenn bei mehreren Dialogen immer Listener mitlaufen müssen.
Dennoch:
ich stehe vor dem "Problemchen" - warum solche Sachen wie minimale bzw. maximale Größe festlegen ignoriert werden und warum setSize nicht klappt. :autsch:
Und die eigentliche Frage: ist es möglich die Größe des Fensters zu fixieren??????:L
was mir grad spontan eingefallen ist: Gibt es vielleicht was JGoodies-spezifisches für so ein Fall?
DAnke im Vorraus!!!!