- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我参加 Groovy 聚会有点晚(像大多数其他聚会一样),而且我在网上找到的关于 SwingBuilder
的文档有些有限。我正在尝试在 Groovy 中构建一个游戏应用程序(将我当前的 Java 代码转换为 Groovy)。在 Java 中,我有一个 JFrame
和多个 JPanel
,其中包括标签、文本字段和按钮以及您可以在构建 GUI 时使用的所有其他有趣的 Swing 项目。
所有这一切的代码可能很麻烦,必须为每个 JButton
和 JPanel
等等声明变量,所以很自然地当我发现 SwingBuilder
就在几天前,我欣喜若狂。
但是,示例有些有限。所以这是我的初始代码。
def Game(){
mainMenu = new MainMenuPanel()
gPane = new SwingBuilder()
gPane.edt{
frame(size:[1024,768],
defaultCloseOperation: JFrame.EXIT_ON_CLOSE, location:[75,50], show:true, pack:false){
container(container:mainMenu){}
widget(mainMenu)
}
}
}
mainMenu.shell.show()
}
在 MainMenuPanel
我有这段代码
class MainMenuPanel extends JPanel implements ActionListener, KeyListener, ItemListener {
public shell
shell = new SwingBuilder()
shell.panel(id: "mainM",/*size:[512, 354],
shell.edt{frame(show:true){panel(size:[512, 354],
layout: new GridLayout(cols:1, rows: 7),*/
visible:true, constraints: BL.NORTH){
textLabel = label(text: "Welcome Travelers", horizontalAlignment: 0)
speak = button(CreateButton("Say Hello", 83),
actionPerformed:{ shell.optionPane(message: "Hello World").createDialog(null, "Hello").show()})
}
}
当我运行 groovy 脚本时,我得到了一个 JFrame
,其中没有任何内容。我尝试了这段代码的各种组合,有时我会得到两个框架,但它们并没有相互嵌套。大多数时候我一无所获。
我正在尝试做的事情的目的是有一个 MainMenu
类返回一个具有控制该面板功能的菜单面板,并且有各种其他类也返回执行其他操作的面板各种东西并将它们全部嵌套在 Pane 中。
这有可能吗?我在这里错过了什么吗?
最佳答案
我相信这在功能上与您上面的类似:
import groovy.swing.SwingBuilder
def mainMenu = { builder ->
builder.panel( id:'mainM' ) {
label( text: 'Welcome Travelers' )
button( text: 'Say Hello', actionPerformed:{
builder.optionPane( message:'Hello World' )
.createDialog( null, 'Hello' )
.show()
} )
}
}
new SwingBuilder().with { builder ->
builder.edt {
frame( size:[ 1024, 768 ], show:true ) {
panel()
mainMenu( builder )
}
}
}
希望对您有所帮助?
关于java - 多个 Swingbuilder 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12792444/
我最近自己发现了 groovy 语言以及 groovy 网站上使用 Swingbuilder 的小例子。但我面临着文档或示例的严重缺乏。它们都太简单、太相似了。我在谷歌上搜索了很多,才说出这句话。 我
使用 groovy 的 SwingBuilder 设置滚动 Pane 的正确方法是什么?我正在使用 griffon,但我很难动态添加和删除组件... 这是我在 SwingPad 中尝试过的一个片段。它
我正在使用 Griffon->SwingBuilder 创建一个应用程序。我希望能够将应用程序置于桌面中心。 我知道我们可以在创建应用程序时提供“位置:[x,y]”参数。无论如何访问桌面属性来计算中心
我参加 Groovy 聚会有点晚(像大多数其他聚会一样),而且我在网上找到的关于 SwingBuilder 的文档有些有限。我正在尝试在 Groovy 中构建一个游戏应用程序(将我当前的 Java 代
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improve
我已经使用 Groovy 和 SwingBuilder 创建了一个桌面应用程序。 我想为我的应用程序添加音效。 我怎样才能做到这一点 ? 谢谢... 最佳答案 groovy 中没有什么特别的东西可以用
如何向下面定义的表格添加标题? import groovy.swing.SwingBuilder data = [[first:'qwer', last:'asdf'], [first
我正在使用最新的 Mac OS X,我正在 Gradle 文件中创建一个 GUI 元素。我目前使用的是 jdk1.7.0_55 并且我已经导入了 groovy.swing.SwingBuilder ,
我有一个通过 Groovy 的 SwingBuilder 构建的 JTable。我想在选择单元格时触发的表格附加一个闭包,但我似乎找不到合适的钩子(Hook)。 我怎么做? 最佳答案 我不是 groo
我想显示包含组件的面板列表,即复选框、标签、按钮,都在同一条水平线上;每个面板代表一组组件,用于显示一个项目的信息。 我需要将面板列表(数量未定)放入滚动面板以适应主面板高度。 我似乎找不到将滚动面板
有没有办法使用 groovy swing builder 绑定(bind)语法将数据绑定(bind)到列表和/或表?我只能找到将字符串和数字等简单属性绑定(bind)到文本字段、标签或按钮文本的简单示
是否有一个库可以像 SwingBuilder 所做的那样编写基于 Swing 的 GUI?在 Groovy 中? 我希望开发一个 Java GUI 应用程序而不用在 Java 中嵌入 Groovy 或
我正在使用 this technique使发布构建要求 keystore 密码,但最近 build.gradle 的 Android Studio 编辑器提示: Cannot resolve symb
java源码: class jview implements Runnable{ public void run(){ for(int i=1;i<10;i++){
我有一个Gradle任务,应该提示用户是否要继续(这是我的Android应用程序较大任务的一部分)。 我正在使用SwingBuilder尝试构建对话框,但是在尝试构建时出现以下错误: Error:(9
我突然想到,使用 Lambda 可能可以在 native Java 中构建类似 SwingBuilder 的东西 - 但看起来如果这是可能的,那么现在就已经完成了。 有什么原因无法做到这一点,或者已经
我正在编写一个 Griffon/Groovy/Swing 应用程序。不过,我也喜欢使用所见即所得 GUI 工具,例如 Eclipe 的 WindowBuilder 工具。 我想知道是否可以将这两种方法
我是一名优秀的程序员,十分优秀!