JavaFX-无法使用ToggleButtons更改TextArea的样式

时间:2018-03-24 16:44:11

标签: java javafx

我正在尝试制作一个基本的文本编辑器,并添加一些标准选项,如粗体和斜体。

我在下面创建了“styleSetter”函数,但只有第一个调用(即第一个ToggleButton)执行它应该执行的操作。另一个不做任何事情,虽然他们似乎确实将textarea的style属性更改为给定的String。 我希望我已经解释得很好,我做错了什么?

public void styleSetter(ToggleButton tb, TextArea ta , String on, String off){
    if(tb.isSelected()) {
        ta.setStyle(on);
    } else {
        ta.setStyle(off);
    }
}
@FXML public void onBold(){
    model.styleSetter(bold, textArea, "-fx-font-weight: bold", "-fx-font-weight: normal");
}

@FXML public void onItalic(){
    model.styleSetter(italic, textArea, "-fx-font-style: italic", "-fx-font-style: normal");
}

@FXML public void onStrikeThrough(){
    model.styleSetter(strikeThrough, textArea, "-fx-strikethrough: true", "-fx-strikethrough: false");
}

@FXML public void onUnderline(){
    model.styleSetter(underline, textArea, "-fx-underline: true", "-fx-underline: false");
}

0 个答案:

没有答案