0

ラベルフィールドにテーブルの列(全体の金額を示す)の値を表示したい。

ラベルの開発に使用したコードは次のとおりです

  Border myBorder = BorderFactory.createBitmapBorder( 
    new XYEdges(20, 16, 27, 23),
    Bitmap.getBitmapResource("border.png"));
    LabelField myField = new LabelField("Total Amount Owed: Rs ",LabelField.USE_ALL_WIDTH | LabelField.FIELD_HCENTER)
    {
      protected void paint(Graphics g) {
        g.setColor(Color.BLUE);
        super.paint(g);
    }
    };  

   myField.setBorder(myBorder);  
   add(myField); 

これは、テーブルから値を取得するために使用したい sql ステートメントです。

 Statement statementG56 = db.createStatement("SELECT owe FROM GTemp5");
                    statementG56.prepare();
                    statementG56.execute();

フェッチされた金額がラベルタイトルの横に立つように、その select ステートメントを labelfield に含める方法。

4

1 に答える 1

1

これが私が実装した方法です。それが将来の読者に役立つことを願っています。

                 try
                  {
                  //Open or create the database
                    Database db = DatabaseFactory.openOrCreate("database1.db"); 

                    Statement statementGF55 = db.createStatement("CREATE TABLE IF NOT EXISTS GTemp5(owe INTEGER)");
                    statementGF55.prepare();
                    statementGF55.execute();       
                    statementGF55.close();

                    Statement statementGF56 = db.createStatement("SELECT owe FROM GTemp5");
                    statementGF56.prepare();
                    statementGF56.execute();

                   Cursor c = statementGF56.getCursor();

                  while(c.next()) 
                  {

                                      System.out.println("Inside while for fetching total owed value"); 
                                        Row r;
                                        r = c.getRow();

                                         Border myBorder = BorderFactory.createBitmapBorder( 
                                         new XYEdges(20, 16, 27, 23),
                                         Bitmap.getBitmapResource("border.png"));
                                         String pp = "" + r.getObject(0);
                                        LabelField myField = new LabelField("Total Amount: Rs    " +pp,LabelField.USE_ALL_WIDTH | LabelField.FIELD_HCENTER)
                                            {
                                                  protected void paint(Graphics g)
                                                   {
                                                     g.setColor(Color.RED);
                                                      super.paint(g);
                                                    }
                                               };  

                                   myField.setBorder(myBorder);  
                                   vfm.add(myField); 

                                    }     

                      }
                      catch(Exception e) 
                      {         
                        System.out.println( e.getMessage() );
                        e.printStackTrace();     
                      } 
于 2012-05-18T06:47:39.987 に答える