`
gyabooks
  • 浏览: 23001 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java窗体居中显示

阅读更多

<!-- google_ad_client = "pub-4615277071069293"; /* 728x15, 创建于 08-6-6 */ google_ad_slot = "7146726956"; google_ad_width = 728; google_ad_height = 15; //-->

Java摘 要:在进行JavaGUI开发的过程中,经常为了考虑用户的方便,设置我们窗体的一些特性,本文就窗体定位做一说明。开发一个工具类,可以在开发的同时直接调用(含源代码, 例子)。

采用的计算方法就是通过Frame提供的API(setLoaction)计算出该窗体的左上角的坐标位置。整个思路如下图所示:

Java-Screen

从图中我们可以看出,如果计算出左上角的坐标,那么我们就可以确定我们的窗体在整个屏幕居中显示。窗体的宽度和高度,是通过我 们设定的(setSize),那么屏幕的宽度呢?我们每个人用的屏幕是不同的。别急,Java给我们提供了一个工具类(Toolkit),让我们来获得当前屏幕的宽度和高度。整个是实现 代码如下(使用例子在下):

  1. package net.csdn.blog.qb2049_xg.tools;
  2. import java.awt.Component;
  3. import java.awt.Dimension;
  4. import java.awt.Toolkit;
  5. /**
  6. * @author Ulysses Ma
  7. * @Date 2008-9-7
  8. */
  9. public class MidScr
  10. {
  11. //设置坐标
  12. private int x=0;
  13. private int y=0;
  14. //构造函数
  15. public MidScr (Component jc)
  16. {
  17. //通过屏幕和控件的大小计算控件左上角的位置
  18. Dimension d_c=jc.getSize();
  19. Dimension d_scr=Toolkit.getDefaultToolkit ().getScreenSize();
  20. double x1=(d_scr.getWidth()-d_c.getWidth())/2;
  21. double y1=(d_scr.getHeight()-d_c.getHeight())/2;
  22. x=new Double(x1).intValue ();
  23. y=new Double(y1).intValue();
  24. }
  25. //获得坐标值
  26. public int getX()
  27. {
  28. return x;
  29. }
  30. public int getY()
  31. {
  32. return y;
  33. }
  34. }

中间想要说明的就是Dimension的使用,“Dimension 类封装单个对象中组件的宽度和高度(精确到整数)”,我们用它来封装我们的屏 幕和窗体的宽高。下面是使用的例子:

  1. package net.csdn.blog.qb2049_xg.exam;
  2. import javax.swing.JFrame;
  3. import net.csdn.blog.qb2049_xg.tools.MidScr;
  4. /**
  5. * @author Ulysses Ma
  6. * @date 2008-9-17
  7. */
  8. public class MidFrame extends JFrame
  9. {
  10. public MidFrame(){
  11. //这个地方比较关键,原因在于我们定位窗体时,需要使用这个方法设定的宽高
  12. this.setSize(400,500);
  13. this.setTitle("窗口居中显 示");
  14. this.setDefaultCloseOperation(EXIT_ON_CLOSE);
  15. //使用中心定位窗体类
  16. MidScr ms=new MidScr(this);
  17. //设定窗体的左上坐标
  18. this.setLocation(ms.getX(), ms.getY ());
  19. this.setVisible(true);
  20. }
  21. public static void main(String args[]){
  22. //设置窗体的外观显示
  23. JFrame.setDefaultLookAndFeelDecorated(true);
  24. new MidFrame();
  25. }
  26. }

效果图如下:

Java-Screen

如果你要什么更好的建议或是错误提示,请你留下你的”评论“,非常感谢!

<!-- google_ad_client = "pub-4615277071069293"; /* 728x90, 创建于 08-6-3 */ google_ad_slot = "8286133791"; google_ad_width = 728; google_ad_height = 90; //-->

<!-- google_ad_client = "pub-4615277071069293"; /* 728x90, 创建于 08-8-21 */ google_ad_slot = "3138874845"; google_ad_width = 728; google_ad_height = 90; //-->

分享到:
评论

相关推荐

    Java窗体居中显示的2种方法(实例讲解)

    下面小编就为大家带来一篇Java窗体居中显示的2种方法(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Java Swing实现让窗体居中显示的方法示例

    主要介绍了Java Swing实现让窗体居中显示的方法,结合实例形式分析了swing使用setBounds方法控制窗口布局的相关操作技巧,需要的朋友可以参考下

    java 桌面应用程序窗体的显示位置

    该程序主要演示 java桌面应用程序中窗体的 显示位置 基于屏幕或父窗体显示 左上(下)角 右上(下)角 居中 随即

    java窗体GUI所有组件学习

    // 简单的居中方法 在窗体基本格式类 Jframe 中有详细的居中方法 this.setLocationRelativeTo(null); // 设置关闭窗口 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 调用方法 menu()...

    java 学生管理系统界面

    //在屏幕中间显示(居中显示) this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出关闭JFrame this.setVisible(true);//显示窗体 //锁定窗体 this.setResizable(false); } }

    java项目之教务管理系统

    MenuItem show = new MenuItem("显示窗体"); MenuItem exit = new MenuItem("退出窗体"); trayIcon = new TrayIcon(icon.getImage(), "学生管理系统", menu); trayIcon.addMouseListener(new MouseAdapter...

    Javaswing登录页面的实现

    // 在屏幕中居中显示 frame.add(this.panel); // 添加面板 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置X号后关闭 //设置按钮 this.registerButton.addActionListener(this); //注册按钮 ...

    Java电子日历设计.doc

    使用setLocationRelativeTo()方法设置窗口居中显示:使用setVi sible()以及 setDefaultCloseOperation() 方法设置窗口可见和单击窗体右上角的关闭图标后程序会做出怎样的处理。 日历实现部分 CalendarClass 首先创建...

    Java 版蛋疼游戏,开发工具:MyEclipse

    //让窗口居中 this.setVisible(true); this.setDefaultCloseOperation(EXIT_ON_CLOSE); } @Override public void actionPerformed(ActionEvent e){ jf2=new SecondFrame(); jf2.windows2(); jf2.Realize();...

    学生管理系统

    // 设置位置,居中 Dimension SreenSize = Toolkit.getDefaultToolkit().getScreenSize(); int x = (SreenSize.width - 400) / 2; int y = (SreenSize.height - 300) / 2; this.setBounds(x, y, 400, 300)...

    手机管理系统源代码(虽然简单仅供大家参考)

    /*******************************************设定窗体的位置(居中)*******************************************/ Toolkit kit=Toolkit.getDefaultToolkit(); Dimension screen=kit.getScreenSize(); ...

    易语言程序免安装版下载

    2) 修改静态编译后“选择列表框”在“单选”属性为真时不显示项目内容的BUG 3) 修改核心库中“播放音乐”命令在没有声卡或声卡被禁用时未正确释放资源的BUG 4) 修改静态编译后“读配置项”命令在第三个参数“配置...

Global site tag (gtag.js) - Google Analytics