我正在尝试创建一个Java窗口(带有JFrame
),当用户单击按钮以显示一些额外组件(JLabel
和{{1 JButton
中的{}}}。当窗口出现时,这些额外的东西面板被隐藏。该窗口位于屏幕的右边框(Windows桌面),因此当隐藏的面板变为可见时,它必须向左。
JPanel
我使用垂直+---------------------------------------------------------------------------------+
| +-------------------------------+ |
| | | |
| BEFORE: | 600px | |
| | | |
| +-------------------------------+ |
| |
| |
| <--- |
| +-------+-------------------------------+ |
| | | | |
| AFTER: | 150px | 600px | |
| | | | |
| +-------+-------------------------------+ |
| |
| |
| |
| |
+---------------------------------------------------------------------------------+
实现了第一个版本:主窗口位于右侧,额外面板位于左侧。当用户单击按钮时,系统:
JSplitPane
调整为width = 750px(原始宽度+额外面板的宽度)。此算法有效,但在调整大小/移动过程中,我有一个非常不愉快的“闪光”效果。
有没有办法让这个调整大小/移动步骤顺利?或者,最好是有一些摆动或第三部分组件来实现这种事情(一个隐藏的面板显示并平滑调整窗口的大小向左和而不移动它)?