J帧以纵横比resize
我使用带有组件的jFrame制作了游戏。 有没有办法可以让JFrame更大,但使用方形方面,以便长度总是等于拖动时的宽度?
任何帮助表示赞赏。
干杯
您可以实现ComponentListener并具有类似的function
@Override public void componentResized(ComponentEvent arg0) { Rectangle b = arg0.getComponent().getBounds(); arg0.getComponent().setBounds(bx, by, 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(); }
这有点不直观,因为在调整组件大小后resize。
- 如何从标有enctype的表单中提取文本:multipart / form-data(JSF 2.0)
- Charset.defaultCharset()在JDK1.7和JDK 1.6下得到不同的结果
- 屏幕右下角的位置
- ClassNotFoundException:com.mysql.jdbc.Driver
- 如何通过鼠标左键单击swt来显示弹出菜单?
- 如何在Java中启用客户端TLS会话重用
- 目标org.apache.maven.plugins执行attach-javadocs:maven-javadoc-plugin:3.0.0:jar使用Java10失败
- 如何在java中使用reflection调用类的main()方法
- getComponentAt()没有找到组件?