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 { private Scene loadScene(Stage stage) throws IOException {
FXMLLoader loader = new FXMLLoader(getClass().getResource("single_layout.fxml")); 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(); MainController controller = loader.getController();
controller.setStage(stage); controller.setStage(stage);
return scene; return scene;

View File

@@ -38,11 +38,19 @@ public class MainController {
@FXML @FXML
private Button btnStartCorrect; private Button btnStartCorrect;
@FXML @FXML
private Spinner<Double> honorarium; private Spinner<Double> honorariumPercentField;
private SpinnerValueFactory<Double> honorariumValueFactory = new SpinnerValueFactory.DoubleSpinnerValueFactory(0.01d, 100.0d, 9.0d); private SpinnerValueFactory<Double> honorariumValueFactory = new SpinnerValueFactory.DoubleSpinnerValueFactory(0.01d, 100.0d, 9.0d);
@FXML @FXML
private TextField honorariumRubField;
@FXML
private Spinner<Double> fss; private Spinner<Double> fss;
private SpinnerValueFactory<Double> fssValueFactory = new SpinnerValueFactory.DoubleSpinnerValueFactory(0.01d, 100.0d, 31.0d); 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) { private FileChooser buildFileChooser(TextField textField) {
FileChooser fileChooser = new FileChooser(); FileChooser fileChooser = new FileChooser();
@@ -121,10 +129,15 @@ public class MainController {
@FXML @FXML
public void initialize() { public void initialize() {
honorarium.setValueFactory(honorariumValueFactory); honorariumPercentField.setValueFactory(honorariumValueFactory);
honorarium.focusedProperty().addListener((observable, oldValue, newValue) -> { honorariumPercentField.focusedProperty().addListener((observable, oldValue, newValue) -> {
if (newValue) return; // what? 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); fss.setValueFactory(fssValueFactory);
@@ -166,8 +179,15 @@ public class MainController {
} else { } else {
corrector.setTargetFile(new File(sourceFilePath.getText())); corrector.setTargetFile(new File(sourceFilePath.getText()));
} }
log.info("Honorarium: {}", honorarium.getValue()); if (honorariumRBtn1.isSelected()) {
corrector.setHonorarium(honorarium.getValue()); 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()); log.info("FSS: {}", fss.getValue());
corrector.setFss(fss.getValue()); corrector.setFss(fss.getValue());

View File

@@ -5,15 +5,17 @@
<?import javafx.scene.control.CheckBox?> <?import javafx.scene.control.CheckBox?>
<?import javafx.scene.control.Label?> <?import javafx.scene.control.Label?>
<?import javafx.scene.control.ProgressIndicator?> <?import javafx.scene.control.ProgressIndicator?>
<?import javafx.scene.control.RadioButton?>
<?import javafx.scene.control.Spinner?> <?import javafx.scene.control.Spinner?>
<?import javafx.scene.control.TextField?> <?import javafx.scene.control.TextField?>
<?import javafx.scene.control.ToggleGroup?>
<?import javafx.scene.image.Image?> <?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?> <?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.Pane?> <?import javafx.scene.layout.Pane?>
<?import javafx.scene.text.Font?> <?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 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="203.0" prefWidth="350.0"> <Pane fx:id="mainPane" prefHeight="280.0" prefWidth="350.0">
<padding> <padding>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" /> <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</padding> </padding>
@@ -23,18 +25,24 @@
<Label layoutX="132.0" layoutY="10.0" text="Исходный файл" /> <Label layoutX="132.0" layoutY="10.0" text="Исходный файл" />
<TextField fx:id="sourceFilePath" layoutX="132.0" layoutY="32.0" prefHeight="25.0" prefWidth="178.0" /> <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="..." /> <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="Сохранить как..." /> <CheckBox fx:id="saveAsCheckBox" layoutX="14.0" layoutY="173.0" mnemonicParsing="false" text="Сохранить как..." />
<TextField fx:id="saveAsFilePath" disable="true" layoutX="131.0" layoutY="117.0" prefHeight="25.0" prefWidth="178.0" /> <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="117.0" mnemonicParsing="false" text="..." /> <Button fx:id="btnSaveAsFilePath" disable="true" layoutX="312.0" layoutY="195.0" mnemonicParsing="false" text="..." />
<Button fx:id="btnStartCorrect" layoutX="13.0" layoutY="162.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="324.0" text="Преобразовать"> <Button fx:id="btnStartCorrect" layoutX="13.0" layoutY="241.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="324.0" text="Преобразовать">
<font> <font>
<Font name="System Bold" size="12.0" /> <Font name="System Bold" size="12.0" />
</font> </font>
</Button> </Button>
<Label layoutX="132.0" layoutY="66.0" text="Гонорар" /> <Spinner fx:id="honorariumPercentField" editable="true" layoutX="251.0" layoutY="62.0" prefHeight="25.0" prefWidth="88.0" />
<Spinner fx:id="honorarium" editable="true" layoutX="186.0" layoutY="62.0" prefHeight="25.0" prefWidth="59.0" /> <Label layoutX="131.0" layoutY="129.0" text="ФСС" />
<Label layoutX="249.0" layoutY="66.0" text="ФСС" /> <Spinner fx:id="fss" editable="true" layoutX="160.0" layoutY="125.0" prefHeight="25.0" prefWidth="59.0" />
<Spinner fx:id="fss" editable="true" layoutX="278.0" layoutY="62.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>
<Pane fx:id="waitPane" prefHeight="203.0" prefWidth="350.0" visible="false"> <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" /> <ProgressIndicator fx:id="progressBar" layoutX="157.0" layoutY="62.0" prefHeight="50.0" prefWidth="36.0" progress="1.0" />