
Laypanel() {
JPanel pane2 = new JPanel()// 普通面板
JButton btn3 = new JButton("deng ")
pane2.add(btn3)
JLayeredPane pane = new JLayeredPane()// 分层面板
JButton btn1 = new JButton("确定")
JButton btn2 = new JButton("取消")
pane.add(btn1, (Integer) (JLayeredPane.PALETTE_LAYER + 50))
pane.add(btn2, (Integer) (JLayeredPane.PALETTE_LAYER + 50))
btn1.setBounds(30, 50, 80, 80)
btn2.setBounds(50, 80, 80, 80)
// 这样满意了不?
JPanel pnlMain = new JPanel(new GridLayout())
pnlMain.add(pane)
pnlMain.add(pane2)
this.add(pnlMain)
// this.add(pane)// 向窗口添加分层面板
// this.add(pane2)// 向窗口添加普通面板
this.setBounds(100, 100, 500, 300)
this.setVisible(true)
this.validate()
}
做一个实例给你吧。这样做也可以的。
import java.awt.*
import javax.swing.*
public class Test extends JFrame{
JPanel jp=(JPanel)this.getContentPane()
public Test()
{
jp.setLayout(null)
JLabel jl=new JLabel("JLabel")
JButton jb=new JButton("Button")
jl.setBounds(new Rectangle(20,20,80,25))
jb.setBounds(new Rectangle(20,60,80,25))
jp.add(jl)
jp.add(jb)
}
public static void main(String[] args) {
Test frame=new Test()
frame.setResizable(false)
ImageIcon img = new ImageIcon("./images/backimage.jpg")//这是背景图片,注意这里是局部路劲在项目名下面的目录里,比如../项目名/images/...
JLabel imgLabel = new JLabel()//将背景图放在标签里。
imgLabel.setIcon(img)
frame.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE))//注意这里是关键,将背景标签添加到jfram的LayeredPane面板里。
imgLabel.setBounds(0,0,img.getIconWidth(), img.getIconHeight())//设置背景标签的位置
Container cp=frame.getContentPane()
cp.setLayout(new BorderLayout())
((JPanel)cp).setOpaque(false)//注意这里,将内容面板设为透明。这样LayeredPane面板中的背景才能显示出来。
frame.setSize(1024,544)
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
frame.setVisible(true)
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)