Anzeige eines JWindows

S

sp2009

Gast
Hallo,

Ich habe hier einen Ausschnitt zur Anzeige eines Swing-Fensters. Dies funktioniert auch.

Ich würde nur gern wissen, WARUM es NICHT funktioniert, wenn die markierte Zeile aktiviert wird.

Java:
class TrSiWindow extends JWindow /* handle IO to screen */
  implements ActionListener {

 ...
 
 /**. <pre>
  *=====================================================================
  * Constructor: (2) Create Standard-Class
  *=====================================================================
  </pre>*/
  protected TrSiWindow(  /* create window specified by control-class */
   TrSiControl cC) /* use current control-record */
   {
   /*-----------------------------------------------------------------*/
    Font      dF;    /* default-Font of the buttons */
    Rectangle cBnds; /* Bounds of the Screen */
    JPanel    cP;    /* current panel(s) */
    JButton   cB;    /* temporary storage of button */
    JLabel    cL;    /* temporary storage of label */
    Border    cBdr;  /* border-definition for buttons */
    double    d;     /* temporary value */
   /*=================================================================*/
    cCtrl = cC; /* save current control-definitions */
    cBnds = cCtrl.getBounds(); /* get requested bounds of the window */

    /* assure that aspect-value matches 4:3 */
//    d = (cBnds.getWidth() * 3) / 4; /* compute new height */
//    if(d<=cBnds.getHeight()) /* requested height is smaller */
//      cBnds.setRect(cBnds.getX(),cBnds.getY()+(cBnds.getHeight()-d)/2,
//                    cBnds.getWidth(),d);
//    else { /* width-value should be adjusted */
//      d = (cBnds.getHeight() * 4) / 3; /* compute new width */
//      cBnds.setRect(cBnds.getX()+(cBnds.getWidth()-d)/2,cBnds.getY(),
//                    d,cBnds.getHeight());
//    } /* width has been modified due to valid height */
    this.setBounds(cBnds); /* establish bounds of main window */
    System.out.println("ScreenBounds = "+cBnds.toString());

    Screen = this.getContentPane(); /* get and save drawing-instance */
    Screen.setLayout(null); /* activate new layout of the whole screen */

    BGI = new ImageIcon("stone2.jpg"); /* load image as icon */
    System.out.println("Background = "+BGI.toString());
    cL = new JLabel(BGI); /* create background-picture */
    cL.setBounds(cBnds); /* and add bounds of whole window */
    Screen.add(cL); /* set background-picture */

    dF = new Font(null,Font.BOLD,24); /* create new Default-Font */
    cBdr = BorderFactory.createCompoundBorder(
                BorderFactory.createBevelBorder(BevelBorder.RAISED),
                BorderFactory.createEtchedBorder());
    cBnds.grow(-(int)Math.ceil(cBnds.getWidth()/3),-(int)Math.ceil(cBnds.getHeight()/3));
      /* new bounds are 1/3 of the main-window, placed in the middle of it */
    System.out.println("GridBounds = "+cBnds.toString());

    cP = new JPanel(new GridLayout(5,1)); /* create additional panel for layout */
    cP.setBounds(cBnds); /* set bounds of the inner panel */
    cP.setOpaque(false); /* use transparent background */

    cB = new JButton(TrSiLogging.getKey("Win01B1")); /* create first
      * selection-button (Simulator) */
    cB.setBackground(Color.lightGray);
    cB.setFont(dF); /* activate new Font */
    cB.setBorder(cBdr); /* add Border to current Button */
    cB.addActionListener(this); /* use event of this class */
    cP.add(cB); /* insert button into first slot */

    cB = new JButton(TrSiLogging.getKey("Win01B2")); /* second button */
    cB.setBackground(Color.lightGray);
    cB.setFont(dF); /* activate new Font */
    cB.setBorder(cBdr); /* add Border to current Button */
    cB.addActionListener(this); /* use event of this class */
    cP.add(cB); /* insert button into second slot */

    cB = new JButton(TrSiLogging.getKey("Win01B3")); /* third button */
    cB.setBackground(Color.lightGray);
    cB.setFont(dF); /* activate new Font */
    cB.setBorder(cBdr); /* add Border to current Button */
    cB.addActionListener(this); /* use event of this class */
    cP.add(cB); /* insert button into third slot */

    cP.add(new JLabel()); /* add empty slot to layout */

    cB = new JButton(TrSiLogging.getKey("WinCan")); /* create 'cancel'-button */
    cB.setBackground(Color.red);
    cB.setFont(dF); /* activate new Font */
    cB.setBorder(cBdr); /* add Border to current Button */
    cB.addActionListener(this); /* use event of this class */
    cP.add(cB); /* insert button into fifth slot */

    Screen.add(cP,0); /* insert buttons in front of the background-icon */

//    this.pack();   //  <======= hier !!
    this.setVisible(true); /* activate display of window */
  }

PS: Dies ist nur ein Entwurf. Verschiedene Definitionen werden noch geändert (z.B. Icon->Image)

Mfg
sp2009
 
S

sp2009

Gast
Hallo,

Wenn die Zeile 'this.pack()' aktiv ist, wird das Fenster in Windows NICHT erzeugt und angezeigt. Damit ist keine Selektion der dort definierten Button möglich und das Programm bleibt stehen.

Ist die Zeile nur als Kommentar vorhanden, wird das Fenster erzeugt, angezeigt und die Selektion der Button ist möglich.

Ich wüsste nur allzugern WARUM das so ist.

Mfg
sp2009

PS.: System: Win2K/WinXP; Runtime-Version 1.5_22
 

AmunRa

Gesperrter Benutzer
JAVA API hat gesagt.:
Causes this Window to be sized to fit the preferred size and layouts of its subcomponents. If the window and/or its owner are not yet displayable, both are made displayable before calculating the preferred size. The Window will be validated after the preferredSize is calculated.

Wahrscheinlich ist iwie die "preferred size" 0 und daher wird das Fenser auf 0 verkleinert
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Swing Anzeige während eines Ladevorganges AWT, Swing, JavaFX & SWT 6
A Einschreiten vor anzeige eines Frames AWT, Swing, JavaFX & SWT 26
D Anzeige eines Bildes: JPanel oder JLabel ? AWT, Swing, JavaFX & SWT 3
K Probleme mit der Anzeige eines einzigen Nodes in einem JTree AWT, Swing, JavaFX & SWT 9
B Anzeige eines SpinnerNumberModel AWT, Swing, JavaFX & SWT 3
hannibalstgt Fehler bei JCOMBOBOX GUI Anzeige AWT, Swing, JavaFX & SWT 4
M suche geeignetes Fenster zur Anzeige AWT, Swing, JavaFX & SWT 49
G Problem mit der Anzeige von jLabel. Unlesbar wenn der Text geändert wird. AWT, Swing, JavaFX & SWT 28
S AffineTranformation Bilder verschwinden von Anzeige bei Pan, Zoom AWT, Swing, JavaFX & SWT 6
kodela Swing Anzeige des Warten-Cursors AWT, Swing, JavaFX & SWT 8
kodela Verspätete Anzeige in Textfeldern AWT, Swing, JavaFX & SWT 8
F BorderLayout Hilfe bei Anzeige AWT, Swing, JavaFX & SWT 2
L Java FX Keine Anzeige Im Tableview AWT, Swing, JavaFX & SWT 4
F JScrollPane anzeige AWT, Swing, JavaFX & SWT 7
F Design-Anzeige im Windowbuilder AWT, Swing, JavaFX & SWT 3
thet1983 JavaFX TableView Objekt Daten anzeige AWT, Swing, JavaFX & SWT 2
D JavaFX Control zur Anzeige von eBooks AWT, Swing, JavaFX & SWT 5
javampir Swing Anzeige der FileFilter im JFileChooser AWT, Swing, JavaFX & SWT 0
T Probleme mit Anzeige von Elementen im JPanel AWT, Swing, JavaFX & SWT 1
J JavaFX JavaFX Probleme bei der Anzeige von Text AWT, Swing, JavaFX & SWT 18
G JScrollPane bricht am Ende der Anzeige nicht um AWT, Swing, JavaFX & SWT 2
V JWindow: Falsche Anzeige auf Ubuntu AWT, Swing, JavaFX & SWT 2
N JDialog als Progress-Anzeige AWT, Swing, JavaFX & SWT 6
M AWT Gui anzeige Probes - Elemente erscheinen nicht regelmäßig AWT, Swing, JavaFX & SWT 2
A JFreeChart BarChart invertierte anzeige oder werte bereich von-bis AWT, Swing, JavaFX & SWT 4
Ollek JList - neuer Eintrag in ArrayList dadurch keine Anzeige der Objekte AWT, Swing, JavaFX & SWT 18
P Swing Problem mit der Anzeige AWT, Swing, JavaFX & SWT 12
B SWT TreeViewer dynamische Anzeige von Icons AWT, Swing, JavaFX & SWT 3
M Anzeige updatet sich erst am Ende des Programms AWT, Swing, JavaFX & SWT 3
J JList, Anzeige aktualisieren AWT, Swing, JavaFX & SWT 7
J Kleines Anzeige Problem(nur blanker Frame) AWT, Swing, JavaFX & SWT 22
A Swing JFileChooser - Anzeige in Echtzeit filtern AWT, Swing, JavaFX & SWT 10
N Swing JTextPane zur Anzeige von HTML AWT, Swing, JavaFX & SWT 2
A Swing Anzeige Text in JScrollpane AWT, Swing, JavaFX & SWT 8
M TabbpedPane Anzeige aktualisieren AWT, Swing, JavaFX & SWT 6
S Anzeige von Beschleunigungswerten AWT, Swing, JavaFX & SWT 2
N jcomboBox anderer Wert als Anzeige AWT, Swing, JavaFX & SWT 6
B Swing Java crashed nach Anzeige JOptionePane AWT, Swing, JavaFX & SWT 20
S Probleme mit Anzeige von JComboBox AWT, Swing, JavaFX & SWT 2
J Anzeige AWT, Swing, JavaFX & SWT 5
F Verzögerung bei der ersten Anzeige AWT, Swing, JavaFX & SWT 6
timbeau Gitter in Sudoko-Anzeige AWT, Swing, JavaFX & SWT 9
J Swing JTable, eigener TableCellRenderer Keine Anzeige in den Zellen AWT, Swing, JavaFX & SWT 8
N Eigener Grafik Editor mit fehlerhafter Anzeige AWT, Swing, JavaFX & SWT 4
C SWT SWT Browser anzeige bug AWT, Swing, JavaFX & SWT 3
P JTree - Explorer mit nur eingeschränkter Anzeige AWT, Swing, JavaFX & SWT 17
J Verzögerung bei Änderungen der Anzeige abwarten AWT, Swing, JavaFX & SWT 5
T SWT Keine Anzeige der Widgets nach Comboauswahl AWT, Swing, JavaFX & SWT 2
M.F.G. Fehler bei der Anzeige Grafischer Elemente AWT, Swing, JavaFX & SWT 13
B SWT Textdatei Lesen und Anzeige in View - Zeichensatzproblem AWT, Swing, JavaFX & SWT 4
hdi JTree: interne Daten OK, Anzeige schwarze Magie AWT, Swing, JavaFX & SWT 2
R Anzeige der Aktivität AWT, Swing, JavaFX & SWT 3
S Splash Screen / "Loading" Anzeige im Programm AWT, Swing, JavaFX & SWT 27
S JTree - Anzeige des Knotennamen ändern AWT, Swing, JavaFX & SWT 2
B JList Anzeige aktualisieren (Models) AWT, Swing, JavaFX & SWT 2
G Keine Anzeige des Balkens AWT, Swing, JavaFX & SWT 3
C JTable aktualisiert die Anzeige nicht AWT, Swing, JavaFX & SWT 2
G Anzeige schwierigkeiten AWT, Swing, JavaFX & SWT 3
G Problem mit Anzeige von HTML AWT, Swing, JavaFX & SWT 5
P JRE 6 -> ToolTip & mnemonic Anzeige AWT, Swing, JavaFX & SWT 4
G JComboBox - Anzeige mit Wert verknüpfen AWT, Swing, JavaFX & SWT 3
G Anzeige Problem AWT, Swing, JavaFX & SWT 4
T dynamische anzeige? AWT, Swing, JavaFX & SWT 4
W JList Anzeige erneuern AWT, Swing, JavaFX & SWT 4
P JMenuBar und JToolBar Anzeige Probleme AWT, Swing, JavaFX & SWT 5
T JComboBox anzeige AWT, Swing, JavaFX & SWT 6
F Anzeige von JPanel AWT, Swing, JavaFX & SWT 3
M JTree und Anzeige des entsprechenden Panels AWT, Swing, JavaFX & SWT 5
S SWT-Widgets für Anzeige-Elemente AWT, Swing, JavaFX & SWT 3
G Keine Anzeige von Grafik bei externem paintComponent-Aufruf AWT, Swing, JavaFX & SWT 2
M GUI mit Swing erst nach Maximieren richtige Anzeige AWT, Swing, JavaFX & SWT 2
S Anzeige der Benutzeroberfläche verzögern AWT, Swing, JavaFX & SWT 10
G Anzeige von JTextField erneuern AWT, Swing, JavaFX & SWT 12
P DefaultTreeCellEditor -> Anzeige Probleme AWT, Swing, JavaFX & SWT 3
swek Flackernde Anzeige AWT, Swing, JavaFX & SWT 4
C Schweres Problem mit JDialog und Threads! Anzeige blockiert! AWT, Swing, JavaFX & SWT 5
A JTree-Anzeige filtern AWT, Swing, JavaFX & SWT 7
R Anfängerfrage:anzeige von Gui elementen AWT, Swing, JavaFX & SWT 2
W Anzeige von anderen Bildformaten: BMP, TIFF, PCX AWT, Swing, JavaFX & SWT 5
S Anzeige einer Progressbar. AWT, Swing, JavaFX & SWT 3
G Komponente zur Anzeige einer Textdatei. AWT, Swing, JavaFX & SWT 10
G JList: Anzeige von null-Werten verhindern AWT, Swing, JavaFX & SWT 3
I Problem mit korrekter Anzeige AWT, Swing, JavaFX & SWT 2
G Gibts ne Klasse zur Anzeige von Ziffern? AWT, Swing, JavaFX & SWT 4
S Anzeige-Wirrwar in JScrollbar AWT, Swing, JavaFX & SWT 3
jojoge wie kann ich in eine Benennung eines JButtons eine Variable einbauen? AWT, Swing, JavaFX & SWT 6
L paintComponent in Panel eines Borderlayouts hinzufügen AWT, Swing, JavaFX & SWT 3
I Einbindung eines jpg/png/icons in eine GUI AWT, Swing, JavaFX & SWT 1
Splayfer Umrandung eines AttributedStrings AWT, Swing, JavaFX & SWT 2
Guybrush Threepwood Einfachste Möglichkeit zum Abspielen eines Videos in Swing AWT, Swing, JavaFX & SWT 4
Jose05 NullPointerException bei Beschreiben eines Labels aus einem Array AWT, Swing, JavaFX & SWT 12
Jose05 zugreifen auf ein Objekt eines GridPanes AWT, Swing, JavaFX & SWT 0
melaniemueller Verschiebung eines Fensters über Button AWT, Swing, JavaFX & SWT 27
news2swen automatisches erstellen eines Languagefiles AWT, Swing, JavaFX & SWT 1
B Stylen eines JTextPane funktioniert nicht AWT, Swing, JavaFX & SWT 1
MiMa Schliessen eines FXML Fensters? AWT, Swing, JavaFX & SWT 10
B JavaFX Farbe eines Quadrates in einer separaten Klasse ändern AWT, Swing, JavaFX & SWT 4
L AWT Ändern der Farbe eines BufferedImage mit Farbähnlichkeit AWT, Swing, JavaFX & SWT 5
B veränderte Größe eines Panels im Vorhinein wissen? AWT, Swing, JavaFX & SWT 1
L Komponenten eines Panels werden erst nach Klick darauf angezeigt AWT, Swing, JavaFX & SWT 13

Ähnliche Java Themen

Neue Themen


Oben