我正在尝试为我的 JavaFX 项目添加拖放功能。它有点工作,但不是真正在同一时间
VBox questions = new VBox();
questions.getChildren().add(createQustionType("long answer"));
questions.setStyle("-fx-border-color: blue;");
root.setCenter(questions);
questions.setOnDragOver(event ->
{
event.acceptTransferModes(TransferMode.MOVE);
});
questions.setOnDragDropped(event ->
{
event.setDropCompleted(true);
questions.getChildren().add(createQustionType("long answer"));
event.consume();
});
questions.setOnDragDone(event -> {});
VBox sidePanel = new VBox();
root.setLeft(sidePanel);
//other unnecessary code removed for question
String[] types = new String[]{"multiple choice", "long answer", "short answer"};
for (String type : types)
{
Button btn = new Button(type);
btn.setOnDragDetected(event ->
{
currBtn = (Button) event.getSource();
event.consume();
});
sidePanel.getChildren().add(btn);}
createQuestionType 方法返回一个 borderpane 并接受一个字符串参数
这是我到目前为止所拥有的,我不知道我哪里出错了,因为当我从我的桌面或文档等拖动文件时它似乎工作,我不希望它这样做。我想使用我添加到侧面板的按钮,因为这是它的目的。
另外,我一直在尝试在拖动时更改光标但也失败了。如果有人能告诉我我做错了什么,那就太好了。
宝慕林4294392
相关分类