Я просто начинаю использовать JavaFX, и setStrokeType()
похоже, делает мою программу очень медленной, а иногда даже сбой.
Как только я поставлю -fx-stroke-type:outside;
в моем файле CSS и использовать его или использовать label_4.setStrokeType(StrokeType.OUTSIDE);
моя программа будет работать медленно, я даже не могу установить флажок.
Вот он мой код:
#label{
-fx-font:25 Arial;
-fx-font-weight:900;
-fx-fill: white;
-fx-stroke: #989898;
-fx-stroke-width: 1;
-fx-stroke-type:outside;
-fx-effect: dropshadow(three-pass-box, rgba(0,0,0,0.45), 2, 0, 0, 1);
}
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
StackPane root = new StackPane();
Scene scene = new Scene(root, 856, 290);
primaryStage.setResizable(false);
root.setId("pane");
scene.getStylesheets().add("./application/application.css");
CheckBox check_1 = new CheckBox("Check two");
check_1.getStyleClass().add("check");
CheckBox check_2 = new CheckBox("Check one");
check_2.getStyleClass().add("check");
Text t= new Text("TEST TEST TEST TEST");
t.setId("label");
root.getChildren().addAll(check_1,check_2,t);
primaryStage.setTitle("Hello world");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
try
{
launch(args);
}
catch (Exception e)
{
System.out.println(e.toString());
}
}
}
Я думаю, вы имеете дело с ошибкой здесь. Как вы говорите, ваш код работает с отзывчивыми проблемами.
Я провел несколько тестов с помощью Scene Builder 2.0:
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<children>
<Text fill="WHITE" layoutX="119.0" layoutY="192.0" stroke="#989898" strokeType="OUTSIDE" text="TEST TEST TEST TEST">
<font>
<Font name="Arial Bold" size="36.0" />
</font>
<effect>
<DropShadow color="#00000072" offsetY="1.0" />
</effect>
</Text>
</children>
</Pane>
Это использует 100 МБ памяти, и я могу перемещать ползунок размера шрифта безупречно.
Однако, если я установил тип штриха в OUTSIDE
или INSIDE
, Scene Builder требует 125 МБ памяти, а ползунок размера шрифта становится безответственным (память перескакивает до 175 МБ, а процессор переходит на 100% от одного ядра).
Пожалуйста, рассмотрите вопрос об отправке отчета об ошибке.