static JButton jimageButton(S imageID, O action) { JButton btn = jbutton("", action); btn.setIcon(imageIcon(imageID)); ret btn; } // button without action static JButton jimageButton(S imageID) { ret jimageButton(imageID, null); } static JButton jimageButton(Image img) { ret jimageButton(img, null, null); } static JButton jimageButton(S imageID, S toolTip, Runnable action) { ret jimageButton(imageIcon(imageID), toolTip, action); } static JButton jimageButton(Image img, S toolTip, Runnable action) { var btn = jbutton("", action); setButtonImage(btn, img); ret setToolTip(toolTip, btn); } static JButton jimageButton(ImageIcon img, S toolTip, Runnable action) { var btn = jbutton("", action); setButtonImage(btn, img); ret setToolTip(toolTip, btn); }