问题标签 [componentlistener]

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 投票
1 回答
260 浏览

java - 关于 JInternalFrames 的问题

我有一个框架,一旦它被最小化,我想最小化与之相关的其他框架。如果框架不再最小化,我也想恢复其他框架。我该怎么做呢?

编辑:nvm,它有效。

0 投票
1 回答
3518 浏览

java - 检测jframe的拖拽

有没有办法在拖动时检测 JFrame 的位置?问题是在 MAX OS X 上,当您停止移动鼠标时,窗口的位置会更新。我看到了计算新位置和设置窗口手册位置的提示。但因此我必须知道我开始拖动的位置。为了更清楚一点,JFrame 用于捕获屏幕,但是当你移动它时它不会更新,因为它仍然认为它在旧位置。当您停止移动拖动(但您仍然可以按住鼠标按钮)时,它会更新。

0 投票
3 回答
3465 浏览

java - Swing:在 Linux 中调整 JFrame 的大小,例如 Frames

我想知道是否有可能以这种方式实现 JFrame 的大小调整,它的大小已经调整,例如 linux 中的标准窗口。更准确的说:如果用户开始拖动,只有未来的窗口大小会被预览,而原始内容不会被调整大小。一旦用户释放鼠标,Frame 就会调整为该大小。在图像中:

(1) 调整大小前的状态

在此处输入图像描述

(2) 用户开始拖动(在红圈处)

在此处输入图像描述

(3) 用户释放鼠标,框架被调整大小

在此处输入图像描述

是否有可能在 Java Swing 中实现这一点?

编辑:

由于这个程序有一天也应该像 7 一样在较低的 Java RE 中运行,所以我尝试将 mKorbel 建议和评论中的建议与半透明框架结合起来。结果接近目标,除了

  • contentPane 的内容在我停止移动鼠标后调整大小,而不是在释放鼠标时
  • 框架标题会立即调整大小,而不仅仅是当我停止拖动框架边框时。
  • 它仅在从右侧或底部调整大小时才有效,否则内容会随着拖动而移动。

我认为第一点可以通过代码和 MouseListener 的组合来解决,例如 if mouseReleased(), then resize 。这是代码,请随意尝试。对于进一步的建议,我仍然对任何建议感到高兴。

该代码是对 Java 教程中的GradientTranslucentWindowDemo.java的略微修改。我希望它被允许在这里发布,否则请指出任何侵犯版权的原因。黑色的 JPanel 应该是应用程序的内容,因为 contentPane 保持不可见。

0 投票
1 回答
566 浏览

java - ComponentAdapter 中 componentResized 方法的任何替代方法

当我实现下面的代码时,仅当用户在调整框架大小后释放鼠标时才会调用该方法。我想要一个在用户调整框架大小时连续调用的方法。我能做些什么呢?

0 投票
1 回答
3568 浏览

java - 如何侦听窗口大小更改事件

可能重复:
Java AWT/Swing:在我的窗口位置/大小更改时收到通知

是否有 JFrame 大小更改的事件?我试过

但它只适用于minimizingand maximizing。我什至想通过拖动边缘来触发一个小窗口(JFrame)大小的变化。谢谢你。

0 投票
1 回答
321 浏览

java - Problems with java swing component listener

I'm creating a GUI in netbeans and am attempting to make it so that the components stay properly aligned when the frame is resized, minimized, maximized, etc. I've added a component listener to do this and have added the code to both formComponentMoved and formComponentResized. This works perfectly when the form is resized or moved, the problem is it doesn't work when the form is maximized or minimized. I've attached below the code for the component listener. What am I missing here?

Thanks in advance

0 投票
3 回答
1250 浏览

java - 有没有办法在 JComponent 不再可见时获得通知,因为父级已从集合中删除?

假设我有一个简单的 JFrame,其 JTabbedPane 包含 3 个面板,第二个面板包含一个 JComponent。当从容器中删除“Tab 2”面板时,是否有办法通知 JComponent?我的问题是 JComponent 可能在层次结构中很深。

显然,我在这里寻找 SWING 解决方案...... :)

我试图用祖先Removed()来做到这一点,但没有运气......我显然做错了什么......

PS。ASCII 艺术是用JavE 制作的。

0 投票
1 回答
206 浏览

java - 如何知道组件是否相对于屏幕移动(而不是相对于其父级)?

我在 a 中有一个组件,JFrame我需要知道该组件何时相对于屏幕空间移动。

它要么在框架移动时发生,要么在布局更改时发生。

我的问题:

  • 当我将 a 附加ComponentListener到我的组件并且框架被移动时,componentMoved()不会调用回调方法,因为该组件相对于其父级仍然具有相同的位置(此处为JFrame
  • 我想知道何时移动组件而不添加 ComponentListener自身JFrame...

所以我正在寻找一种方法来了解组件何时相对于屏幕移动。

注意:这些规范是强加给我的......我别无选择,但在这里解释它会很长而且无关紧要。

0 投票
1 回答
937 浏览

java - java JFrame 调整大小

我的项目中有以下代码段。

似乎在第一次初始化 JFrame 时就在开始时调用了 componentResized() 方法,即使用户没有调整 JFrame 的大小——我需要防止这种情况发生。我只希望在发生真正的调整大小时调用 componetResized() ,而不是在 JFrame 初始化时调用。

0 投票
2 回答
8244 浏览

java - Java ComponentResized - 检测用户是否调整了窗口大小或以编程方式调整了大小

我有一个 JFrame,我在其中删除和添加组件,每次执行此操作时,我都会相应地调整框架的大小。我添加了一个组件侦听器,但它当然是由用户调整窗口大小和我的 setSize() 方法触发的。
有什么方法可以从 ComponentEvent 中查看用户是否调整了窗口大小还是我通过 setSize() 进行了调整?
我找到的可能解决方案是:
1. 使用一个标志 - 布尔调整大小 - 我在 setSize() 之前将其设置为 true,之后设置为 false。
2.添加mouseDragged监听器,比较拖动前后的大小。
第二个绝对不是一个好的选择。第一个可以工作,但我想知道我是否可以通过简单的方式找到用户是否是调整窗口大小的人。