0

私は、6 つのボタンを持つウェルカム フォームを持つ次のコードに取り組んでいます。

これらの各ボタンをクリックすると、新しいフォームが開きます。

   class MyAPP extends UiApplication {
    public static void main(String[] args) {
            UiApplication instance = new MyAPP();
            instance.enterEventDispatcher();
    }
    private ButtonField btntest,btntest1,btntest2,btntest3,btntest4,btntest5;
    public MyAPP() {

            MainScreen testScreen = new MainScreen();


            final LabelField field  = new LabelField("Company",LabelField.FIELD_HCENTER | LabelField.NON_FOCUSABLE)
    {
        protected void paint(Graphics g)
            {       
                     g.clear();
                    g.drawRect(0,0, 50, 50);
                    int oldColor = g.getColor();
                    g.setColor(Color.DODGERBLUE);
                    g.fillRect(0, 0, this.getPreferredWidth(), this.getPreferredHeight());
                    g.setColor(oldColor);
                    g.drawRect(100, 100, 50, 50);
                    super.paint(g);
             }
    };
    testScreen.setTitle(field);


    //Add status field to bottom of screen in blue color

    final LabelField field1  = new LabelField(" Copyright")
    {
        protected void paint(Graphics g)
            {       
                  //   g.clear();
                    g.drawRect(0,0, 50, 50);
                    int oldColor = g.getColor();
                    g.setColor(Color.DODGERBLUE);
                    g.fillRect(0, 0, this.getPreferredWidth(), this.getPreferredHeight());
                    g.setColor(oldColor);
                    g.drawRect(100, 100, 50, 50);
                    super.paint(g);
             }

    };
    //field1.setFontColor(Color.WHITE);

        btntest1 = new ButtonField("Customer",ButtonField.FIELD_HCENTER | ButtonField.CONSUME_CLICK);  
        btntest = new ButtonField("Bills  ",ButtonField.FIELD_HCENTER | ButtonField.CONSUME_CLICK);
        btntest2 = new ButtonField("Ledger ",ButtonField.FIELD_HCENTER | ButtonField.CONSUME_CLICK); 
        btntest3 = new ButtonField("Receipts",ButtonField.FIELD_HCENTER | ButtonField.CONSUME_CLICK);


         btntest1.setChangeListener(new FieldChangeListener()
      {
           public void fieldChanged(Field field,int context) 
           {
              pushScreen(new NextScreen2());
           }
      });




     btntest.setChangeListener(new FieldChangeListener()
      {
           public void fieldChanged(Field field,int context) 
           {
              pushScreen(new NextScreen1());
           }
      });


      btntest2.setChangeListener(new FieldChangeListener()
      {
           public void fieldChanged(Field field,int context) 
           {
              pushScreen(new NextScreen4());
           }

      });

また、フォームの中央に画像ビットマップを配置しようとしましたが、どこにも表示されません。

現在のコードでは、タイトルとステータスのフィールドを追加し、さらに追加しました

  1. ウェルカム キャプション付きの画面上部の画像。
  2. 中央に配置された 6 つのボタンがあります。

ボタンが中央にあり、色の実装が表示されないためのスペースが残っていないためですか?また、フォーム全体の背景として残る画像を追加することはできません。ガイドしてください。ありがとう

4

1 に答える 1

2

次のコードを試してください:

// initialize background
Bitmap bm = Bitmap.getBitmapResource("myImage");
Background bg = BackgroundFactory.createBitmapBackground(bm);

// getMainManager(), apply background
testScreen.getMainManager().setBackground(bg);
于 2012-05-12T17:36:07.940 に答える