2017-12-30 41 views
1

javafxラベルに問題があります。下のフォントコンストラクタでどんなフォントを入力しても、IntelliJプロジェクトをコンパイルして実行しても、表示されるフォントは変更されません。ここでフォント名が変更されないのはなぜですか? (Java FX)

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() { 


    } 


} 
+1

フォントが指定された名前でシステムに存在しない(または、JVMがフォントを読み込めるようにインストールされていない)可能性があります。 'Font.getFontNames()'を使って全ての利用可能なフォント名を一覧表示することができます。私のシステムでは、 'Gotham'はリストされていませんでした – MadProgrammer

答えて

0

私は自信を持って行mainLabel.setFont(new Font("Gotham",18));を変更すると確かに、少なくとも私の環境では、(BlueJのを)表示フォントを変更ないことを確認することができます。あなたは更新された.classファイルを使用しているので、コンパイルを確実にしていますか?

+1

私は今、新しいプロジェクトにすべてのコードを移動し、テストして、現在動作しています。プロジェクトの構造に何か問題があったに違いない。確認していただきありがとうございます:D(私のコードは私が初心者として問題だったと思って2時間過ごした) –

+0

奇数!何が間違っているのか見ても同じエラーが出て、フォントは変わらないでしょう。私はIntelliJを再起動し、魔法のように動作し始めました。奇妙な一人! –

0

これまでフォントに似た問題がありました。私のフォントはシステムにインストールされていません。その後、私はもう1つのことをやらなければなりませんでした。アプリケーションキャッシュを更新するためにプロジェクトを再構築してください。これは私の問題を解決しました。あなたが実際にあなたが言う引数が不足している

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クラスを適切にインポートすることを忘れないでください。

+0

あなたは間違ったAPIを見ています。これはJavaFXの質問です。問題の 'Font'は' javafx.scene.text.Font'です。 JavaFXには 'Panel'クラスはありません。 –

+0

ああ、実際にはかなり恥ずかしいです... –

+0

チャップを心配しないで、私たちはすべてここで学んでいます –

関連する問題