我想在我的 JFrame 上显示一个玻璃面板。我可以做到,现在我的问题是,玻璃板在左上角可见。我想知道如何根据需要设置玻璃 Pane 的位置(JFrame 中的给定位置或 JFrame 上的 JPanel)。我尝试使用设置位置 设置位置(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 和一些面板。请任何人告诉我如何将位置设置为玻璃 Pane 。谢谢
最佳答案
好的。即使您没有发布完整的相关代码,我也会尝试给出答案。
我想“g”是您想要像 GlassPane 一样使用的组件。 您不必将其他组件添加到玻璃面板本身,而是像通常没有玻璃面板那样构建您的组件层次结构。然后使用 setGlassPane() 将玻璃板添加到框架中JFrame 的方法。
这是一个不错的 tutorial .
关于java - 如何在 JFrame 和 JPanel 中设置玻璃 Pane 的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7460200/