1
我使用java工作,我想製作一個半透明的窗口(如80%alpha的黑色)。我的代碼的基礎是那些在以下帖子:How to make a transparent JFrame but keep everything else the same?如何在Java swing中創建transluent窗口?
問題是,當我運行我的程序,窗口是半透明的,但你可能會看到下面的圖片,背景顏色(洋紅色)只出現在文字,而不是白紙。 更糟糕的是,當我選擇透明度爲Color(0,0,0,125)
的黑色作爲繪圖顏色時,屏幕上不顯示任何內容。
這是我到目前爲止有:
public class DssWindow extends JFrame
{
/**
*
*/
private static final long serialVersionUID = 2455172975892566000L;
/**
*
*/
public DssWindow()
{
super("My frame");
setUndecorated(true);
setBackground(new Color(0,0,0,0));
setAlwaysOnTop(true);
JPanel contentPane = new JPanel()
{
@Override
public void paintComponent(Graphics g)
{
super.paintComponent(g);
if(!(g instanceof Graphics2D))
{
return;
}
Graphics2D gr = (Graphics2D)g.create();
gr.setColor(new Color(255,0,255,200));
gr.fillRect(0, 0, getWidth(), getHeight());
}
};
contentPane.setOpaque(false);
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
contentPane.setPreferredSize(new Dimension(screen.width,screen.height));
setContentPane(contentPane);
pack();
}
}
難道有人知道/有什麼問題的線索? 我正在Linux上工作(可能這是答案的一部分)。
謝謝。
可能的重複[如何使一個透明的JFrame,但保持其他一切?](http://stackoverflow.com/questions/14927980/how-to-make-a-transparent-jframe-but-keep-一切 - 其他 - 相同) –
這不是重複的。我用這個帖子來製作我的節目。這是我的另一個問題。 – dooxe