亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何單擊位于方法之外的其他類中的按鈕

如何單擊位于方法之外的其他類中的按鈕

白豬掌柜的 2023-01-05 17:22:44
我在觸發位于另一個類中的按鈕時遇到問題。我試過在參數中傳遞按鈕,但我得到空異常錯誤,我創建的 getter 也是如此。public class ButtonHolder{    @FXML    RadioButton radioButton;    public void radioButtonOnClick(){        //does something    }    public RadioButton getRadioButton(){        return this.radioButton;    }}public class Example{    public void fireButton(){        ButtonHolder buttonHolder = new ButtonHolder();        buttonHolder.getRadioButton.fire();    }}
查看完整描述

1 回答

?
子衿沉夜

TA貢獻1828條經驗 獲得超3個贊

問題

XML(我假設您有 XML 布局)未連接到您的代碼。

解決方案

就架構而言,更好的方法是將“業務”邏輯與 UI 邏輯分開。假設你在里面有一些代碼radioButtonOnClick

  • 將代碼移動到一個新類到它自己的 merhod

  • 將所述類添加為兩個類的依賴項;

  • 從你的兩個類運行新方法。

如果我需要使用按鈕怎么辦

您可以創建它:

//A button with an empty text caption.
Button button1 = new Button();

然后打電話fire ()

如果控件元素沒有fire方法怎么辦

RadioMenuItem這是with的例子EventHandler

MenuBar menuBar = new MenuBar();


Menu menu = new Menu("Menu 1");


RadioMenuItem choice1Item = new RadioMenuItem("Choice 1");

choice1Item.setOnAction(new EventHandler<ActionEvent>() {

    @Override public void handle(ActionEvent e) {

        System.out.println("radio toggled");

    }

});

RadioMenuItem choice2Item = new RadioMenuItem("Choice 2");

RadioMenuItem choice3Item = new RadioMenuItem("Choice 3");


ToggleGroup toggleGroup = new ToggleGroup();

toggleGroup.getToggles().add(choice1Item);

toggleGroup.getToggles().add(choice2Item);

toggleGroup.getToggles().add(choice3Item);


menu.getItems().add(choice1Item);

menu.getItems().add(choice2Item);

menu.getItems().add(choice3Item);


menuBar.getMenus().add(menu);


VBox vBox = new VBox(menuBar);


Scene scene = new Scene(vBox, 300, 275);

primaryStage.setScene(scene);

primaryStage.show();

如果我想使用來自 XML 的按鈕怎么辦


看看 FXML 教程: https ://riptutorial.com/javafx/example/5125/example-fxml


查看完整回答
反對 回復 2023-01-05
  • 1 回答
  • 0 關注
  • 162 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號