You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ButtonToggleIcons.java 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package com.vaadin.tests.components.button;
  2. import com.vaadin.server.ThemeResource;
  3. import com.vaadin.server.VaadinRequest;
  4. import com.vaadin.ui.Button;
  5. import com.vaadin.ui.Button.ClickEvent;
  6. import com.vaadin.ui.Button.ClickListener;
  7. import com.vaadin.ui.NativeButton;
  8. import com.vaadin.ui.UI;
  9. import com.vaadin.ui.VerticalLayout;
  10. @SuppressWarnings("serial")
  11. public class ButtonToggleIcons extends UI {
  12. @Override
  13. protected void init(final VaadinRequest request) {
  14. final VerticalLayout layout = new VerticalLayout();
  15. setContent(layout);
  16. final ThemeResource iconResource = new ThemeResource(
  17. "../runo/icons/16/arrow-left.png");
  18. final ClickListener iconToggleListener = new ClickListener() {
  19. @Override
  20. public void buttonClick(final ClickEvent event) {
  21. final Button btn = event.getButton();
  22. if (btn.getIcon() == null) {
  23. btn.setIcon(iconResource);
  24. } else {
  25. btn.setIcon(null);
  26. }
  27. }
  28. };
  29. layout.addComponent(new Button("Toggle icon", iconToggleListener));
  30. layout.addComponent(new NativeButton("Toggle icon", iconToggleListener));
  31. }
  32. }