(完美)用JPanel实现窗口背景与透明,再加上组件

更新时间:2024-03-02 13:21:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

好不容易,真的,这个是完美的实现窗口背景,透明,无规则窗体的完美方法!!查了,看了不少网上的资料,终于给看到相关的,下面是我自己写的代码,(java入门不久,挺不容易的!!实现了也挺开心)

package com.jpanel;

import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GridLayout;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener;

import javax.swing.*;

public class Test {

ImageIcon imageIcon =new ImageIcon(\);//images这个文件夹与项目下bin文件夹同目录 public Test() {

final JFrame f = new JFrame(); f.setBounds(500, 400, 400, 300);

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

f.setUndecorated(true); //关键代码! 设置窗口无标题 com.sun.awt.AWTUtilities.setWindowOpaque(f, false);//关键代码!

设置窗体透明 f

};

p.setLayout(null);

JButton b1=new JButton(\);

b1.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){ }

System.exit(0);

}

}

.getHeight(), f);

JPanel p = new JPanel() {

public void paintComponent(Graphics g) {//重写这个方法

super.paintComponent(g);//继承超类绘制组件方法 Graphics2D gg=(Graphics2D)g;

if (imageIcon != null) {// 绘制背景 gg.drawImage(imageIcon.getImage(), 0, 0, f.getWidth(),

});

b1.setBounds(220, 80, 60, 25); p.add(b1);

p.add(new JLabel(\这是透明窗口,只显示背景图片\)); f.setContentPane(p);//关键代码,这里不能用f.add(p) f.setVisible(true);

}

public static void main(String[] args) { new Test();

}

}

本文来源:https://www.bwwdw.com/article/bqfa.html

Top