Frage

Ich versuche das zu tun:

public class DialogMenuHawaii extends Dialog {

    Style s = UiFactory.getBaseStyle();
    s.setBgTransparency(0);
    s.setBgImage( <my image >);
    this.setUnselectedStyle(s);
}

Aber es funktioniert nicht.

War es hilfreich?

Lösung

Öffnen Sie Ihre Datei ".res" in Ressourceneditor und wählen Sie Ihr bevorzugtes Thema aus.

  1. Unter 'nicht ausgewählter' Registerkarte öffnen Sie die DialogContentPane Stil, wenn Sie keinen erstellen lassen, sehen Sie es am Ende dieser Antwort auf, wie es geht?
  2. Unter 'nicht ausgewählter' Registerkarte öffnen Sie die Dialogkörper Stil, wenn Sie keinen erstellen lassen, schauen Sie es am Ende dieser Antwort auf, wie es geht?0„Und stellen Sie auch sicher, dass der Hintergrundbildtyp ist KEINER

HINWEIS: Der obige Code reflektiert alle Dialoge in Ihrer Anwendung. Wenn Sie einen bestimmten Dialog mit Hintergrundbild wünschen, als neue Stile aus diesen Standardstilen abzuleiten, befolgen Sie die oben genannten Schritte, um es auf Ihr anzuwenden Dialogmenuhawaii oder eine Laufzeit Dialoge.

WIE MAN: Ich würde Ihnen empfehlen, die Blog -Beiträge des Shai durchzugehen LWUIT Resource Editor Tutorial Teil 1 bis Teil 10. Um den Ressouce -Editor besser zu verstehen, seine Funktionen und Fähigkeiten.

:

:

:

PS: Programmatisch-allgemein konnte ich es nicht verwenden Textbereich Dies ist der Fall für den Standarddialog. Wenn Sie die Dialogkörperkomponente durch ersetzen Etikett Wenn gut funktioniert, ist das Code -Beispiel unten angegeben. Ich habe mich nicht viel mit der Frage befasst, warum es so ist? Vielleicht mache es es in meiner Freizeit. Daher habe ich eine funktionierende alternative Lösung vorgeschlagen, die oben mit dem Ressourceneditor und unten mit dem Code geschrieben wird

class MyDialog extends Dialog {

    public void show() {
        Container octnPane = this.getDialogComponent();
        octnPane.getUnselectedStyle().setBgTransparency(0, false);

        Container ctnPane = (Container)((BorderLayout)octnPane.getLayout()).getCenter();
        ctnPane.getUnselectedStyle().setBackgroundType(Style.BACKGROUND_IMAGE_SCALED, false);
        ctnPane.getUnselectedStyle().setBgImage(myImage, false);

        Label t = new Label("Dialog");
        t.setUIID("DialogBody");
        t.getUnselectedStyle().setBgTransparency(0, false);
        ctnPane.addComponent(t);

        super.show();
    }
}

Andere Tipps

Zunächst schlage ich vor, Sie verwenden a Thema. Wir ändern ständig kleine Implementierungsdetails. Es gibt keinen Grund, ein Thema für so etwas nicht zu verwenden.

Wenn Sie an den Schmerzen und Leiden der manuellen Codierungslogik in Ihre Anwendung interessiert sind, können Sie verschiedene Methoden wie z. B. verwenden getDialogComponent() Um den Stil von ihnen zu bekommen und das zu manipulieren. Der Dialog ist ein komplexes Tier, weil es wirklich eine Form von den Kanten entfernt ist.

Dies ist für den Dialoghintergrund.

Dialog dialog = new Dialog();
dialog.getDialogStyle().setBgImage(Image.createImage("/image/image.png"));

Wenn Sie die Transparenz des Dialogs mit Bild festlegen möchten.

dialog.getStyle().setBgImage(Image.createImage("/image/image.png");
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top