1

JFrame の上にガラス板を表示したいと考えています。私はそれを行うことができましたが、今私の問題は、ガラス板が左上隅に表示されていることです. 必要に応じてガラス枠の位置を設定する方法を知りたい (JFrame または JFrame の JPanel 内の特定の場所)。setPostion(x,y); を使用して位置を設定しようとしました。および setBounds(x,y,w,h); しかし、それは成功しませんでした。私は Netbeans を使用しています。グラスペインを表示するコードは次のとおりです。

public void showPanelMy(){

    javax.swing.JList jList1;
    javax.swing.JPanel jPanel1;
    javax.swing.JScrollPane jScrollPane1;

    jPanel1 = new javax.swing.JPanel();
    jScrollPane1 = new javax.swing.JScrollPane();
    jList1 = new javax.swing.JList();
    JPanel g=(JPanel)myJFrame.getGlassPane();
    g.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
    setMaximumSize(new java.awt.Dimension(100, 100));
    g.setBackground(new java.awt.Color(204, 92, 92));

    g.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

    jPanel1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
    jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

    jList1.setModel(new javax.swing.AbstractListModel() {....}
    });
    jScrollPane1.setViewportView(jList1);
    jPanel1.add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 10, 120, 120));

    g.add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 10, 140, 140));}

これは私のテストコードです。ここでは、ガラス板に JList といくつかのパネルを配置します。ガラス板に位置を設定する方法を教えてください。ありがとうございました

4

1 に答える 1

3

Ok。関連するコード全体を投稿していなくても、私は答えを出そうとします。

「g」はGlassPaneのように使用したいコンポーネントだと思います。ガラス板自体に他のコンポーネントを追加する必要はありませんが、代わりに、ガラス板なしで通常行うようにコンポーネント階層を構築します。次に、JFrameのsetGlassPane()メソッドを使用して、ガラスペインをフレームに追加します。

これが素晴らしいチュートリアルです。

于 2011-09-18T08:08:28.347 に答える