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?
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
Ich habe das Problem gefunden. Die Linie wurde auf der Rückseite von labelImage gezeichnet. Wie kann ich die Zeile von labelImage zeichnen? – arthurbc
Ein Maler zieht per Definition immer die Komponente zurück. Sie können die Komponente ableiten und paint() überschreiben, um darüber zu zeichnen. –