【问题标题】:javaFX 2- Listner inside ContorllerjavaFX 2-控制器内的监听器
【发布时间】:2013-04-18 14:51:23
【问题描述】:

想在控制器中使用拖放功能(见下文)。但由于 tableView.getParent() 为 NULL,我的列表器无法正常工作。你能在这里帮忙吗?我不想将代码移动到主类。

public class CenterController implements Initializable {
@FXML public TableView<Swap> tableView;
public void initialize(URL location, ResourceBundle resources) {
loadDragDrop(tableView.getParent());
}
 public void loadDragDrop(final Node n){
        n.setOnDragOver(new EventHandler<DragEvent>() {
            @Override
            public void handle(DragEvent event) {
                Dragboard db = event.getDragboard();
                if (db.hasFiles()) {
                    event.acceptTransferModes(TransferMode.COPY);
                } else {
                    event.consume();
                }
            }
        });
    n.setOnDragDropped(new EventHandler<DragEvent>() {
            @Override
            public void handle(DragEvent event) {
                Dragboard db = event.getDragboard();


                boolean success = false;
            event.setDropCompleted(success);
                event.consume();
            }
        });
    }

【问题讨论】:

    标签: controller javafx-2 listener


    【解决方案1】:

    简单的把没有初始化的代码放在一个runLater中:

    Platform.runLater(new Runnable() {
    
        @Override
        public void run() {
            // youre code goes here ;-)
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2015-11-01
      • 1970-01-01
      • 2020-10-13
      • 1970-01-01
      • 2018-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-13
      相关资源
      最近更新 更多