Tag: 透明度

如何获得透明的JFrame?

当我尝试运行以获得透明框架时,它显示exception。 我的代码是: public class NewJFrame extends javax.swing.JFrame { public NewJFrame() { initComponents(); com.sun.awt.AWTUtilities.setWindowOpacity(this, 0.05f); } 例外情况是: Exception in thread “AWT-EventQueue-0” java.awt.IllegalComponentStateException: The frame is decorated at java.awt.Frame.setOpacity(Frame.java:960) at java.awt.Window$1.setOpacity(Window.java:4032) at com.sun.awt.AWTUtilities.setWindowOpacity(AWTUtilities.java:174) at test.NewJFrame.(NewJFrame.java:28) at test.NewJFrame$2.run(NewJFrame.java:115)

如何使用JavaFx删除图像的颜色(使背景透明)?

我有一个图像加载Image和ImageView 。 我想制作图像的背景,这是白色的,透明的,以匹配背景。

如何使java.awt.Label背景透明?

我以前用javax.swing.JLabel做透明背景: lbl.setBackground(new Color(0, 0, 0, 0)); 。 但它不适用于java.awt.Label。 有没有简单的方法使标签透明? 更新: public class SplashBackground extends Panel { private static final long serialVersionUID = 1L; private Image image = null; /** * This is the default constructor */ public SplashBackground() { super(); initialize(); } /** * This method initializes this * */ private void initialize() { image […]

创建一个控件似乎打破了JFX8上的透明阶段

上面的程序应该创建一个带有一些文本的透明舞台,但是舞台看起来不透明: public class Test extends Application { @Override public void start(Stage primaryStage) { new TextArea(); //Comment this out to enable transparency Stage stage = new Stage(); stage.initStyle(StageStyle.TRANSPARENT); Text text = new Text(“Is this transparent?”); VBox box = new VBox(); box.getChildren().add(text); final Scene scene = new Scene(box, 300, 250); scene.setFill(null); stage.setScene(scene); stage.show(); } } new TextArea()行是破坏事物的东西 […]

如何使用透明背景和常规文本制作JButton?

有没有办法制作一个具有透明填充(30%透明)和不透明文本的JButton ? 现在我发现了以下选项: 使按钮和文本都透明。 使它们都不透明。 两者之间有选择吗?

JavaFx透明窗口 – 是的请。 鼠标透明 – 不,谢谢

我想创建一个简单的JavaFx类,向用户显示覆盖用户屏幕的半透明矩形(比如任意50%的透明度)。 它应该只是让我得到鼠标点击事件的点。 这听起来微不足道,但是当我创建透明窗口时,它们似乎总是对鼠标事件透明,而不仅仅是我对半透明可见性的要求。 永远不会触发鼠标事件。 我在矩形和根窗格上使用了setMouseTransparent(false),但这没什么区别。 如果有人能指出任何错误/误解,我真的很感激。 这是我创建的琐碎测试类: public class ClickScreen implements MouseListener { private ClickScreenListener listener; private Stage window; private Point point; public ClickScreen(ClickScreenListener listener) { // Get screen size Rectangle2D r = Screen.getPrimary().getBounds(); // Something to put stuff in StackPane root = new StackPane(); // Translucent rectangle on the pane Rectangle rectangle = new […]

使用Alpha通道在PNG上叠加透明色

我正在寻找一种用Java绘制PNG图像(带有alpha通道)的方法,该图像是灰度颜色,然后覆盖透明颜色,比如绿色,75%不透明度,在它上面改变颜色。 要清楚,所得到的图像将是在其顶部放置透明色的直接结果,并且不会是任何特殊类型的混合的结果。 例如,我会绘制以下图像: 然后在图像顶部叠加RGB颜色(102,255,0,alpha): 在图像上绘制颜色的方法需要使得它不会干扰屏幕上的其他图像。 这与Adobe Photoshop的颜色叠加function类似。 两个图像可以具有单独的颜色叠加,但是单独的叠加不会相互冲突。 感谢leonbloy,我相信使用“SRC_OVER”的AlphaComposit可以解决这个问题,然后我可以使用一种方法将结果保存为新的BufferedImage,以防止叠加影响屏幕上的任何其他图像对象。 我会在测试时发布结果。

透明的JFrame背景

是否可以制作具有透明背景并在其上绘制图像的JFrame,以便只有图像可见而没有边框或背景?

Java透明度渲染错误

我目前正在开发一个自助服务终端风格的Java程序来显示天气,时间,预测等。这是一个程序应该是什么样子的镜头(在更新时间之前拍摄的截图) 各个部分创建为JPanels,并重写了paintComponent()方法。 它们绘制渐变标题和半透明背景。 但是,当我更改其中一个面板的内容时,之前的内容会被遗忘,而不是被删除。 一个例子如下所示: 正如你所看到的,当时间从11:51变为11:52时,数字重叠,背景变得更亮(因为半透明背景被重新绘制) 图形错误 我该怎么做才能防止这种重叠? 最终,当单个面板更新其内容时,我宁愿不必重绘整个屏幕。 我宁愿只重绘那个特定的部分。 重新绘制背景,然后是其中的所有组件将很容易。 更新 几个答案涉及清除要绘制的区域。 无论我使用g.clear()还是AlphaComposite.CLEAR它都会删除背景图片。 这可以在下图中看到。 也许如果我可以在清除区域之前复制背景,我可以重新绘制背景的那一部分,然后适当地对其他图像进行分层。 思考? 更新2 提交了一个答案,其中显示了在透明面板和背景上放置的计时器的完整工作示例。 这非常有用,但是,我不是手动绘制我的子组件。 时间,天气图标和温度都是JLabel布局在半透明面板上。 我宁愿不必手动绘制单个组件。

透明背景的LWJGL窗口?

我想创建一个窗口,使得没有“黑色背景”区域,而是您可以看到任何其他打开的窗口,等等。 也就是说,渲染场景而只渲染场景,不留任何帧,也不留下背景区域。 我读过一个方法,涉及渲染到隐藏的OpenGL窗口并在内存中缓冲它,创建透明的分层窗口,以及从内存复制到透明窗口。 显然这是非常cpu /内存密集型的,所以我想知道在Java和LWJGL中是否有更好的方法可以做到这一点?