private AbstractButton createButton(
     String text, ImageIcon icon, String toolTip, ActionListener actionListener) {
   AbstractButton button = new JButton(text, icon);
   button.setMaximumSize(buttonDimension);
   button.setPreferredSize(buttonDimension);
   if (toolTip != null) {
     button.setToolTipText(toolTip);
   }
   if (actionListener != null) {
     button.addActionListener(actionListener);
   }
   return button;
 }
Example #2
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;
  }