问题标签 [glasspane]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
514 浏览

java - 获取 JFrame 中 JTable Header 的位置

这是我的应用程序的图像:

在此处输入图像描述

如您所见,其中有一个 JTable。我需要获取 JTable 的标头相对于它所在的 JFrame 的位置。

为什么我会这样做?我正在添加一个帮助功能来解释表中每一列的用途。它把焦点放在每一列上。它看起来像这样:

在此处输入图像描述

如您所见,聚光灯显示的位置已关闭。

要获取位置,我Rectangle使用以下方法获取列标题:

要将其转换Rectangle为 JFrame 中的正确位置,我使用:

有人可以帮我获取列标题的正确位置吗?

0 投票
1 回答
802 浏览

java - 我应该如何将 JLabel 从 JFrame 中的一个 JPanel 拖到同一 JFrame 中另一个 JPanel 中的 JTextField 上?

简而言之,我想将 a 的文本设置为( )JLabel中的 a的文本,然后将屏幕从另一个( )中的另一个拖动到另一个上。JTextFieldJPanelpnlUserJLabelJPanelJTextFieldJPanelpnlGrid

这是详细信息。

我写了一个“Solitaire Scrabble”程序。用户可以将文本光标定位在网格单元格中(a JTextFieldin pnlGrid)并键入“用户字母”列表中的字母(a JTextFieldin pnlUser),或者用户可以模拟从“用户字母”中拖动一个字母并将其放下中的目标网格单元格pnlGrid

我说“模拟”是因为所选字母实际上并未在屏幕上拖动。我使用鼠标指针HAND_CURSOR使拖放尽可能真实,但我还没有弄清楚如何HAND_CURSOR“抓住”字母并将字母物理拖过板子到目的地。

HAND_CURSOR实际上,在拖动操作期间沿网格移动时,字母被突出显示但留在“用户字母”区域中。当它到达目标单元格pnlGrid并释放鼠标按钮时,该字母会从“用户字母”中删除,并突然出现在网格单元格中。

所以这封信或多或少地从“用户信件”“传送”(让我向上,斯科蒂)到一个网格单元。这太抽象了。我希望用户字母位于 HAND_CURSOR 手指的尖端,并沿着网格拖动到将被放置的网格单元格中,如下面的 3 张图片所示。

在此处输入图像描述在此处输入图像描述在此处输入图像描述

我已经使用 JLayeredPane 在一个小型测试程序(以下来源)中成功实现了它,但我无法在游戏中实现它。但是直到两天前我才对 JLayeredPane 一无所知,所以我真的不知道我在做什么。(我改编了一个演示 JLayeredPane 的 Oracle 教程程序。)

我刚刚阅读了“玻璃窗格”,并认为它可能更容易实现,直到我下载了该演示的源代码,这很长,所以因为它是全新的,而且更难适应。

所以我想在我花更多时间沮丧之前,我应该问:

一种JLayeredPane或一种setGlassPane方法是否合适?有没有更简单或更好的方法将一个JLabel从一个JPanel拖到另一个JPanel

