2016-12-09 6 views
0

私はGUIでカードゲームを作成しようとしています。プロセスでは私が持っている:他のクラスのGUIで描画する

public static void main(String[] args) { 

    JComponent component = new JComponent(){ 
     public void paintComponent(Graphics graph) { 
     draw(graph); 
     } 
    }; 

    JFrame frame = new JFrame(); 
    frame.add(component); 

} 

public static void draw(Graphics g) { 
    g.fillRect(0,50,100,150); 
} 

これは動作しますが、私は別のクラスのコンストラクタに(メインなし)同じことを置くしようとしたとき、私はメインで、そのクラスのインスタンスを初期化するとき、何もGUI上に示しません(JButtonsは機能します)。別のクラスからGUIを引き出す方法はありますか?

私はチェッカーボードのようなものを描画するフィールドクラスを作成しようとしています。また、矩形で、JButtonによってフィールド上で移動できるCardクラスもあります。

答えて

0

これは他のクラスに描画メソッドを持たせることで簡単に解決できます。あなたが言及したようにそれをカードと呼ぼう。

public class Card { 
    public void draw(Graphics g) { 
     // draw your card here 
    } 
} 

そして、あなたのメインの中に必要なものは、少なくとも1つのカードオブジェクトを作成し、単にメインドロー法でcard.draw(g);を呼び出すことです。私はあなたが複数のカードを使用することを前提としているので、ここでは配列を使ってアドバイスします。私はあなたがそのアイデアを得ることを望みます。

可能であれば、複数のJFramesを作成しないでください。

関連する問題