热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何设窗口的初始显示位置(要与分辩率无关)?

如何设窗口的初始显示位置(要与分辩率无关)请教----1.如题:例如---我想初始显示一个窗口在特定位置(如靠右下角),可否保证这个位置无论是在800*640或1024*768(或更高一点)上
如何设窗口的初始显示位置(要与分辩率无关)
请教----
1.如题:例如---我想初始显示一个窗口在特定位置(如靠右下角),可否保证这个位置无论是在800*640或1024*768(或更高一点)上都没太大的差异。这个窗口可能是message dialog,或由JFrame定义的。看过document,发现可能是应用setlocation(),和一个setbounds()之类的methods来实现,实现思想是先设定bounds,然后再用setlocation来定位。我也不知对不对。不是的话,应如何做,讲一下思路和应用哪些methods。

2.还有,我想将一个窗口(不是YES/NO的窗口)的显示初始值,设为在正中间(center)显示,但好象没有一个值或methods可直接设的。难道这也要用上面那个方法来取中间显示?

13 个解决方案

#1


可以自己写个方法,getToolkit().getScreenSize()(可能不一定这样写,大体是这样,得到屏幕大小),然后屏幕长-窗口长再除以2,宽也同样。这样就在中间了。就是相对坐标。

#2


1:Dimension screenSize = getToolkit().getScreenSize();
    Dimension mainFrameSize = getSize();
    setLocation(screenSize.width  - mainFrameSize.width , screenSize.height  - mainFrameSize.height );
2:你的窗口是dialog还是JOptionPane.show()出来的?

#3


忍不住说一句
这种加加减减能有效?
从小学就开始学地理,但是看来你们对地图上的比例尺都还没理解
要让位置与具体的分辨率无关,偶想必须要用到比例尺吧, 长,宽,起始位置
都按比例确定

#4


faint!你自己试试不就知道了!

#5


//======================== 置中Frame 的方法 =================
private void centerWin(){
Toolkit toolkit = Toolkit.getDefaultToolkit();

Dimension screenSize = toolkit.getScreenSize();
Dimension labelSize = jWindow.getPreferredSize();

int labelWidth = labelSize.width;
int labelHeight = labelSize.height;
jWindow.setLocation(screenSize.width/2-(labelWidth/2),screenSize.height/2-(labelHeight/2));
jWindow.pack();
  }

//---------------------------------
jWindow 可以使任何 Frame

#6


TO  drinkant(喝酒的蚂蚁)  :
   这样取到的屏幕大小就是它实际的大小,不管他是800*600还是别的。你所谓的比例尺什么的东西都被隐藏在内部,根本就是程序员不用具体涉及的。不然你想为每一种分辨率写一个方法???呵呵

#7


搞笑阿你
偶目前写的程序就是用了比例尺的
你可以在假设分辨率1024*768下确定位置,尺寸
程序运行的时候再获取当前的分辨率,然后按比例放大或者缩小

很不明白你所说的每种分辨率都写一个方法是甚么意思
按照偶得方法只需一个函数就能搞定任何分辨率

#8


可人家问的又不是那个意思!

#9


他自己说要位置跟分辨率无关的嘛, 偶说得方法的确可以达到这个效果

#10


to:drinkant(喝酒的蚂蚁) 
我问的是有这个意思的,原意是希望可以达到与solution无关,那么,兄台,你那个比例尺,思想是如何实现的,复不复杂?

to: bhr(追风)
2.不是dialog. 

#11


置中那个问题,基本没问题了。

但当要在特定位置显示,而又可保证在不同的solution下,效果都没太大差异,那我想就要用比例尺。不过这家伙可能比较复杂!?

#12


比例尺也是用相对位置,并且还要用到一个假定分辨率,原理是一样的,都要得到当前屏幕分辨率和窗口大小。

#13


不说了, 好没意思
你们考虑的最多只是个别情况<居中,右下脚...>, 偶所说的是一个普适的方法
要是大家都不理解偶也懒得在说了

推荐阅读
  • 第一步:PyQt4Designer设计程序界面该部分设计类同VisvalStudio内的设计,改下各部件的objectName!设计 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 本文介绍了pack布局管理器在Perl/Tk中的使用方法及注意事项。通过调用pack()方法,可以控制部件在显示窗口中的位置和大小。同时,本文还提到了在使用pack布局管理器时,应注意将部件分组以便在水平和垂直方向上进行堆放。此外,还介绍了使用Frame部件或Toplevel部件来组织部件在窗口内的方法。最后,本文强调了在使用pack布局管理器时,应避免在中间切换到grid布局管理器,以免造成混乱。 ... [详细]
  • 本文总结了在编写JS代码时,不同浏览器间的兼容性差异,并提供了相应的解决方法。其中包括阻止默认事件的代码示例和猎取兄弟节点的函数。这些方法可以帮助开发者在不同浏览器上实现一致的功能。 ... [详细]
  • 如何优化Webpack打包后的代码分割
    本文介绍了如何通过优化Webpack的代码分割来减小打包后的文件大小。主要包括拆分业务逻辑代码和引入第三方包的代码、配置Webpack插件、异步代码的处理、代码分割重命名、配置vendors和cacheGroups等方面的内容。通过合理配置和优化,可以有效减小打包后的文件大小,提高应用的加载速度。 ... [详细]
  • 颜色迁移(reinhard VS welsh)
    不要谈什么天分,运气,你需要的是一个截稿日,以及一个不交稿就能打爆你狗头的人,然后你就会被自己的才华吓到。------ ... [详细]
  • Android获取app应用程序大小的方法
    Android获取app应用程序大小的方法-Android对这种方法进行了封装,我们没有权限去调用这个方法,所以我们只能通过AIDL,然后利用Java的反射机制去调用系统级的方法。 ... [详细]
author-avatar
云小白
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有