java - JPanel ActionMethod 显示时

标签 java swing methods jpanel

我搜索一个方法,如果 jpanel 显示在显示屏上,该方法就会被调用,因为我必须获取面板的实际大小。

有什么建议吗?

最佳答案

您是否尝试过添加 ComponentListener到 JPanel?这就是我在 componentShown(...) 方法中开始编写代码的地方。为此,我认为您必须在将 JPanel 添加到显示后调用 setVisible(true)

另一个选项是在 GUI 上调用 pack()setVisible(true) 后简单地查询其大小。

编辑
您声明:

I added the panel to the gui designer.. when the window pops up, i wanna now the real size of the jpanel, because it can change it.

如果您想知道“当窗口弹出时”窗口所持有的组件的大小,请添加 WindowListener到窗口并通过 windowOpened(...) 方法检查组件的大小。

编辑2
然后你说:

after i have the real size, i add some subpanels, in relation to the size of this panel. so e.g. size/6 & the subpanel has now the size-height of size/6.

一个解决方案:最好不要设置任何东西的大小,而是使用布局管理器的正确组合,然后让他们根据自己的规则设置适当的大小。

关于java - JPanel ActionMethod 显示时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10153699/

相关文章:

java - Swing 计时器和耗时任务

java - 反转字符串,不起作用

java - 调用抛出异常的方法的 Lambda 返回方法

java - 如何将数据写入 csv 文件中的单独列

java - 在运行时将一组 JTextField 添加到面板,不同的布局管理器

java - 如何读取文件内容,写入输出流以及重新读取并存储在java内存中的字符串变量中

java - 是否有一个框架可以测试 Swing 元素的特定参数?

java - 线程 "main"java.lang.NullPointerException 中的异常 - 方法

java - Android MediaMetadataRetriever OPTION_CLOSET 不适用于某些视频

java - "Column"无法解析为变量