我使用带有组件的jFrame制作了游戏。有没有办法可以让JFrame更大,但使用方形方面,以便长度总是等于拖动时的宽度?
感谢任何帮助。
干杯
答案 0 :(得分:3)
您可以实现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,并使用面板填充框架。
答案 1 :(得分:0)
您可以尝试这样的事情:
public void componentResized(ComponentEvent e) {
System.out.println("i have changed size applying aspect ratio now.");
setSize(getWidth(), getWidth());
repaint();
}
这有点不直观,因为在调整组件大小后调整大小。