Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- How to build a panel dynamically with Griffon
- panel(id: 'tabpanelWest', constraints: WEST, border: emptyBorder(6)) {
- boxLayout(axis: BoxLayout.Y_AXIS)
- button('Add', actionPerformed: controller.addToggleButton)
- toggleButton(new JToggleButton('Secretaría',imageIcon('/onbutton.png'), true), itemStateChanged: controller.toggleRly)
- toggleButton(new JToggleButton('Hall Entrada',imageIcon('/onbutton.png'), true), itemStateChanged: controller.toggleRly)
- }
- def toggleRly = { evt ->
- def toggleButton = evt.source
- def status = toggleButton.isSelected() ? 1 : 0
- // Calls to a service which does some stuff
- URL url = status ? app.getResourceAsURL('onbutton.png') : app.getResourceAsURL('offbutton.png')
- toggleButton.setIcon(new ImageIcon(url))
- toggleButton.setSelected(status ? true : false)
- }
- def addToggleButton = { evt ->
- execInsideUIAsync {
- URL url = app.getResourceAsURL('onbutton.png')
- def panel = view.tabpanelWest
- def jtogglebutton = new JToggleButton('Secretaría',new ImageIcon(url), true)
- panel.add(jtogglebutton)
- panel.revalidate()
- }
- }
- panel.add(new SwingBuilder().edt {toggleButton(jtogglebutton, itemStateChanged: view.controller.toggleRly)})
- def addToggleButton = { evt ->
- edt {
- def panel = view.tabpanelWest
- def jtogglebutton = toggleButton(text:'Secretaria', selected:true, itemStateChanged: toggleRly)
- panel.add(jtogglebutton)
- panel.revalidate()
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment