diff --git a/swing/src/net/sf/openrocket/gui/configdialog/TubeFinSetConfig.java b/swing/src/net/sf/openrocket/gui/configdialog/TubeFinSetConfig.java index ff3506760..99dbb5b67 100644 --- a/swing/src/net/sf/openrocket/gui/configdialog/TubeFinSetConfig.java +++ b/swing/src/net/sf/openrocket/gui/configdialog/TubeFinSetConfig.java @@ -14,6 +14,7 @@ import javax.swing.JSpinner; import net.miginfocom.swing.MigLayout; import net.sf.openrocket.document.OpenRocketDocument; import net.sf.openrocket.gui.SpinnerEditor; +import net.sf.openrocket.gui.adaptors.CustomFocusTraversalPolicy; import net.sf.openrocket.gui.adaptors.DoubleModel; import net.sf.openrocket.gui.adaptors.EnumModel; import net.sf.openrocket.gui.adaptors.IntegerModel; @@ -46,6 +47,7 @@ public class TubeFinSetConfig extends RocketComponentConfig { JSpinner spin = new JSpinner(im.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); panel.add(spin, "growx, wrap"); + order.add(((SpinnerEditor) spin.getEditor()).getTextField()); //// Length: panel.add(new JLabel(trans.get("TubeFinSetCfg.lbl.Length"))); @@ -56,6 +58,7 @@ public class TubeFinSetConfig extends RocketComponentConfig { spin.setEditor(new SpinnerEditor(spin)); focusElement = spin; panel.add(spin, "growx"); + order.add(((SpinnerEditor) spin.getEditor()).getTextField()); panel.add(new UnitSelector(m), "growx"); panel.add(new BasicSlider(m.getSliderModel(0, 0.02, 0.1)), "w 100lp, wrap para"); @@ -70,6 +73,7 @@ public class TubeFinSetConfig extends RocketComponentConfig { spin = new JSpinner(od.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); panel.add(spin, "growx"); + order.add(((SpinnerEditor) spin.getEditor()).getTextField()); panel.add(new UnitSelector(od), "growx"); panel.add(new BasicSlider(od.getSliderModel(0, 0.04, 0.2)), "w 100lp, wrap rel"); @@ -78,6 +82,7 @@ public class TubeFinSetConfig extends RocketComponentConfig { //// Automatic check.setText(trans.get("TubeFinSetCfg.checkbox.Automatic")); panel.add(check, "skip, span 2, wrap"); + order.add(check); //// Inner diameter: panel.add(new JLabel(trans.get("TubeFinSetCfg.lbl.Innerdiam"))); @@ -89,6 +94,7 @@ public class TubeFinSetConfig extends RocketComponentConfig { spin = new JSpinner(m.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); panel.add(spin, "growx"); + order.add(((SpinnerEditor) spin.getEditor()).getTextField()); panel.add(new UnitSelector(m), "growx"); panel.add(new BasicSlider(m.getSliderModel(new DoubleModel(0), od)), "w 100lp, wrap rel"); @@ -103,6 +109,7 @@ public class TubeFinSetConfig extends RocketComponentConfig { spin = new JSpinner(m.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); panel.add(spin, "growx"); + order.add(((SpinnerEditor) spin.getEditor()).getTextField()); panel.add(new UnitSelector(m), "growx"); panel.add(new BasicSlider(m.getSliderModel(0, 0.01)), "w 100lp, wrap 20lp"); @@ -120,6 +127,7 @@ public class TubeFinSetConfig extends RocketComponentConfig { spin = new JSpinner(m.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); panel.add(spin, "growx"); + order.add(((SpinnerEditor) spin.getEditor()).getTextField()); panel.add(new UnitSelector(m), "growx"); panel.add(new BasicSlider(m.getSliderModel(-Math.PI, Math.PI)), "w 100lp, wrap"); @@ -133,6 +141,7 @@ public class TubeFinSetConfig extends RocketComponentConfig { final EnumModel axialMethodModel = new EnumModel(component, "AxialMethod", AxialMethod.axialOffsetMethods ); final JComboBox axialMethodCombo = new JComboBox( axialMethodModel ); panel.add(axialMethodCombo, "spanx, growx, wrap"); + order.add(axialMethodCombo); //// plus panel.add(new JLabel(trans.get("LaunchLugCfg.lbl.plus")), "right"); @@ -141,6 +150,7 @@ public class TubeFinSetConfig extends RocketComponentConfig { spin = new JSpinner(axialOffsetModel.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); panel.add(spin, "growx"); + order.add(((SpinnerEditor) spin.getEditor()).getTextField()); axialMethodCombo.addActionListener(new ActionListener() { @Override @@ -167,6 +177,11 @@ public class TubeFinSetConfig extends RocketComponentConfig { tabbedPane.insertTab(trans.get("LaunchLugCfg.tab.General"), null, primary, trans.get("LaunchLugCfg.tab.Generalprop"), 0); tabbedPane.setSelectedIndex(0); + + // Apply the custom focus travel policy to this config dialog + CustomFocusTraversalPolicy policy = new CustomFocusTraversalPolicy(order); + parent.setFocusTraversalPolicy(policy); + } @Override