java swing窗体的自动设置大小。图片插入方法

qjm201000 发布于 2013/05/17 07:16
阅读 4K+
收藏 0

this.setTitle("my frame");// 窗体的名字
  this.setSize(1000, 1000);// 窗体的大小
  
  Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();// 获取显示器大小对象
  Dimension frame=this.getSize();      //获取窗口大小
  if(frame.width>screen.width)  frame.width=screen.width;//窗口的宽度不能大于显示器的宽度
  if(frame.height>screen.height) frame.height=screen.height;  //窗口的高度不能大于显示器的高度
  this.setLocation((screen.width - this.getWidth()) / 2,
    (screen.height - this.getHeight()) / 2);// 居中
  
  this.setIconImage(new ImageIcon("./image/frame.jpg").getImage());
  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 设置窗体关闭时,虚拟机也关闭
  this.setVisible(true);//显示可见

这里面窗体设置的时候不是超出嘛,我想让他自动等于屏幕宽度,但是运行之后不行,为什么??

还有,图片显示不了,运行也没有错误,为什么?

加载中
0
Monkey
Monkey
frame.setExtendedState(Frame.MAXIMIZED_BOTH);//最大化窗体

frame.setLocationRelativeTo(null);//窗体居中

q
qjm201000
我用这个最大化的窗体方法,然后按缩小。还是不能覆盖啊,看不到那个 x 的图标啊?怎么做啊?
0
震秦
震秦

你是让启动起来画面就充满显示器吗? 直接设置窗口最大化就行了.

JFrame有方法.

setExtendedState

public void setExtendedState(int state)
设置此窗体的状态。该状态表示为逐位掩码。
  • NORMAL
    指示不设置任何状态位。
  • ICONIFIED
  • MAXIMIZED_HORIZ
  • MAXIMIZED_VERT
  • MAXIMIZED_BOTH
    串连MAXIMIZED_HORIZ和MAXIMIZED_VERT。

注意,如果该状态在给定平台上不受支持,则什么也不会发生。应用程序可以通过java.awt.Toolkit#isFrameStateSupported(int state)方法确定特定的状态是否可用。

参数: state- 窗体状态常量的逐位掩码 

返回顶部
顶部