Tag: glasspane

将透明JPanel放在另一个不工作的JPanel之上

我试图将JPanel放在另一个包含JTextArea和按钮的JPanel之上,我希望上层apnel是透明的。 我通过制作上面板的setOpaque(false)来尝试它。 但它不起作用。 任何人都可以帮我解决这个问题吗? 提前致谢! public class JpanelTest extends JPanel { public JpanelTest() { super(); onInit(); } private void onInit() { setLayout(new BorderLayout()); JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); panel.add(new JTextArea(100,100),BorderLayout.CENTER); panel.add(new JButton(“submit”),BorderLayout.SOUTH); JPanel glass = new JPanel(); glass.setOpaque(false); add(panel,BorderLayout.CENTER); add(glass,BorderLayout.CENTER); setVisible(true); } public static void main(String args[]) { new JpanelTest(); } }

Java Glass窗格

我有个问题。 我想问你如何实现GlassPane来绘制它。 我的意思是,如果我点击鼠标按钮,在mouseClicked事件中,我应该创建透明玻璃窗格,因为我想在glassPane后面看到我的所有组件,我可以使用mouseDragged事件在其上mouseDragged 。 当我释放鼠标按钮时,我的glassPane消失了。 我也有另一个问题。 当我在玻璃窗格上绘画时,我们背后的所有组件都会令人耳目一新并重新粉刷? 也许有人在玻璃窗格上有很好的例子可能对我有所帮助。

如何在JFrame中设置glasspane的位置?

我正在尝试从框架的左侧创建一个菜单滑块。 它需要浮动在内容之上,我可以使用鼠标监听器来访问它(当鼠标靠近左边缘时打开菜单)。 好吧,我将我的GlassPane(我的JPanel)设置为setOpaue(false),它漂浮在内容之上。 但是玻璃板总是位于中心位置,我需要有可能移动它,滑动它,但没有运气。 setBounds和setLocation对我不起作用。 任何人都可以帮我这个吗? 代码的一部分: public class MYFrame extends JFrame { public MYFrame(){ this.setLayout(new BorderLayout()); this.add(panel1,BorderLayout.NORTH); this.add(panel2,BorderLayout.CENTER); this.add(panel3,BorderLayout.EAST); this.getRootPane().setGlassPane(new MyGlass()); this.getRootPane().getGlassPane().setVisible(true); this.setVisible(true); } public class MyGlass extends JPanel{ ImageIcon imageIcon = new ImageIcon(“BG.png”); JLabel label = new JLabel(imageIcon); public MyGlass(){ this.add(label); this.setOpaque(false); this.pack(); this.setVisible(true); } } }

使用GlassPane在Java中的内部透明选择窗口

我正在努力实现以下目标 http://sofzh.miximages.com/java/screenshot.png 我目前能够使用以下代码在半透明玻璃板背景上成功绘制矩形: protected void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D) g; g.setColor(Color.black); // black background g.fillRect(0, 0, frame.getWidth(), frame.getHeight()); g2.setColor(Color.GREEN.darker()); if (getRect() != null && isDrawing()) { g2.draw(getRect()); // draw our rectangle (simple Rectangle class) } g2.dispose(); } 然而,哪个效果很好,我希望矩形内的区域完全透明,而外部仍然变暗,就像上面的截图一样。 有任何想法吗?

在jframe中模糊背景上创建一个透明的矩形

我在模糊背景上创建透明矩形时遇到问题。 我正在尝试在glasspane上完成这项任务。 这是我的代码片段。 void createBlur() { alpha = 1.0f; JRootPane root = SwingUtilities.getRootPane(jf); blurBuffer = GraphicsUtilities.createCompatibleImage(jf.getWidth(), jf.getHeight()); Graphics2D g2d = blurBuffer.createGraphics(); root.paint(g2d); g2d.dispose(); backBuffer = blurBuffer; blurBuffer = GraphicsUtilities.createThumbnailFast(blurBuffer, jf.getWidth() / 2); blurBuffer = new GaussianBlurFilter(5).filter(blurBuffer, null); } 其中,backBuffer和blurBuffer是BufferedImage和jf = JFrame的对象,alpha用于不透明度。 上述方法很好地创建了模糊效果。 这是在Panel上创建透明矩形的代码 protected void paintComponent(Graphics g) { int x = 34; int y = […]

安全桌面模式效果的Java应用程序

现在有没有人如何实现“安全桌面模式”(效果),例如从Windows Vista / 7 UAC同意块获得? 我假设它是一些function,将在这里删除像素(并可能使它们变灰),然后最终将其绘制到屏幕…我想将它应用到我的应用程序,以防止用户做任何事情,直到另一个用户连接到系统(但除此之外) 我真的很感激这个建议。 亲切的问候 一个 编辑:我真的只是在寻找这个 graphicsFX.setColor(new Color(0, 0, 0, 0.8f)); graphicsFX.fillRect(0, 0, 800, 600); 延迟输入我可以做得很好…… 谢谢大家……

将组件放在Glass Pane上

我有一个JLabel的子类,它构成了我GUI的一个组件。 我已经实现了将组件从一个容器拖放到另一个容器的能力,但没有任何视觉效果。 我想让这个JLabel在项目从一个容器拖动到另一个容器时跟随光标。 我想我可以创建一个玻璃窗格并在那里绘制它。 但是,即使我将组件添加到玻璃窗格,将组件设置为可见,并将玻璃窗格设置为可见,并将玻璃窗格设置为不透明,我仍然看不到该组件。 我知道该组件有效,因为我可以将其添加到内容窗格并显示它。 如何将组件添加到玻璃窗格? 最后想出了如何让简单的例子工作。 谢谢,@ kff。 我能够使这个解决方案适应我原来的问题,允许我删除约60行Java2D代码,这些代码手动呈现JLabel的表示。 package test; import java.awt.Color; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.border.LineBorder; public class MainFrame extends JFrame { /** * @param args */ public static void main(String[] args) { MainFrame mf = new MainFrame(); mf.setSize(400, 400); mf.setLocationRelativeTo(null); mf.setDefaultCloseOperation(DISPOSE_ON_CLOSE); mf.setGlassPane(new JPanel()); JLabel l = new […]