У меня проблема с Scene Builder. Я хочу добавить ContextMenu на кнопку. Когда я перетаскиваю ContextMenu на кнопку, он работает нормально (он отображается на вкладке Иерархия). Но когда я щелкаю по предопределенному MenuItem (под ContextMenu) на вкладке Hierarchy, Scene Builder зависает, и мне приходится его выключать.
Может кто-нибудь помочь мне с этим? Я знаю, что могу создать ContextMenu в Java коде, но я хотел сделать это в Scene Builder (я хочу, чтобы ContextMenu всплывал, когда вы наводите курсор на кнопку, поэтому мне также как-то нужно отредактировать ее триггер - мог кто-нибудь, пожалуйста, скажите мне, как это сделать?).
есть крэ sh
Я использую Java 13 и Scene Builder 11. Как вы видно, программа не отвечает.
Я ценю любую помощь. Спасибо.
РЕДАКТИРОВАТЬ: Это то, что я получил от EventViewer. Я также посмотрел в Scene Builder и в соответствии с «About JavaFX Scene Builder» должен быть файл журнала с именем scenebuilder-11.0.0.log (C: \ Users \ ZD \ AppData \ Local \ Temp \ scenebuilder-11.0.0.log). Но нет лог-файла (даже поиск в проводнике ничего не нашел).
Источник
Двоичный файл платформы OpenJDK
Сводка
Программа перестала отвечать и была остановлена.
Описание
Проблема вызвала то, что эта программа перестала работать с Windows. Путь к ошибочному приложению: C: \ Program Files \ SceneBuilder \ SceneBuilder.exe
Подпись проблемы
Имя события проблемы: AppHangB1
Имя приложения: SceneBuilder.exe
Версия приложения: 11.0.1.0
Метка времени приложения: 5bf25cd1
Подпись сбоя процесса: c858
Тип сбоя процесса: 134217728
Версия операционной системы: 10.0.18362.2.0.0.256.121
Другая сигнатура сбоя процесса 1 : c858a8fd12ba3c4e845361b2e92ff131
Другая сигнатура сбоя процесса 2 : 9431
другая сигнатура сбоя процесса 3 : 9431e8f7e11013654814c09debfafb79
еще одна сигнатура сбоя процесса 4 : c858
Другая сигнатура сбоя процесса 5 : c858a8fd12ba3c4e845361b2e92ff131
A другая сигнатура сбоя процесса 6 : 9431
Другая сигнатура сбоя процесса 7 : 9431e8f7e11013654814c09debfafb79
Больше информации об этой проблеме
Набор ID: 772d0501a48434cd5a8430efceaeecf6 (1910705948434820342)
Это Sample.f xml:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.canvas.Canvas?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ChoiceBox?>
<?import javafx.scene.control.ScrollPane?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.FlowPane?>
<?import javafx.scene.layout.StackPane?>
<?import javafx.scene.paint.LinearGradient?>
<?import javafx.scene.paint.Stop?>
<?import javafx.scene.text.Font?>
<StackPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="611.0" prefWidth="990.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.Controller">
<children>
<AnchorPane id="k" fx:id="mainPanel" prefHeight="602.0" prefWidth="893.0" styleClass="root" stylesheets="@application.css">
<children>
<Button fx:id="button" layoutX="14.0" layoutY="14.0" mnemonicParsing="false" onAction="#handleButton" prefHeight="407.0" prefWidth="403.0" styleClass="MyButton" stylesheets="@application.css" text="Button" AnchorPane.bottomAnchor="190.0" AnchorPane.leftAnchor="14.0" AnchorPane.rightAnchor="573.0" AnchorPane.topAnchor="14.0">
<font>
<Font name="System Bold" size="83.0" />
</font>
<textFill>
<LinearGradient endX="0.5095238095238095" endY="0.8428571428571429" startX="0.5285714285714286" startY="0.26666666666666666">
<stops>
<Stop color="BLACK" />
<Stop color="#97b83e" offset="0.27147766323024053" />
<Stop color="#97b83e" offset="0.5154639175257733" />
<Stop color="WHITE" offset="1.0" />
</stops>
</LinearGradient>
</textFill>
</Button>
<ChoiceBox fx:id="choiceBox" accessibleText="lůůůůůůůůůů" layoutX="428.0" layoutY="14.0" prefHeight="25.0" prefWidth="329.0" />
<ScrollPane layoutX="428.0" layoutY="49.0" prefHeight="555.0" prefWidth="552.0">
<content>
<FlowPane prefHeight="704.0" prefWidth="727.0">
<children>
<Canvas fx:id="canvas" height="705.0" onDragOver="#mouseDrag" onMouseClicked="#canvasClicked" onMouseDragged="#mouseDrag" width="727.0" />
</children>
</FlowPane>
</content>
</ScrollPane>
</children>
</AnchorPane>
<AnchorPane fx:id="blackPanel" prefHeight="200.0" prefWidth="200.0" styleClass="blackPanel" stylesheets="@application.css">
<children>
<Button fx:id="backBtn" layoutX="356.0" layoutY="208.0" mnemonicParsing="false" onMouseClicked="#backBtnClick" prefHeight="195.0" prefWidth="278.0" styleClass="MyButton" text="Go back">
<font>
<Font name="System Bold" size="48.0" />
</font>
<textFill>
<LinearGradient endX="1.0" endY="1.0">
<stops>
<Stop color="#1be3a9" />
<Stop color="#083797" offset="1.0" />
</stops>
</LinearGradient>
</textFill>
</Button>
</children>
</AnchorPane>
</children>
</StackPane>
А это Контроллер. java:
public class Controller {
private GraphicsContext gc;
private TranslateTransition tt;
@FXML private Button button;
@FXML private Button backBtn;
@FXML private ChoiceBox<String> choiceBox;
@FXML private Canvas canvas;
@FXML private AnchorPane mainPanel;
@FXML private AnchorPane blackPanel;
@FXML private ContextMenu popup;
public void initialize() {
choiceBox.setItems(FXCollections.observableArrayList("Výběr1", "Výběr2", "Výběr3", "Výběr4", "Výběr5"));
gc = canvas.getGraphicsContext2D();
double x = backBtn.getTranslateX();
double y = backBtn.getTranslateY();
tt = new TranslateTransition(Duration.seconds(5), backBtn);
tt.setToY(-200);
tt.setToX(-100);
tt.play();
tt.setOnFinished((ae) -> {
backBtn.setTranslateX(x);
backBtn.setTranslateY(y);
});
}
@FXML
private void handleButton() {
mainPanel.setVisible(false);
blackPanel.setVisible(true);
}
@FXML
private void backBtnClick() {
tt.stop();
mainPanel.setVisible(true);
blackPanel.setVisible(false);
}
@FXML
private void canvasClicked(MouseEvent me) {
gc.fillOval(me.getX() - 15, me.getY() -15, 30, 30);
}
@FXML
private void mouseDrag(MouseEvent mde) {
gc.fillOval(mde.getX() - 15, mde.getY() - 15, 30, 30);
}
}