mvcdemo.groovy

来自「Groovy动态语言 运行在JVM中的动态语言 可以方便的处理业务逻辑变化大的业」· GROOVY 代码 · 共 45 行

GROOVY
45
字号
package groovy.model

import java.awt.BorderLayout
import javax.swing.BorderFactory
import groovy.swing.SwingBuilder
/**
 * 
 */
class MvcDemo {
    
    def frame
    def swing
    
    void run() {
        def swing = new SwingBuilder()
        
        def frame = swing.frame(title:'MVC Demo', location:[200,200], size:[300,200]) {
            menuBar {
		        menu(text:'Help') {
		            menuItem() {
		                action(name:'About', closure:{ showAbout() })
		            }
		        }
		    }
		    panel(layout:new BorderLayout()) {
    	        scrollPane(constraints:BorderLayout.CENTER) {
    	            table() {
    	                tableModel(list:[ ['name':'James', 'location':'London'], ['name':'Bob', 'location':'Atlanta'] ]) {
                            propertyColumn(header:'Name', propertyName:'name')
                            propertyColumn(header:'Location', propertyName:'location')
    	                }
    	            }
    	        }
		    }
		}        
		frame.show()
    }
 
    void showAbout() {
 		def pane = swing.optionPane(message:'This demo shows how you can create UI models from simple MVC models')
 		def dialog = pane.createDialog(frame, 'About MVC Demo')
 		dialog.show()
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?