gpt4 book ai didi

Java:使不透明度仅适用于 JPanel 而不是组件

转载 作者:太空宇宙 更新时间:2023-11-04 14:37:30 25 4
gpt4 key购买 nike

我有一个名为“Main”的 JPanel,我设法使其透明。问题是,我只想使面板本身透明,我希望其中的组件可见。

这段代码是我的面板;

JPanel window=new JPanel();
static JTextArea dialog=new JTextArea(14,35);
JTextField input=new JTextField(35);
JScrollPane scroll=new JScrollPane(
dialog,
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER
);

public Main() {
super("Test");
setSize(400,270);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);

dialog.setEditable(false);
dialog.setFocusable(false);
dialog.setOpaque(false);
scroll.setOpaque(false);
scroll.getViewport().setOpaque(false);
input.setOpaque(false);

input.addKeyListener(this);
window.add(scroll);
window.add(input);

this.setUndecorated(true);
this.setAlwaysOnTop(true);
window.setBackground(new Color(255,200,0));

add(window);
setVisible(true);
}

现在,当实际创建窗口时,我使用它;

Main Main = new Main();
Main.setOpacity(0.75f);

它做了它应该做的事情,即使面板及其所有组件透明。但是,我只希望面板变得透明。

我该如何去做呢?

最佳答案

尝试将窗口的背景颜色也设置为此。

new Color(255,200,0,0);

最后 0 设置 alpha - 我相信 0 应该使其透明。

关于Java:使不透明度仅适用于 JPanel 而不是组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25385177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com