2012-02-23 11 views
0

imはゲームサーバーをログインサーバーにしています。今はキャラクターサーバーで作業しています。jpanelの文字を描画する際にエラーが発生しました。

私の問題はクライアント上にあり、私はすべての値を受け取り、それらの値に基づいて文字を作成したいと思います。ここに私のjPanelコードです。ここで

public class createChar extends JPanel { 
    private final int ID; 
    private String user; 
    private int level; 
    private int exp; 
    private float r; 
    private float gr; 
    private float b; 

public createChar(String username,int ID,int level,int exp,float r,float g,float b){ 
    this.ID = ID; 
    this.user = username; 
    this.level = level; 
    this.exp = exp; 
    this.r =(int) r; 
    this.gr =(int) g; 
    this.b =(int) b; 
    setVisible(true); 
} 


@Override 
public void paintComponent(Graphics g){ 
    super.paintComponent(g); 
    Color clr = new Color(r,gr,b); 
    g.setColor(clr); 
    g.fillRect(50, 50, 100, 100); 
super.repaint(); 

} 

私はJPanelのを追加します。

      while((fChara = cin.readLine()) != null){ 
          System.out.println("[CHARAS]" + fChara); 
          if (fChara.contains("-")){ 

         Scanner cs = new Scanner(fChara); 
         cs.useDelimiter(":"); 

          String schar = cs.next(); 



         System.out.println("schar:" +schar); 

         // cs.delimiter(); 
        int id = cs.nextInt(); 
        String cname = cs.next(); 
         System.out.println("ID:" + id); 
        int level = cs.nextInt(); 
        int exp = cs.nextInt(); 
        int r = cs.nextInt(); 
        int g = cs.nextInt(); 
        int b = cs.nextInt(); 

        System.out.println(id +":" + cname+":" + level+":" + exp+":" + r+":" +g+":" +b); 
          createChar chara = new createChar(cname,id,level,exp,r,g,b); 
         jPanel1.add(chara); 

         } 

感謝を!

+0

すぐに役立つように、[SSCCE](http://sscce.org/)を投稿してください。また、一貫性のある論理形式のインデントコードブロックを使用して読みやすくしてください。コードの2番目のセクションは「ランダム」にインデントされているようです。 –

答えて

0

ご質問にご不明な点はありますか?推測:あなたのパネルは親コンテナに表示されません。コンポーネントを追加/削除した後、コンテナのvalidateメソッドを呼び出す必要があります。

関連する問題