Example #1
0
  /**
   * Create a label to describe this theme template.
   *
   * @return Guess.
   */
  public Component getButton() {

    final MyTheme theme = this;
    final ToolTip toolTip = new ToolTip("  ~ " + toString() + " ~  ");

    AbstractButton button =
        new JButton() {

          @Override
          public void updateUI() {

            super.updateUI();
            toolTip.updateUI();

            if (theme.getLookAndFeel().equals(ShadeConfig.theme.get()))
              setBackground(lookAndFeel.getBase());
            else setBackground(lookAndFeel.getBright());
          }
        };
    button.addActionListener(
        new ActionListener() {

          @Override
          public void actionPerformed(ActionEvent e) {

            ShadeConfig.theme.set(theme.getLookAndFeel());
            ShadeConfig.getUi().execute(BasicRequest.THEME);

            if (theme == CUSTOM)
              if (customThemeDialog(ShadeConfig.getUi().getFrame()))
                ShadeConfig.getUi().execute(BasicRequest.THEME);
          }
        });
    button.setPreferredSize(new Dimension(20, 20));
    button.setAlignmentX(0);
    toolTip.setContent(button);

    return button;
  }