2012-04-01 5 views
1

Ich habe ein Bild-Label erstellt wie folgt.LWUIT Painter: Wie zeichnet man eine Linie auf einem Image Label?

Painter painter = new Painter() 
     { 

      public void paint(Graphics g, Rectangle rctngl) 
      { 
       g.setColor(0x000000); 
       g.drawLine(0, 0, 100, 100); 
      } 
     }; 
     mapScreen = new Form("Map"); 
     try 
     { 
      Image image = Image.createImage("/res/Sample.jpg"); 
      Label labelImage = new Label(image); 
      labelImage.setScrollVisible(true); 
      labelImage.setFocus(true); 
      labelImage.getStyle().setBgPainter(painter); 
      mapScreen.addComponent(labelImage); 

Ich möchte einige Zeilen oben drauf zeichnen. Ich habe versucht, einen Maler wie den obigen Code zu verwenden, aber ich konnte es nicht erfolgreich machen. Wie gehe ich falsch vor und wie kann ich es beheben?

EDIT:

Die Zeichnung der Linien ist erfolgreich, aber das Problem ist, dass die Linien hinter dem labelImage gezogen werden. Wie kann ich es so machen, dass die Linien in Front gezogen werden?

Antwort

2

Sie müssen den Maler auf nicht ausgewählten und ausgewählten Stil anwenden, da Sie den Etikettenfokus geben. Sie zeichnen auch eine diagonale Linie, keine gerade Linie.

+0

Ich habe versucht, den nicht ausgewählten und ausgewählten Stil zu verwenden, aber ich bin immer noch nicht in der Lage, die Linie zu zeichnen. – arthurbc

+0

Ich habe das Problem gefunden. Die Linie wurde auf der Rückseite von labelImage gezeichnet. Wie kann ich die Zeile von labelImage zeichnen? – arthurbc

+0

Ein Maler zieht per Definition immer die Komponente zurück. Sie können die Komponente ableiten und paint() überschreiben, um darüber zu zeichnen. –

1

Was ist mit Ableiten der Label Klasse und Implementierung der Methode! Dort können Sie das Graphics Objekt 'g' zu draw das line und das image verwenden.

+0

Ich denke, das wird funktionieren, aber ich bin mir nicht sicher, wie man die Label-Klasse ableiten und wie man das Objekt 'g' verwendet. Ich habe versucht, benutzerdefinierte Label erstellen, aber ich bin nicht in der Lage, es funktioniert, es malt nur das Bild, aber nicht die Zeilen. – arthurbc

Verwandte Themen