/** * 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; }