[fixes #968] Use SelectColorToggleButton
This commit is contained in:
parent
295c9269b1
commit
ebcdd469b7
@ -10,6 +10,7 @@ import javax.swing.JPanel;
|
||||
import javax.swing.JToggleButton;
|
||||
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
import net.sf.openrocket.gui.widgets.SelectColorToggleButton;
|
||||
import net.sf.openrocket.rocketcomponent.AxialStage;
|
||||
import net.sf.openrocket.rocketcomponent.ComponentChangeEvent;
|
||||
import net.sf.openrocket.rocketcomponent.FlightConfiguration;
|
||||
@ -36,7 +37,7 @@ public class StageSelector extends JPanel implements StateChangeListener {
|
||||
buttons.clear();
|
||||
this.removeAll();
|
||||
for(AxialStage stage : configuration.getRocket().getStageList()){
|
||||
JToggleButton button = new JToggleButton(new StageAction(stage));
|
||||
JToggleButton button = new SelectColorToggleButton(new StageAction(stage));
|
||||
button.setSelected(configuration.isStageActive(stage.getStageNumber()));
|
||||
this.add(button);
|
||||
buttons.add(button);
|
||||
|
@ -52,6 +52,7 @@ import net.sf.openrocket.gui.components.StyledLabel;
|
||||
import net.sf.openrocket.gui.components.UnitSelector;
|
||||
import net.sf.openrocket.gui.scalefigure.RocketPanel;
|
||||
import net.sf.openrocket.gui.util.GUIUtil;
|
||||
import net.sf.openrocket.gui.widgets.SelectColorToggleButton;
|
||||
import net.sf.openrocket.l10n.Translator;
|
||||
import net.sf.openrocket.masscalc.CMAnalysisEntry;
|
||||
import net.sf.openrocket.masscalc.MassCalculator;
|
||||
@ -124,7 +125,7 @@ public class ComponentAnalysisDialog extends JDialog implements StateChangeListe
|
||||
BasicSlider slider = new BasicSlider(theta.getSliderModel(0, 2 * Math.PI));
|
||||
panel.add(slider, "growx, split 2");
|
||||
//// Worst button
|
||||
worstToggle = new JToggleButton(trans.get("componentanalysisdlg.ToggleBut.worst"));
|
||||
worstToggle = new SelectColorToggleButton(trans.get("componentanalysisdlg.ToggleBut.worst"));
|
||||
worstToggle.setSelected(true);
|
||||
worstToggle.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
|
@ -73,6 +73,7 @@ import net.sf.openrocket.gui.scalefigure.RocketFigure;
|
||||
import net.sf.openrocket.gui.scalefigure.ScaleScrollPane;
|
||||
import net.sf.openrocket.gui.util.FileHelper;
|
||||
import net.sf.openrocket.gui.util.GUIUtil;
|
||||
import net.sf.openrocket.gui.widgets.SelectColorToggleButton;
|
||||
import net.sf.openrocket.gui.util.SwingPreferences;
|
||||
import net.sf.openrocket.l10n.Translator;
|
||||
import net.sf.openrocket.logging.Markers;
|
||||
@ -88,7 +89,6 @@ import net.sf.openrocket.optimization.rocketoptimization.goals.MaximizationGoal;
|
||||
import net.sf.openrocket.optimization.rocketoptimization.goals.MinimizationGoal;
|
||||
import net.sf.openrocket.optimization.rocketoptimization.goals.ValueSeekGoal;
|
||||
import net.sf.openrocket.optimization.services.OptimizationServiceHelper;
|
||||
import net.sf.openrocket.rocketcomponent.FlightConfigurationId;
|
||||
import net.sf.openrocket.rocketcomponent.Rocket;
|
||||
import net.sf.openrocket.rocketcomponent.RocketComponent;
|
||||
import net.sf.openrocket.startup.Application;
|
||||
@ -527,7 +527,7 @@ public class GeneralOptimizationDialog extends JDialog {
|
||||
|
||||
// // Start/Stop button
|
||||
|
||||
startButton = new JToggleButton(START_TEXT);
|
||||
startButton = new SelectColorToggleButton(START_TEXT);
|
||||
startButton.addActionListener(e -> {
|
||||
if (updating) {
|
||||
log.debug("Updating, ignoring event");
|
||||
|
@ -0,0 +1,51 @@
|
||||
package net.sf.openrocket.gui.widgets;
|
||||
|
||||
import net.sf.openrocket.gui.components.StageSelector;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.Graphics;
|
||||
import java.awt.Color;
|
||||
|
||||
public class SelectColorToggleButton extends JToggleButton {
|
||||
public SelectColorToggleButton(Action a) {
|
||||
super(a);
|
||||
}
|
||||
|
||||
public SelectColorToggleButton(String text) {
|
||||
super(text);
|
||||
}
|
||||
|
||||
public SelectColorToggleButton() {
|
||||
}
|
||||
|
||||
public SelectColorToggleButton(Icon icon) {
|
||||
super(icon);
|
||||
}
|
||||
|
||||
public SelectColorToggleButton(Icon icon, boolean selected) {
|
||||
super(icon, selected);
|
||||
}
|
||||
|
||||
public SelectColorToggleButton(String text, boolean selected) {
|
||||
super(text, selected);
|
||||
}
|
||||
|
||||
public SelectColorToggleButton(String text, Icon icon) {
|
||||
super(text, icon);
|
||||
}
|
||||
|
||||
public SelectColorToggleButton(String text, Icon icon, boolean selected) {
|
||||
super(text, icon, selected);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void paint(Graphics g) {
|
||||
if (isSelected()) {
|
||||
setForeground(UIManager.getColor("ToggleButton.selectForeground"));
|
||||
}
|
||||
else {
|
||||
setForeground(UIManager.getColor("ToggleButton.foreground"));
|
||||
}
|
||||
super.paint(g);
|
||||
}
|
||||
}
|
@ -93,6 +93,9 @@ final class OSXSetup {
|
||||
// Set the foreground of active tabs to black; there was a bug where you had a white background and white foreground
|
||||
UIManager.put("TabbedPane.foreground", Color.black);
|
||||
|
||||
// Set the select foreground for buttons to not be black on a blue background
|
||||
UIManager.put("ToggleButton.selectForeground", Color.WHITE);
|
||||
|
||||
} catch (final Throwable t) {
|
||||
// None of the preceding is critical to the app,
|
||||
// so at worst case log an error and continue
|
||||
|
Loading…
x
Reference in New Issue
Block a user