1

のテキストはtxDiv0、0 による除算が試行されたときに表示されるはずです。最初は非表示に設定されています。コードは正しく機能しますが、フレームの境界線を大きくするかのようにクリックすると、テキストのみが表示されます。フレームを文字通り1 ピクセル高くすると、フィールドが表示されます。

GUIbuilder によって生成されるコード:

    private javax.swing.JTextField txDiv0;
...
    txDiv0 = new javax.swing.JTextField();
...
    txDiv0.setText("Division by 0 is undefined");  
...
    javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
    jPanel6.setLayout(jPanel6Layout);
    jPanel6Layout.setHorizontalGroup(
      jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel6Layout.createSequentialGroup()
        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        .addComponent(txDiv0, javax.swing.GroupLayout.PREFERRED_SIZE, 300, javax.swing.GroupLayout.PREFERRED_SIZE)
        .addContainerGap())
    );
    jPanel6Layout.setVerticalGroup(
      jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel6Layout.createSequentialGroup()
        .addGap(0, 11, Short.MAX_VALUE)
        .addComponent(txDiv0, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
    );
...    
    pack();

そして、ここに私がそれを表示させようとする方法があります:

    txDiv0.setVisible(true);
    System.out.println();

(println は、コード DID が実行されたことを示すためにあります。)

フレームの端をかろうじて動かさない限り、テキストフィールドは決して表示されません。

4

1 に答える 1