(程序中的方法是确定指向哪个“用户字母”,将该字母存储在 aJLabel中,然后确保指尖正好位于字母的底部中心。mouseDraggedHAND_CURSOR

0 投票
1 回答
34 浏览

java - 从 AWTEvent 确定它是否是 Mouse_Exited 事件

在我们正在编写的软件中,我们有时会使用 GlassPane 来防止用户在程序繁忙时与程序进行交互,这会产生意想不到的副作用,即某些按钮的翻转被设置但没有被删除。

翻转设置,玻璃窗格激活,玻璃窗格消耗 mouse_exit 事件。

GlassPane 注册为:

因为我们发现我们也需要捕捉鼠标运动和鼠标滚轮事件。

无论如何,如果事件来自 Mouse_Exit 事件,是否可以在代码的上述位置找到?

0 投票
1 回答
230 浏览

java - Java GlassPanel 清晰透明背景

我想在我的 GlassPane 上渲染一些东西。问题是,如果我移动渲染的线条,之前渲染的像素仍然具有相同的颜色。我不能使用 g.clearRect 因为它不会清除透明度。

那是我的渲染代码:

结果如下: 在此处输入图像描述

0 投票
2 回答
103 浏览

java - 我可以将一个玻璃窗格一分为二,并为每个添加一个单独的鼠标侦听器吗?

我在玻璃窗格下有一些带有两个图像的代码。我想让每个图像都在它自己的玻璃窗格下,并且每个玻璃窗格都发出它自己的鼠标监听器的信号。目前,我将它们都制作在一个玻璃窗格下,一个鼠标监听器用于整个玻璃窗格。两个图像并排在网格布局中,因此将玻璃窗格分成两半应该不会太难。这是一个玻璃窗格的代码,但请注意,我正在尝试制作两个玻璃窗格,并为每个图像制作两个单独的鼠标侦听器类。这只是带有一个*两个图像的鼠标侦听器的代码:

这是camickr请求的代码,请注意有两个单独的鼠标侦听器,我很想知道如何做到这一点。当 JLabel 跟随鼠标时,1)它离鼠标非常远,2)它不显示完整的 JLabel 和 3)它在一次退出/进入后不会改变。我非常感谢您的帮助,这是基于 camickrs 建议的代码:

0 投票
0 回答
35 浏览

java - java glasspane没有更新

我的代码有一个小问题。一旦我单击 udpate 按钮,它就会显示玻璃窗格。但它没有,我不知道为什么。如果我 setVisibility(true) 到构造函数中的玻璃窗格,它就可以工作。任何人都可以帮助我吗?这是我的代码

}

先感谢您

0 投票
1 回答
373 浏览

java - Glasspane 不工作,java

我一直在研究一个小的 java 应用程序,我想在应用程序的根窗格的玻璃窗格上添加一个等待图形,这里是类:

和主要课程:

但是当我将按钮操作更改为:

这没用。

0 投票
2 回答
1131 浏览

java - 在 Glass Pane 上绘制图形

我目前正在制作棋盘游戏 Khet 的一个版本,并计划使用玻璃板展示在转弯之间发射的激光,但对于我的生活,我根本无法让图纸出现。为了节省发布游戏的所有代码,我发布了仅与玻璃窗格相关的代码,因为它在下面是自己的单独应用程序。谁能告诉我为什么没有显示图形?

0 投票
1 回答
97 浏览

java - Java:“请稍候”GlassPane 未正确加载

我有一个需要几秒钟才能完成的 java 例程。我想加载一个GlassPane(可能带有“预先等待”消息),以防止用户在该例程正在执行时修改 UI,并且在例程完成时自动隐藏。为此,我使用以下代码:

我设置了一个特定java.awt.CursormyGlassPane. 当我运行上面的代码时,我可以看到新的java.awt.Cursor出现,但不是整个出现GlassPane“请稍候”消息等等......

关于可能导致此问题的任何想法?是否有其他更好的方法来获得我正在寻找的东西而不是使用GlassPaneand Thread

0 投票
0 回答
582 浏览

java - 透明 GlassPane:重叠问题

我想显示一种GlassPane模糊效果。从广义上讲,是这样的:

在此处输入图像描述

我尝试使用GlassPane透明JPanel背景。这是我的自定义面板的代码。

问题是当我加载时GlassPane我有一种重叠的问题。也就是说,下面 UI 的所有元素(显示在刚加载的玻璃窗格下方的面板中的元素)似乎都随机镜像在GlassPane. 这不仅发生在 . 中GlassPane,而且每次我尝试将 trnsparent 颜色与Graphics2d. 这就是我得到的:

在此处输入图像描述

关于如何创建透明以GlassPane避免此注释问题的任何想法?