使用JDK 7,我们可以非常容易地使用swing创建基于渐变的半透明窗口。以下是制作基于渐变的半透明窗口所需的步骤。
首先使JFrame的背景透明。
frame.setBackground(new Color(0,0,0,0));
创建渐变颜料,然后填充面板。
JPanel panel = new javax.swing.JPanel() { protected void paintComponent(Graphics g) { Paint p = new GradientPaint(0.0f, 0.0f, new Color(R, G, B, 0), getWidth(), getHeight(), new Color(R, G, B, 255), true); Graphics2D g2d = (Graphics2D)g; g2d.setPaint(p); g2d.fillRect(0, 0, getWidth(), getHeight()); } }
将面板分配为框架的内容窗格。
frame.setContentPane(panel);
请参阅下面带有基于梯度的半透明窗口的示例。
import java.awt.Color; import java.awt.GradientPaint; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GridBagLayout; import java.awt.Paint; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.SwingUtilities; import javax.swing.UnsupportedLookAndFeelException; public class Tester { public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException { JFrame.setDefaultLookAndFeelDecorated(true); //在事件调度线程上创建GUI- SwingUtilities.invokeLater(new Runnable() { @Override public void run() { createWindow(); } }); } private static void createWindow() { JFrame frame = new JFrame("Translucent Window"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); createUI(frame); frame.setVisible(true); } private static void createUI(JFrame frame){ frame.setLayout(new GridBagLayout()); frame.setSize(200, 200); frame.setLocationRelativeTo(null); frame.setBackground(new Color(0,0,0,0)); JPanel panel = new javax.swing.JPanel() { protected void paintComponent(Graphics g) { if (g instanceof Graphics2D) { final int R = 100; final int G = 100; final int B = 100; Paint p = new GradientPaint(0.0f, 0.0f, new Color(R, G, B, 0), getWidth(), getHeight(), new Color(R, G, B, 255), true); Graphics2D g2d = (Graphics2D)g; g2d.setPaint(p); g2d.fillRect(0, 0, getWidth(), getHeight()); } else { super.paintComponent(g); } } }; panel.setLayout(new GridBagLayout()); panel.add(new JButton("Hello World")); frame.setContentPane(panel); } }
本文向大家介绍在Java Swing中创建半透明窗口,包括了在Java Swing中创建半透明窗口的使用技巧和注意事项,需要的朋友参考一下 使用JDK 7,我们可以非常容易地使用swing创建半透明的窗口。使用以下代码,可以使JFrame半透明。 示例 参见下面具有55%半透明性的窗口的示例。 输出结果
我想创建一个模拟光的圆,我需要一个径向梯度。我希望它的中心是黄色的,外侧是透明的。 我试过了,但没有达到预期的效果。
问题内容: RGBA是非常有趣的,所以是,和呃… …是啊。:) 有没有一种方法可以将RGBA和渐变这两者结合起来,以便使用当前/最新的CSS规范可以实现alpha透明度的渐变。 问题答案: 是。您可以在webkit和moz渐变声明中使用rgba: (src) (src) 显然,您甚至可以使用奇怪的“扩展十六进制”语法在IE中执行此操作。第一组(在示例55中)指的是不透明度级别: (src)
了解如何在 Illustrator 中创建不同类型的渐变。 渐变是两种或多种颜色之间或同一颜色的不同色调之间的逐渐混和。您可以利用渐变来形成颜色混合,增大矢量对象的体积,以及为图稿添加光亮或阴影的效果。在 Illustrator 中,您可以使用“渐变”面板、渐变工具或“控制”面板来创建、应用和修改渐变。 渐变类型 在 Illustrator 中,您可以创建以下三种类型的渐变: 线性渐变 利用此渐变
了解如何在 Illustrator 中创建不同类型的渐变。 渐变是两种或多种颜色之间或同一颜色的不同色调之间的逐渐混和。您可以利用渐变来形成颜色混合,增大矢量对象的体积,以及为图稿添加光亮或阴影的效果。在 Illustrator 中,您可以使用“渐变”面板、渐变工具或“控制”面板来创建、应用和修改渐变。 渐变类型 在 Illustrator 中,您可以创建以下三种类型的渐变: 线性渐变 利用此渐变
了解如何在 Illustrator 中创建不同类型的渐变。 渐变是两种或多种颜色之间或同一颜色的不同色调之间的逐渐混和。您可以利用渐变来形成颜色混合,增大矢量对象的体积,以及为图稿添加光亮或阴影的效果。在 Illustrator 中,您可以使用“渐变”面板、渐变工具或“控制”面板来创建、应用和修改渐变。 渐变类型 在 Illustrator 中,您可以创建以下三种类型的渐变: 线性渐变 利用此渐变