Как установить положение на стеклянной панели в JFrame и JPanel
Я хочу показать стекло над моим JFrame. Я мог это сделать, и теперь моя проблема в том, что в левом верхнем углу видна стеклянная панель. Я хочу знать, как установить положение стеклянной панели так, как я хочу (данное местоположение в JFrame или JPanel в JFrame). Я пытался установить местоположение с помощью 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 и несколько панелей на стекло. Пожалуйста, скажите мне, как установить положение на стекле. Спасибо
1 ответ
Хорошо. Я постараюсь дать ответ, даже если вы не опубликовали весь соответствующий код.
Я полагаю, "g" - это компонент, который вы хотите использовать, как GlassPane. Вам не нужно добавлять другие компоненты к самой стеклянной панели, но вместо этого создайте иерархию компонентов, как обычно без стеклянной панели. Затем добавьте стеклянную панель к рамке с помощью метода setGlassPane() JFrame.
Вот хороший учебник.