Lam*_*pos 6 java swing resize jframe
我试图以JFrame一种不寻常的方式重新调整尺寸:框架的宽度与高度之比必须是恒定的.我写了这个简单的代码; 在这种情况下,比例是1/2:
public class Panel extends JFrame {
public Panel() {
addComponentListener(new ComponentAdapter() {
@Override
public void componentResized(ComponentEvent e) {
System.out.println("Reseized");
setSize(getSize().width, getSize().width * 2);
}
});
}
Run Code Online (Sandbox Code Playgroud)
但是这个框架在重新绘制方面存在问题,并且仅在用户拖动鼠标时才有效.拖动完成后,框架的右下角位于用户释放鼠标的位置.
也许componentResized方法不适用于这种情况?那我该怎么用?提前致谢.
你可以试试
((JFrame)e.getTopLevelAncestor()).pack();
Run Code Online (Sandbox Code Playgroud)
其中 e 是您的组件。让我知道这是否有效