Archived
0

правки в работе GUI

This commit is contained in:
2018-07-24 13:59:28 +03:00
parent 00ef10dc1d
commit f811e7ae20
3 changed files with 45 additions and 17 deletions

View File

@@ -26,7 +26,7 @@ public class MainApp extends Application {
private Scene loadScene(Stage stage) throws IOException {
FXMLLoader loader = new FXMLLoader(getClass().getResource("single_layout.fxml"));
Scene scene = new Scene(loader.load(), 350-10, 203-10);
Scene scene = new Scene(loader.load(), 350-10, 278-10);
MainController controller = loader.getController();
controller.setStage(stage);
return scene;

View File

@@ -38,11 +38,19 @@ public class MainController {
@FXML
private Button btnStartCorrect;
@FXML
private Spinner<Double> honorarium;
private Spinner<Double> honorariumPercentField;
private SpinnerValueFactory<Double> honorariumValueFactory = new SpinnerValueFactory.DoubleSpinnerValueFactory(0.01d, 100.0d, 9.0d);
@FXML
private TextField honorariumRubField;
@FXML
private Spinner<Double> fss;
private SpinnerValueFactory<Double> fssValueFactory = new SpinnerValueFactory.DoubleSpinnerValueFactory(0.01d, 100.0d, 31.0d);
@FXML
private ToggleGroup honorarGroup;
@FXML
private RadioButton honorariumRBtn1;
@FXML
private RadioButton honorariumRBtn2;
private FileChooser buildFileChooser(TextField textField) {
FileChooser fileChooser = new FileChooser();
@@ -121,10 +129,15 @@ public class MainController {
@FXML
public void initialize() {
honorarium.setValueFactory(honorariumValueFactory);
honorarium.focusedProperty().addListener((observable, oldValue, newValue) -> {
honorariumPercentField.setValueFactory(honorariumValueFactory);
honorariumPercentField.focusedProperty().addListener((observable, oldValue, newValue) -> {
if (newValue) return; // what?
commitEditorText(honorarium);
commitEditorText(honorariumPercentField);
});
honorarGroup.selectedToggleProperty().addListener((observable, oldValue, newValue) -> {
honorariumPercentField.setDisable(!honorariumRBtn1.isSelected());
honorariumRubField.setDisable(!honorariumRBtn2.isSelected());
});
fss.setValueFactory(fssValueFactory);
@@ -166,8 +179,15 @@ public class MainController {
} else {
corrector.setTargetFile(new File(sourceFilePath.getText()));
}
log.info("Honorarium: {}", honorarium.getValue());
corrector.setHonorarium(honorarium.getValue());
if (honorariumRBtn1.isSelected()) {
log.info("Honorarium: {}", honorariumPercentField.getValue());
corrector.setHonorariumPercent(honorariumPercentField.getValue());
} else {
String preDouble = honorariumRubField.getText().replace(',','.');
log.info("Honorarium: {}", preDouble);
double value = Double.parseDouble(preDouble);
corrector.setHonorariumRub(value);
}
log.info("FSS: {}", fss.getValue());
corrector.setFss(fss.getValue());

View File

@@ -5,15 +5,17 @@
<?import javafx.scene.control.CheckBox?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.ProgressIndicator?>
<?import javafx.scene.control.RadioButton?>
<?import javafx.scene.control.Spinner?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.control.ToggleGroup?>
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.text.Font?>
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="203.0" prefWidth="350.0" xmlns="http://javafx.com/javafx/9.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ru.dmitriymx.corrector1s.gui.MainController">
<Pane fx:id="mainPane" prefHeight="203.0" prefWidth="350.0">
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="278.0" prefWidth="350.0" xmlns="http://javafx.com/javafx/8.0.121" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ru.dmitriymx.corrector1s.gui.MainController">
<Pane fx:id="mainPane" prefHeight="280.0" prefWidth="350.0">
<padding>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</padding>
@@ -23,18 +25,24 @@
<Label layoutX="132.0" layoutY="10.0" text="Исходный файл" />
<TextField fx:id="sourceFilePath" layoutX="132.0" layoutY="32.0" prefHeight="25.0" prefWidth="178.0" />
<Button fx:id="btnSourceFilePath" layoutX="313.0" layoutY="32.0" mnemonicParsing="false" text="..." />
<CheckBox fx:id="saveAsCheckBox" layoutX="132.0" layoutY="95.0" mnemonicParsing="false" text="Сохранить как..." />
<TextField fx:id="saveAsFilePath" disable="true" layoutX="131.0" layoutY="117.0" prefHeight="25.0" prefWidth="178.0" />
<Button fx:id="btnSaveAsFilePath" disable="true" layoutX="312.0" layoutY="117.0" mnemonicParsing="false" text="..." />
<Button fx:id="btnStartCorrect" layoutX="13.0" layoutY="162.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="324.0" text="Преобразовать">
<CheckBox fx:id="saveAsCheckBox" layoutX="14.0" layoutY="173.0" mnemonicParsing="false" text="Сохранить как..." />
<TextField fx:id="saveAsFilePath" disable="true" layoutX="13.0" layoutY="195.0" prefHeight="25.0" prefWidth="294.0" />
<Button fx:id="btnSaveAsFilePath" disable="true" layoutX="312.0" layoutY="195.0" mnemonicParsing="false" text="..." />
<Button fx:id="btnStartCorrect" layoutX="13.0" layoutY="241.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="324.0" text="Преобразовать">
<font>
<Font name="System Bold" size="12.0" />
</font>
</Button>
<Label layoutX="132.0" layoutY="66.0" text="Гонорар" />
<Spinner fx:id="honorarium" editable="true" layoutX="186.0" layoutY="62.0" prefHeight="25.0" prefWidth="59.0" />
<Label layoutX="249.0" layoutY="66.0" text="ФСС" />
<Spinner fx:id="fss" editable="true" layoutX="278.0" layoutY="62.0" prefHeight="25.0" prefWidth="59.0" />
<Spinner fx:id="honorariumPercentField" editable="true" layoutX="251.0" layoutY="62.0" prefHeight="25.0" prefWidth="88.0" />
<Label layoutX="131.0" layoutY="129.0" text="ФСС" />
<Spinner fx:id="fss" editable="true" layoutX="160.0" layoutY="125.0" prefHeight="25.0" prefWidth="59.0" />
<RadioButton fx:id="honorariumRBtn1" layoutX="131.0" layoutY="66.0" mnemonicParsing="false" selected="true" text="Гонорар (%)">
<toggleGroup>
<ToggleGroup fx:id="honorarGroup" />
</toggleGroup>
</RadioButton>
<RadioButton fx:id="honorariumRBtn2" layoutX="132.0" layoutY="96.0" mnemonicParsing="false" text="Гонорар (руб)" toggleGroup="$honorarGroup" />
<TextField fx:id="honorariumRubField" disable="true" layoutX="251.0" layoutY="92.0" prefHeight="25.0" prefWidth="88.0" />
</Pane>
<Pane fx:id="waitPane" prefHeight="203.0" prefWidth="350.0" visible="false">
<ProgressIndicator fx:id="progressBar" layoutX="157.0" layoutY="62.0" prefHeight="50.0" prefWidth="36.0" progress="1.0" />