Guest User

Untitled

a guest
Jul 15th, 2012
27
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. How to build a panel dynamically with Griffon
  2. panel(id: 'tabpanelWest', constraints: WEST, border: emptyBorder(6)) {
  3. boxLayout(axis: BoxLayout.Y_AXIS)
  4. button('Add', actionPerformed: controller.addToggleButton)
  5. toggleButton(new JToggleButton('Secretaría',imageIcon('/onbutton.png'), true), itemStateChanged: controller.toggleRly)
  6. toggleButton(new JToggleButton('Hall Entrada',imageIcon('/onbutton.png'), true), itemStateChanged: controller.toggleRly)
  7. }
  8.  
  9. def toggleRly = { evt ->
  10. def toggleButton = evt.source
  11. def status = toggleButton.isSelected() ? 1 : 0
  12. // Calls to a service which does some stuff
  13. URL url = status ? app.getResourceAsURL('onbutton.png') : app.getResourceAsURL('offbutton.png')
  14. toggleButton.setIcon(new ImageIcon(url))
  15. toggleButton.setSelected(status ? true : false)
  16. }
  17.  
  18. def addToggleButton = { evt ->
  19. execInsideUIAsync {
  20. URL url = app.getResourceAsURL('onbutton.png')
  21. def panel = view.tabpanelWest
  22. def jtogglebutton = new JToggleButton('Secretaría',new ImageIcon(url), true)
  23. panel.add(jtogglebutton)
  24. panel.revalidate()
  25. }
  26. }
  27.  
  28. panel.add(new SwingBuilder().edt {toggleButton(jtogglebutton, itemStateChanged: view.controller.toggleRly)})
  29.  
  30. def addToggleButton = { evt ->
  31. edt {
  32. def panel = view.tabpanelWest
  33. def jtogglebutton = toggleButton(text:'Secretaria', selected:true, itemStateChanged: toggleRly)
  34. panel.add(jtogglebutton)
  35. panel.revalidate()
  36. }
  37. }
Advertisement
Add Comment
Please, Sign In to add comment