0
我開發一個聊天,並決定堅持以下結構:JavaFX的8:內垂直框設置樣式不適用
所有的聊天消息由外垂直框和內部垂直框(chatBlock
)的。內部VBox包含帶標籤塊的窗格。一個窗格+標籤塊用於暱稱,另一個用於消息。
所以我想分別着色暱稱面板和消息面板。但setStyle()
只適用於內部VBox。這裏是我想要做的代碼:
public class ChatMessageBlock extends VBox {
private VBox chatBlock = new VBox();
private Pane nickNameBox = new Pane();
private Label nickname;
private Pane messageBox = new Pane();
private Label message;
public ChatMessageBlock(String nickname, String message) {
this.nickname = new Label(nickname);
this.message = new Label(message);
this.message.setWrapText(true);
initGUI();
}
private void initGUI() {
nickNameBox.setStyle("-fx-background-color: red"); //DOESN'T WORK
messageBox.setStyle("-fx-background-color: green"); //DOESN'T WORK
// chatBlock.setStyle("-fx-background-color: blue"); //WORK
nickNameBox.getChildren().add(nickname);
messageBox.getChildren().add(message);
chatBlock.getChildren().addAll(nickname, message);
this.getChildren().add(chatBlock);
}
}
如何在VBox面板內實現單獨塊的着色?
它不起作用或者我使用顏色名稱或顏色十六進制。 – Dragon
我編輯了我的答案。我希望它能起作用。 – Lyra