2017-07-31 4 views
1

ゲーム用の略奪記録を作成しています。起動時にメインメニューのタイトルを描画しようとしても何も起こりません。JLabelが適切に描画されない

public Mainmenu(){ 

    initComponents(); 

    drawmenu(); 
} 
private void drawmenu(){ 

    Graphics g = jLabel1.getGraphics(); 

    g.setFont(g.getFont().deriveFont(30f)); 

    g.drawString("Loot Logger v.1.0", 215, 80); 
} 

しかし、私はこのようにそれを呼び出したとき、それは動作します:私はJButtonのとまったく同じコードを呼び出すとき、それは

コード正しく動作

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {           

    Graphics g = jLabel1.getGraphics(); 
    g.setFont(g.getFont().deriveFont(30f)); 
    g.drawString("Loot Logger v.1.0", 215, 80); 

}   

答えて

1
Graphics g = jLabel1.getGraphics(); 
g.setFont(g.getFont().deriveFont(30f)); 
g.drawString("Loot Logger v.1.0", 215, 80); 

しないでくださいgetGraphics(...)を使用してラベル(またはSwingコンポーネント)をペイントします。

あなたがする必要があるのは、フレームにラベルを追加し、ラベルのテキストを変更です:

jLabel1.setFont(...); 
jLabel1.setText(...); 

はあなたを得るために、より多くの情報や作業例についてHow to Use Labels上のSwingのチュートリアルからセクションを読みます開始しました。

関連する問題