summaryrefslogtreecommitdiff
path: root/src/main/java/sevenUnitsGUI/TabbedView.java
diff options
context:
space:
mode:
authorAdrien Hopkins <ahopk127@my.yorku.ca>2022-02-26 11:15:04 -0500
committerAdrien Hopkins <ahopk127@my.yorku.ca>2022-02-26 11:15:49 -0500
commit934213e08e85cc20bd994d0f39567426c21b89eb (patch)
treeb6a6ec78124e854246478f001fd0d816703e39ce /src/main/java/sevenUnitsGUI/TabbedView.java
parent07c86e02be29aa3d3d878adce62c5c0a9a458e47 (diff)
Implemented expression conversion, tests now pass
Diffstat (limited to 'src/main/java/sevenUnitsGUI/TabbedView.java')
-rw-r--r--src/main/java/sevenUnitsGUI/TabbedView.java15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/main/java/sevenUnitsGUI/TabbedView.java b/src/main/java/sevenUnitsGUI/TabbedView.java
index c3a05e2..1d40087 100644
--- a/src/main/java/sevenUnitsGUI/TabbedView.java
+++ b/src/main/java/sevenUnitsGUI/TabbedView.java
@@ -23,6 +23,7 @@ import java.awt.GridLayout;
import java.awt.event.KeyEvent;
import java.text.DecimalFormat;
import java.text.NumberFormat;
+import java.text.ParseException;
import java.util.AbstractSet;
import java.util.Collections;
import java.util.Iterator;
@@ -59,6 +60,7 @@ import sevenUnits.ProgramInfo;
import sevenUnits.unit.BaseDimension;
import sevenUnits.unit.Unit;
import sevenUnits.unit.UnitPrefix;
+import sevenUnits.unit.UnitValue;
import sevenUnits.utils.NamedObjectProduct;
import sevenUnits.utils.ObjectProduct;
@@ -140,7 +142,7 @@ final class TabbedView implements ExpressionConversionView, UnitConversionView {
/** The combo box that selects dimensions */
private final JComboBox<NamedObjectProduct<BaseDimension>> dimensionSelector;
/** The panel for inputting values in the dimension-based converter */
- private final JTextField valueInput;
+ private final JFormattedTextField valueInput;
/** The panel for "From" in the dimension-based converter */
private final SearchBoxList<Unit> fromSearch;
/** The panel for "To" in the dimension-based converter */
@@ -543,12 +545,13 @@ final class TabbedView implements ExpressionConversionView, UnitConversionView {
@Override
public OptionalDouble getInputValue() {
- final String text = this.valueInput.getText();
try {
- return OptionalDouble.of(Double.parseDouble(text));
- } catch (final NumberFormatException e) {
+ this.valueInput.commitEdit();
+ } catch (final ParseException e) {
return OptionalDouble.empty();
}
+ return OptionalDouble
+ .of(((Number) this.valueInput.getValue()).doubleValue());
}
@Override
@@ -604,8 +607,8 @@ final class TabbedView implements ExpressionConversionView, UnitConversionView {
}
@Override
- public void showUnitConversionOutput(String outputString) {
- this.unitOutput.setText(outputString);
+ public void showUnitConversionOutput(UnitValue input, UnitValue output) {
+ this.unitOutput.setText(input + " = " + output);
}
}