首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swingbuilder -应用程序位置居中

Swingbuilder -应用程序位置居中
EN

Stack Overflow用户
提问于 2010-04-26 22:38:26
回答 2查看 601关注 0票数 3

我正在使用Griffon->SwingBuilder创建一个应用程序。我希望能够在桌面上居中显示应用程序。

我知道我们可以在创建应用程序时提供'location: x,y‘参数。有没有什么方法可以访问桌面属性来计算中心?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-27 06:36:44

由于各种原因,你不能做内联。这里有一种居中的方法

代码语言:javascript
复制
import java.awt.*
import groovy.swing.*

sb = new SwingBuilder()
sb.build {
  f = frame(pack:true) {
      label "<html>" + (("This is a very long label."*3) + "<BR>")*5
  }
  Point cp = GraphicsEnvironment.localGraphicsEnvironment.centerPoint
  f.location = new Point((int)(cp.x - f.width), (int) (cp.y - f.height))
  f.show()
}

不能在属性中设置它的原因是,在计算属性时,尚未在任何地方创建或存储子节点。一种替代方法是将其设置为子内容块的一部分:

代码语言:javascript
复制
  frame(show:true) 
  {
      label "<html>" + (("This is a very long label."*3) + "<BR>")*5
      current.pack()
      Point cp = GraphicsEnvironment.localGraphicsEnvironment.centerPoint
      current.location = new Point((int)(cp.x -current.width/2), (int)(cp.y - current.height/2))
  }

(current是包含节点的元变量)。

票数 3
EN

Stack Overflow用户

发布于 2010-04-27 05:06:07

Swing的一个特性是,它可以记住最后一个位置和大小(如果可以调整大小)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2714314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档