diff --git a/swing/src/net/sf/openrocket/gui/main/RocketActions.java b/swing/src/net/sf/openrocket/gui/main/RocketActions.java index 86a3ea6bf..15ed1d597 100644 --- a/swing/src/net/sf/openrocket/gui/main/RocketActions.java +++ b/swing/src/net/sf/openrocket/gui/main/RocketActions.java @@ -12,6 +12,7 @@ import java.util.List; import javax.swing.AbstractAction; import javax.swing.Action; +import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JOptionPane; import javax.swing.JPanel; @@ -189,6 +190,35 @@ public class RocketActions { return moveDownAction; } + /** + * Tie an action to a JButton, without using the icon or text of the action for the button. + * + * For any smartass that wants to know why you don't just initialize the JButton with the action and then set the + * icon to null and set the button text: this causes a bug where the text of the icon becomes much smaller than is intended. + * + * @param button button to tie the action to + * @param action action to tie to the button + * @param text text to display on the button + */ + public static void tieActionToButtonNoIcon(JButton button, Action action, String text) { + button.setAction(action); + button.setIcon(null); + button.setText(text); + } + + /** + * Tie an action to a JButton, without using the icon of the action for the button. + * + * For any smartass that wants to know why you don't just initialize the JButton with the action and then set the + * icon to null: this causes a bug where the text of the icon becomes much smaller than is intended. + * + * @param button button to tie the action to + * @param action action to tie to the button + */ + public static void tieActionToButtonNoIcon(JButton button, Action action) { + button.setAction(action); + button.setIcon(null); + } //////// Helper methods for the actions diff --git a/swing/src/net/sf/openrocket/gui/main/SimulationPanel.java b/swing/src/net/sf/openrocket/gui/main/SimulationPanel.java index a0904b7d1..be9359509 100644 --- a/swing/src/net/sf/openrocket/gui/main/SimulationPanel.java +++ b/swing/src/net/sf/openrocket/gui/main/SimulationPanel.java @@ -10,7 +10,6 @@ import java.awt.datatransfer.StringSelection; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; @@ -19,7 +18,6 @@ import java.util.Arrays; import java.util.Comparator; import javax.swing.AbstractAction; -import javax.swing.Action; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComponent; @@ -123,31 +121,31 @@ public class SimulationPanel extends JPanel { //// New simulation button JButton newButton = new SelectColorButton(); - tieActionToButtonNoIcon(newButton, newSimulationAction, trans.get("simpanel.but.newsimulation")); + RocketActions.tieActionToButtonNoIcon(newButton, newSimulationAction, trans.get("simpanel.but.newsimulation")); newButton.setToolTipText(trans.get("simpanel.but.ttip.newsimulation")); this.add(newButton, "skip 1, gapright para"); //// Edit simulation button editButton = new SelectColorButton(); - tieActionToButtonNoIcon(editButton, editSimulationAction, trans.get("simpanel.but.editsimulation")); + RocketActions.tieActionToButtonNoIcon(editButton, editSimulationAction, trans.get("simpanel.but.editsimulation")); editButton.setToolTipText(trans.get("simpanel.but.ttip.editsim")); this.add(editButton, "gapright para"); //// Run simulations runButton = new SelectColorButton(); - tieActionToButtonNoIcon(runButton, runSimulationAction, trans.get("simpanel.but.runsimulations")); + RocketActions.tieActionToButtonNoIcon(runButton, runSimulationAction, trans.get("simpanel.but.runsimulations")); runButton.setToolTipText(trans.get("simpanel.but.ttip.runsimu")); this.add(runButton, "gapright para"); //// Delete simulations button deleteButton = new SelectColorButton(); - tieActionToButtonNoIcon(deleteButton, deleteSimulationAction, trans.get("simpanel.but.deletesimulations")); + RocketActions.tieActionToButtonNoIcon(deleteButton, deleteSimulationAction, trans.get("simpanel.but.deletesimulations")); deleteButton.setToolTipText(trans.get("simpanel.but.ttip.deletesim")); this.add(deleteButton, "gapright para"); //// Plot / export button plotButton = new SelectColorButton(); - tieActionToButtonNoIcon(plotButton, plotSimulationAction, trans.get("simpanel.but.plotexport")); + RocketActions.tieActionToButtonNoIcon(plotButton, plotSimulationAction, trans.get("simpanel.but.plotexport")); this.add(plotButton, "wrap para"); @@ -747,12 +745,6 @@ public class SimulationPanel extends JPanel { } } - private void tieActionToButtonNoIcon(JButton button, Action action, String text) { - button.setAction(action); - button.setIcon(null); - button.setText(text); - } - private abstract static class SimulationAction extends AbstractAction { private static final long serialVersionUID = 1L;