第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Javafx拖放第一次不起作用

Javafx拖放第一次不起作用

慕婉清6462132 2023-06-21 16:05:59
我剛剛制作了一個(gè)簡(jiǎn)單的應(yīng)用程序,其中包括 FlowPane 和一些帶有按鈕的 VBox。Main類是這樣的。public class Main extends Application {    @Override    public void start(Stage stage) {        Gallery a = new Gallery();        a.setMaxWidth(200);        a.setPrefWidth(200);        Scene scene = new Scene(a);         stage.setTitle("Welcome to JavaFX!");         stage.setScene(scene);         stage.sizeToScene();         stage.show();     }    public static void main(String[] args) {        launch(args);    }}這個(gè) Gallery.class 是擴(kuò)展 FlowPane 的主要后臺(tái)類。public class Gallery extends FlowPane{    public Gallery() {        super();        PlotterPanel p1 = new PlotterPanel(this, "B1" );        getChildren().add(p1);        PlotterPanel p2 = new PlotterPanel(this, "B2");        getChildren().add(p2);        PlotterPanel p3 = new PlotterPanel(this, "B3" );        getChildren().add(p3);        PlotterPanel p4 = new PlotterPanel(this, "B4" );        getChildren().add(p4);        PlotterPanel p5 = new PlotterPanel(this, "B5" );        getChildren().add(p5);        PlotterPanel p6 = new PlotterPanel(this, "B6" );        getChildren().add(p6);    }}PlotterPanel是VBox,有Button并且可以在Gallery中拖放。public class PlotterPanel extends VBox{    private static final String TAB_DRAG_KEY = "titledpane";    private ObjectProperty<VBox> draggingTab;    private Gallery mgallery;    private PlotterPanel self;    public PlotterPanel(Gallery gallery, String name) {        super();        mgallery = gallery;        setPrefWidth(100);        setPrefHeight(100);        self = this;        Button btn = new Button(name);        btn.setEffect(new DropShadow());        getChildren().add(btn);        draggingTab = new SimpleObjectProperty<VBox>();問(wèn)題是,當(dāng)我在圖庫(kù)中拖動(dòng) PlotterPanel 時(shí),第一次無(wú)法拖動(dòng)它。我在第二次嘗試后工作了。當(dāng)我開始拖動(dòng)時(shí),它顯示拖動(dòng)框,但是當(dāng)我嘗試放在另一個(gè)節(jié)點(diǎn)上時(shí),鼠標(biāo)點(diǎn)顯示 x 符號(hào)。但是當(dāng)目標(biāo)已經(jīng)嘗試節(jié)點(diǎn)被拖動(dòng)時(shí),我可以放在該節(jié)點(diǎn)上。我怎樣才能使拖放在 JavaFX 中正常工作?
查看完整描述

1 回答

?
德瑪西亞99

TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊

問(wèn)題在于你接受阻力的條件:


            if (dragboard.hasString()

                    && TAB_DRAG_KEY.equals(dragboard.getString())

                    && draggingTab.get() != null) {

                event.acceptTransferModes(TransferMode.MOVE);

                event.consume();

            }

您正在檢查draggingTab目標(biāo),而不是源。如果目標(biāo)本身沒有被拖動(dòng),它的draggingTab屬性仍然為空。如果您已經(jīng)拖動(dòng)了目標(biāo),那么它不會(huì)為空并且它將接受拖動(dòng)。


你是說(shuō)做draggingTab靜態(tài)的嗎?


查看完整回答
反對(duì) 回復(fù) 2023-06-21
  • 1 回答
  • 0 關(guān)注
  • 149 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)