2012-03-24 3 views
1

私は特定のjpgを自分の背景にするためにPainterを使用しようとしています。LWUIT Painter:イメージを背景にする方法は?

mapScreen = new Form("Map"); 
     try 
     { 
      Image image = Image.createImage("/res/try.jpg"); 
      map = new Map(image); 
      mapScreen.addComponent(map); 
     } catch (Exception e) 
     { 
      System.out.print("Error\n\n"+e.getMessage()); 
      mapScreen.addComponent(new Label(e.getMessage())); 
     } 

そして、マップクラスについて、

public Map(Image image) 
{ 
    this.mapImage = image; 
    painter = new Painter() 
    { 
     public void paint(Graphics g, Rectangle clippingRect) 
     { 
      g.clipRect(0, 0, getWidth(), getHeight()); 
      g.drawImage(mapImage, getX(), getY()); 
     } 
    }; 
} 
public void initComponent() 
{ 
     setX(0); 
     setY(0); 

     getSelectedStyle().setBgTransparency(0); 
     getSelectedStyle().setBgPainter(painter); 
     getUnselectedStyle().setBgTransparency(0); 
     getUnselectedStyle().setBgPainter(painter); 
} 

これに伴う問題は、画像がまったく表示されないと私はデバッグしようとすると、それも塗料を入力していないということです(グラフィックG、長方形clippingRect)... コード

try 
     { 
      Image image = Image.createImage("/res/try.jpg"); 
      map = new Map(image); 
      mapScreen.addComponent(map); 
     } 

は成功です。

誰でも私にそれを正しく行う方法を教えてもらえますか? また、誰かが画面のサイズよりも大きな画像でパンをする方法を知っているなら、それを手伝ってもらえますか?ありがとう。

答えて

1

setBgTransparencyを255に設定し、clipRectメソッドを呼び出さないでください。

かなり柔軟なComponent.java内のbgペインタコードを見ることができます。

関連する問題