Increase gap between button icon and text

This commit is contained in:
SiboVG 2022-08-17 01:04:38 +02:00
parent 779b1c6554
commit e98f864bb1
5 changed files with 55 additions and 15 deletions

View File

@ -69,7 +69,7 @@ import net.sf.openrocket.gui.util.Icons;
import net.sf.openrocket.gui.util.OpenFileWorker; import net.sf.openrocket.gui.util.OpenFileWorker;
import net.sf.openrocket.gui.util.SaveFileWorker; import net.sf.openrocket.gui.util.SaveFileWorker;
import net.sf.openrocket.gui.util.SwingPreferences; import net.sf.openrocket.gui.util.SwingPreferences;
import net.sf.openrocket.gui.widgets.SelectColorButton; import net.sf.openrocket.gui.widgets.IconButton;
import net.sf.openrocket.l10n.Translator; import net.sf.openrocket.l10n.Translator;
import net.sf.openrocket.logging.Markers; import net.sf.openrocket.logging.Markers;
import net.sf.openrocket.rocketcomponent.AxialStage; import net.sf.openrocket.rocketcomponent.AxialStage;
@ -412,29 +412,29 @@ public class BasicFrame extends JFrame {
// Buttons // Buttons
JButton button = new SelectColorButton(); JButton button = new IconButton();
button.setHorizontalAlignment(SwingConstants.LEFT); button.setHorizontalAlignment(SwingConstants.LEFT);
RocketActions.tieActionToButton(button, actions.getMoveUpAction()); RocketActions.tieActionToButton(button, actions.getMoveUpAction());
panel.add(button, "sizegroup buttons, aligny 65%"); panel.add(button, "sizegroup buttons, aligny 65%");
button = new SelectColorButton(); button = new IconButton();
button.setHorizontalAlignment(SwingConstants.LEFT); button.setHorizontalAlignment(SwingConstants.LEFT);
RocketActions.tieActionToButton(button, actions.getMoveDownAction()); RocketActions.tieActionToButton(button, actions.getMoveDownAction());
panel.add(button, "sizegroup buttons, aligny 0%"); panel.add(button, "sizegroup buttons, aligny 0%");
button = new SelectColorButton(); button = new IconButton();
button.setHorizontalAlignment(SwingConstants.LEFT); button.setHorizontalAlignment(SwingConstants.LEFT);
RocketActions.tieActionToButton(button, actions.getEditAction()); RocketActions.tieActionToButton(button, actions.getEditAction());
button.setMnemonic(0); button.setMnemonic(0);
panel.add(button, "sizegroup buttons, gaptop 20%"); panel.add(button, "sizegroup buttons, gaptop 20%");
button = new SelectColorButton(); button = new IconButton();
button.setHorizontalAlignment(SwingConstants.LEFT); button.setHorizontalAlignment(SwingConstants.LEFT);
RocketActions.tieActionToButton(button, actions.getDuplicateAction()); RocketActions.tieActionToButton(button, actions.getDuplicateAction());
button.setMnemonic(0); button.setMnemonic(0);
panel.add(button, "sizegroup buttons"); panel.add(button, "sizegroup buttons");
button = new SelectColorButton(); button = new IconButton();
button.setHorizontalAlignment(SwingConstants.LEFT); button.setHorizontalAlignment(SwingConstants.LEFT);
RocketActions.tieActionToButton(button, actions.getDeleteAction()); RocketActions.tieActionToButton(button, actions.getDeleteAction());
button.setMnemonic(0); button.setMnemonic(0);

View File

@ -25,6 +25,7 @@ import net.sf.openrocket.gui.components.StyledLabel;
import net.sf.openrocket.gui.configdialog.ComponentConfigDialog; import net.sf.openrocket.gui.configdialog.ComponentConfigDialog;
import net.sf.openrocket.gui.dialogs.ScaleDialog; import net.sf.openrocket.gui.dialogs.ScaleDialog;
import net.sf.openrocket.gui.util.Icons; import net.sf.openrocket.gui.util.Icons;
import net.sf.openrocket.gui.widgets.IconButton;
import net.sf.openrocket.l10n.Translator; import net.sf.openrocket.l10n.Translator;
import net.sf.openrocket.logging.Markers; import net.sf.openrocket.logging.Markers;
import net.sf.openrocket.rocketcomponent.ComponentChangeEvent; import net.sf.openrocket.rocketcomponent.ComponentChangeEvent;

View File

@ -38,6 +38,7 @@ import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener; import javax.swing.event.ListSelectionListener;
import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.DefaultTableCellRenderer;
import net.sf.openrocket.gui.widgets.IconButton;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -124,31 +125,31 @@ public class SimulationPanel extends JPanel {
//////// The simulation action buttons //////// //////// The simulation action buttons ////////
//// New simulation button //// New simulation button
JButton newButton = new SelectColorButton(); JButton newButton = new IconButton();
RocketActions.tieActionToButton(newButton, newSimulationAction, trans.get("simpanel.but.newsimulation")); RocketActions.tieActionToButton(newButton, newSimulationAction, trans.get("simpanel.but.newsimulation"));
newButton.setToolTipText(trans.get("simpanel.but.ttip.newsimulation")); newButton.setToolTipText(trans.get("simpanel.but.ttip.newsimulation"));
this.add(newButton, "skip 1, gapright para"); this.add(newButton, "skip 1, gapright para");
//// Edit simulation button //// Edit simulation button
editButton = new SelectColorButton(); editButton = new IconButton();
RocketActions.tieActionToButton(editButton, editSimulationAction, trans.get("simpanel.but.editsimulation")); RocketActions.tieActionToButton(editButton, editSimulationAction, trans.get("simpanel.but.editsimulation"));
editButton.setToolTipText(trans.get("simpanel.but.ttip.editsim")); editButton.setToolTipText(trans.get("simpanel.but.ttip.editsim"));
this.add(editButton, "gapright para"); this.add(editButton, "gapright para");
//// Run simulations //// Run simulations
runButton = new SelectColorButton(); runButton = new IconButton();
RocketActions.tieActionToButton(runButton, runSimulationAction, trans.get("simpanel.but.runsimulations")); RocketActions.tieActionToButton(runButton, runSimulationAction, trans.get("simpanel.but.runsimulations"));
runButton.setToolTipText(trans.get("simpanel.but.ttip.runsimu")); runButton.setToolTipText(trans.get("simpanel.but.ttip.runsimu"));
this.add(runButton, "gapright para"); this.add(runButton, "gapright para");
//// Delete simulations button //// Delete simulations button
deleteButton = new SelectColorButton(); deleteButton = new IconButton();
RocketActions.tieActionToButton(deleteButton, deleteSimulationAction, trans.get("simpanel.but.deletesimulations")); RocketActions.tieActionToButton(deleteButton, deleteSimulationAction, trans.get("simpanel.but.deletesimulations"));
deleteButton.setToolTipText(trans.get("simpanel.but.ttip.deletesim")); deleteButton.setToolTipText(trans.get("simpanel.but.ttip.deletesim"));
this.add(deleteButton, "gapright para"); this.add(deleteButton, "gapright para");
//// Plot / export button //// Plot / export button
plotButton = new SelectColorButton(); plotButton = new IconButton();
RocketActions.tieActionToButton(plotButton, plotSimulationAction, trans.get("simpanel.but.plotexport")); RocketActions.tieActionToButton(plotButton, plotSimulationAction, trans.get("simpanel.but.plotexport"));
this.add(plotButton, "wrap para"); this.add(plotButton, "wrap para");

View File

@ -23,6 +23,7 @@ import net.sf.openrocket.gui.dialogs.flightconfiguration.RenameConfigDialog;
import net.sf.openrocket.gui.main.BasicFrame; import net.sf.openrocket.gui.main.BasicFrame;
import net.sf.openrocket.gui.main.RocketActions; import net.sf.openrocket.gui.main.RocketActions;
import net.sf.openrocket.gui.util.Icons; import net.sf.openrocket.gui.util.Icons;
import net.sf.openrocket.gui.widgets.IconButton;
import net.sf.openrocket.l10n.Translator; import net.sf.openrocket.l10n.Translator;
import net.sf.openrocket.rocketcomponent.ComponentChangeEvent; import net.sf.openrocket.rocketcomponent.ComponentChangeEvent;
import net.sf.openrocket.rocketcomponent.FlightConfigurableComponent; import net.sf.openrocket.rocketcomponent.FlightConfigurableComponent;
@ -97,22 +98,22 @@ public class FlightConfigurationPanel extends JPanel implements StateChangeListe
tabs.add(trans.get("edtmotorconfdlg.lbl.Stagetab"), separationConfigurationPanel); tabs.add(trans.get("edtmotorconfdlg.lbl.Stagetab"), separationConfigurationPanel);
//// New configuration //// New configuration
newConfButton = new SelectColorButton(); newConfButton = new IconButton();
RocketActions.tieActionToButton(newConfButton, newConfigAction); RocketActions.tieActionToButton(newConfButton, newConfigAction);
this.add(newConfButton,"skip 1,gapright para"); this.add(newConfButton,"skip 1,gapright para");
//// Rename configuration //// Rename configuration
renameConfButton = new SelectColorButton(); renameConfButton = new IconButton();
RocketActions.tieActionToButton(renameConfButton, renameConfigAction); RocketActions.tieActionToButton(renameConfButton, renameConfigAction);
this.add(renameConfButton,"gapright para"); this.add(renameConfButton,"gapright para");
//// Remove configuration //// Remove configuration
removeConfButton = new SelectColorButton(); removeConfButton = new IconButton();
RocketActions.tieActionToButton(removeConfButton, removeConfigAction); RocketActions.tieActionToButton(removeConfButton, removeConfigAction);
this.add(removeConfButton,"gapright para"); this.add(removeConfButton,"gapright para");
//// Duplicate configuration //// Duplicate configuration
duplicateConfButton = new SelectColorButton(); duplicateConfButton = new IconButton();
RocketActions.tieActionToButton(duplicateConfButton, duplicateConfigAction); RocketActions.tieActionToButton(duplicateConfButton, duplicateConfigAction);
this.add(duplicateConfButton, "wrap"); this.add(duplicateConfButton, "wrap");

View File

@ -0,0 +1,37 @@
package net.sf.openrocket.gui.widgets;
import javax.swing.Action;
import javax.swing.Icon;
/**
* Button specifically for displaying an icon.
*/
public class IconButton extends SelectColorButton {
private static final int ICON_GAP = 10;
public static final double ICON_SCALE = 0.8;
public IconButton() {
setIconTextGap(ICON_GAP);
}
public IconButton(Icon icon) {
super(icon);
setIconTextGap(ICON_GAP);
}
public IconButton(String text) {
super(text);
setIconTextGap(ICON_GAP);
}
public IconButton(Action a) {
super(a);
setIconTextGap(ICON_GAP);
}
public IconButton(String text, Icon icon) {
super(text, icon);
setIconTextGap(ICON_GAP);
}
}