Tag: componentlistener

Swing:在Linux中调整像框架一样的JFrame,例如

我想知道是否有可能以这种方式实现JFrame的大小调整,它已被resize,例如linux中的标准窗口。 更确切地说:如果用户开始拖动,则仅预览窗口的未来大小,而原始内容不会resize。 一旦用户释放鼠标,Frame就会调整为该大小。 在图像中: (1)resize前的状态 (2)用户开始下垂(在红色圆圈) (3)用户释放鼠标,框架resize 是否有可能在Java Swing中意识到这一点? 编辑: 由于这个程序有一天也应该在较低的Java RE中作为7运行,我尝试将mKorbel建议与translucend Frame的注释中的建议结合起来。 结果接近目标,除了 在我停止移动鼠标后,contentPane的内容会resize,而不是在释放鼠标时 帧标题立即resize,而不仅仅是我停止拖动框架边框。 它仅在从右侧或底部resize时才起作用,否则内容随拖动而移动。 我认为第一点可以通过代码和MouseListener的组合来解析,类似于mouseReleased(),然后resize。 这是代码,随意尝试。 对于进一步的建议,我仍然对任何建议感到高兴。 该代码稍微修改了Java Tutorials中的GradientTranslucentWindowDemo.java 。 我希望它可以在这里发布,否则请告诉我任何侵犯版权的行为。 黑色JPanel应该是应用程序的内容,因为contentPane保持不可见。 import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ComponentEvent; import java.awt.event.ComponentListener; import java.beans.PropertyChangeListener; import javax.swing.*; import static java.awt.GraphicsDevice.WindowTranslucency.*; public class GroundFrame extends JFrame { Timer timer; JPanel panel2; public GroundFrame() { super(“GradientTranslucentWindow”); setBackground(new […]