如何在JFrame和JPanel中将位置设置为玻璃窗格

时间:2011-09-18 07:54:53

标签: java swing glasspane

我想在我的JFrame上显示一个玻璃窗。我能做到这一点,现在我的问题是,左上角可以看到玻璃板。我想知道如何根据需要设置玻璃窗格的位置(JFrame中的给定位置或JFrame上的JPanel)。我尝试使用设置位置 setPostion(X,Y);和setBounds(x,y,w,h);但它没有成功。我使用Netbeans.Here是我的代码如何显示glasspane。

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和一些面板。请任何人告诉我如何设置玻璃窗格的位置。谢谢

1 个答案:

答案 0 :(得分:3)

确定。即使您没有发布相关的全部代码,我也会尝试给出答案。

我认为“g”是您想要像GlassPane一样使用的组件。 您不必将其他组件添加到玻璃窗格本身,而是像通常没有玻璃窗格那样构建组件层次结构。然后使用setGlassPane() JFrame方法将玻璃窗格添加到框架中。

这是一个不错的tutorial