2016-08-24 1 views
0

テキストでJFrameをセットアップしようとしていますが、問題があります。私はJFrameを作成することはできますが、背景色やテキストを操作することはできません。JFrameの作成とテキストの追加に問題があります

import java.awt.Color; 

import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 

class FundManager { 

    JFrame window; 
    JPanel panel; 
    JLabel text; 

    public void createWindow() 
    { 

     //Create the window 
     window = new JFrame(); 
     window.setVisible(true); 
     window.setSize(960, 540); 
     window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     window.setLocationRelativeTo(null); 

     //Create the panel 
     panel = new JPanel(); 
     panel.setBackground(Color.RED); 

     //Create the label 
     text = new JLabel("test"); 

    } 

    public static void main(String args[]) { 

     FundManager.createWindow(); 

    } 

} 

createWindow()方法が実行されていないと私はエラーを取得する:

cannot make a static reference to to the non-static method.

しかし、私はそれがプログラム全体の休憩を静的作るとき。

答えて

2

ここで問題となるのは、createWindow()メソッドを呼び出す前にFundManagerのインスタンスが必要なことです。代わりに以下のコードを試してみてください。

new FundManager().createWindow(); 
2

まず、createWindow()は静的メソッドではないため、FundManager.createWindow()を呼び出すことはできません。 FundManagerのインスタンスが必要です。

また、パネルにもテキストフィールドも追加していません。あなたはそれらを宣言しています。

JFrame window; 
JPanel panel; 
JLabel text; 

public void createWindow() { 

    // Create the window 
    window = new JFrame(); 
    window.setVisible(true); 
    window.setSize(960, 540); 
    window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    window.setLocationRelativeTo(null); 

    // Create the panel 
    panel = new JPanel(); 
    panel.setPreferredSize(new Dimension(500, 500)); 
    panel.setBackground(Color.RED); 

    // Create the label 
    text = new JLabel("test"); 
    text.setPreferredSize(new Dimension(200, 30)); 
    text.setLocation(100, 100); 
    panel.add(text); 

    window.getContentPane().add(panel); 
    window.pack(); 

} 

とでこれを実行します:これは、フレーム内の要素を見つけることができる方法の簡単な例である

new FundManager().createWindow(); 
関連する問題