例如,代替应用程序周围的默认操作系统容器,您可以使用下面的swing项目自定义。
答案 0 :(得分:4)
主机操作系统拥有框架装饰,但您可以Create Translucent and Shaped Windows使用Frame#setUndecorated()
,如图所示here。
答案 1 :(得分:4)
您可以在具有透明背景的未装饰框架上使用透明图像:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class TransparentImageFrame
{
private static void createAndShowUI()
{
JLabel label = new JLabel( new ImageIcon("...") );
label.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e)
{
if (e.getClickCount() == 2)
{
System.exit(0);
}
}
});
JFrame frame = new JFrame("Image Frame");
frame.setUndecorated(true);
frame.setBackground(new Color(0, 0, 0, 0));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
frame.add( label );
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
createAndShowUI();
}
});
}
}
鼠标只响应您使用的任何图像中的非不透明像素。