[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 javax.swing.JToggleButton;
|
||||||
|
|
||||||
import net.miginfocom.swing.MigLayout;
|
import net.miginfocom.swing.MigLayout;
|
||||||
|
import net.sf.openrocket.gui.widgets.SelectColorToggleButton;
|
||||||
import net.sf.openrocket.rocketcomponent.AxialStage;
|
import net.sf.openrocket.rocketcomponent.AxialStage;
|
||||||
import net.sf.openrocket.rocketcomponent.ComponentChangeEvent;
|
import net.sf.openrocket.rocketcomponent.ComponentChangeEvent;
|
||||||
import net.sf.openrocket.rocketcomponent.FlightConfiguration;
|
import net.sf.openrocket.rocketcomponent.FlightConfiguration;
|
||||||
@ -36,7 +37,7 @@ public class StageSelector extends JPanel implements StateChangeListener {
|
|||||||
buttons.clear();
|
buttons.clear();
|
||||||
this.removeAll();
|
this.removeAll();
|
||||||
for(AxialStage stage : configuration.getRocket().getStageList()){
|
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()));
|
button.setSelected(configuration.isStageActive(stage.getStageNumber()));
|
||||||
this.add(button);
|
this.add(button);
|
||||||
buttons.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.components.UnitSelector;
|
||||||
import net.sf.openrocket.gui.scalefigure.RocketPanel;
|
import net.sf.openrocket.gui.scalefigure.RocketPanel;
|
||||||
import net.sf.openrocket.gui.util.GUIUtil;
|
import net.sf.openrocket.gui.util.GUIUtil;
|
||||||
|
import net.sf.openrocket.gui.widgets.SelectColorToggleButton;
|
||||||
import net.sf.openrocket.l10n.Translator;
|
import net.sf.openrocket.l10n.Translator;
|
||||||
import net.sf.openrocket.masscalc.CMAnalysisEntry;
|
import net.sf.openrocket.masscalc.CMAnalysisEntry;
|
||||||
import net.sf.openrocket.masscalc.MassCalculator;
|
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));
|
BasicSlider slider = new BasicSlider(theta.getSliderModel(0, 2 * Math.PI));
|
||||||
panel.add(slider, "growx, split 2");
|
panel.add(slider, "growx, split 2");
|
||||||
//// Worst button
|
//// Worst button
|
||||||
worstToggle = new JToggleButton(trans.get("componentanalysisdlg.ToggleBut.worst"));
|
worstToggle = new SelectColorToggleButton(trans.get("componentanalysisdlg.ToggleBut.worst"));
|
||||||
worstToggle.setSelected(true);
|
worstToggle.setSelected(true);
|
||||||
worstToggle.addActionListener(new ActionListener() {
|
worstToggle.addActionListener(new ActionListener() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -73,6 +73,7 @@ import net.sf.openrocket.gui.scalefigure.RocketFigure;
|
|||||||
import net.sf.openrocket.gui.scalefigure.ScaleScrollPane;
|
import net.sf.openrocket.gui.scalefigure.ScaleScrollPane;
|
||||||
import net.sf.openrocket.gui.util.FileHelper;
|
import net.sf.openrocket.gui.util.FileHelper;
|
||||||
import net.sf.openrocket.gui.util.GUIUtil;
|
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.gui.util.SwingPreferences;
|
||||||
import net.sf.openrocket.l10n.Translator;
|
import net.sf.openrocket.l10n.Translator;
|
||||||
import net.sf.openrocket.logging.Markers;
|
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.MinimizationGoal;
|
||||||
import net.sf.openrocket.optimization.rocketoptimization.goals.ValueSeekGoal;
|
import net.sf.openrocket.optimization.rocketoptimization.goals.ValueSeekGoal;
|
||||||
import net.sf.openrocket.optimization.services.OptimizationServiceHelper;
|
import net.sf.openrocket.optimization.services.OptimizationServiceHelper;
|
||||||
import net.sf.openrocket.rocketcomponent.FlightConfigurationId;
|
|
||||||
import net.sf.openrocket.rocketcomponent.Rocket;
|
import net.sf.openrocket.rocketcomponent.Rocket;
|
||||||
import net.sf.openrocket.rocketcomponent.RocketComponent;
|
import net.sf.openrocket.rocketcomponent.RocketComponent;
|
||||||
import net.sf.openrocket.startup.Application;
|
import net.sf.openrocket.startup.Application;
|
||||||
@ -527,7 +527,7 @@ public class GeneralOptimizationDialog extends JDialog {
|
|||||||
|
|
||||||
// // Start/Stop button
|
// // Start/Stop button
|
||||||
|
|
||||||
startButton = new JToggleButton(START_TEXT);
|
startButton = new SelectColorToggleButton(START_TEXT);
|
||||||
startButton.addActionListener(e -> {
|
startButton.addActionListener(e -> {
|
||||||
if (updating) {
|
if (updating) {
|
||||||
log.debug("Updating, ignoring event");
|
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
|
// 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);
|
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) {
|
} catch (final Throwable t) {
|
||||||
// None of the preceding is critical to the app,
|
// None of the preceding is critical to the app,
|
||||||
// so at worst case log an error and continue
|
// so at worst case log an error and continue
|
||||||
|
Loading…
x
Reference in New Issue
Block a user