我遇到了javafx标签的问题。无论我在下面的字体构造函数中键入什么字体,编译并运行IntelliJ项目,它都不会更改显示的字体。
mainLabel.setFont(new Font("Gotham",18));
到目前为止,这是我的JavaFx程序:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.FlowPane;
import javafx.stage.Stage;
import javafx.scene.text.Font;
public class JavaFXMainWindow extends Application {
public static void main(String args[]) {
launch(args);
}
public void init() {
}
//Program starts here
public void start(Stage mainStage) {
//Setting the stage
mainStage.setTitle("Ping Tool");
mainStage.setResizable(false);
mainStage.setFullScreen(false);
//Creating the root node for all other nodes
FlowPane rootNode = new FlowPane();
//Setting the main scene, adding the root node to it and passing dimensions
Scene mainScene = new Scene(rootNode, 1000, 800);
//placing the scene on the stage
mainStage.setScene(mainScene);
//Setting a label ( no matter what argument I pass to the font it still
//shows the same font. The size argument works fine though)
Label mainLabel = new Label("Please enter IP addresses below:");
mainLabel.setFont(new Font("Gotham",18));
//Adding the node to the tree
rootNode.getChildren().addAll(mainLabel);
//making the Stage visible
mainStage.show();
}
public void stop() {
}
}
答案 0 :(得分:0)
我可以自信地确认更改行mainLabel.setFont(new Font("Gotham",18));
确实会改变显示的字体,至少在我的环境(BlueJ)中是这样。您是否确保编译以便使用更新的.class文件?
答案 1 :(得分:0)
过去我遇到类似的字体问题。我的字体未安装在系统上。在此之后,我不得不再做一件事:再次构建项目以刷新应用程序缓存。这解决了我的问题。
答案 2 :(得分:0)
你实际上错过了一个你说...的论据。
mainLabel.setFont(new Font("Gotham",18));
我相信它应该是这样的,
Panel panel = new Panel();
Graphics g = panel.getGraphics();
Font myFont = new Font("Calibri", Font.PLAIN, 24);
g.setFont(myFont);
注意Font.PLAIN,Font.BOLD应该可以做到这一点,但也可以为整个面板更改它!
不要忘记适当地导入Graphics类。