J框架调整大小的纵横比
答
你可以实现的ComponentListener,并有这样的事情
@Override
public void componentResized(ComponentEvent arg0) {
Rectangle b = arg0.getComponent().getBounds();
arg0.getComponent().setBounds(b.x, b.y, b.width, b.width);
}
,并用它为您的JFrame。唯一的事情是,使用JFrame,它不会引发这个事件,直到鼠标被释放。如果您想在拖动鼠标时看到所做的更改,则必须使用JPanel,并使用此ComponentListener代替JFrame,并使用该面板填充框架。
答
你可以尝试这样的事:
public void componentResized(ComponentEvent e) {
System.out.println("i have changed size applying aspect ratio now.");
setSize(getWidth(), getWidth());
repaint();
}
这是一个小直观的你因为它的大小调整组件大小后。