English 中文(简体)
电话:ScreenVerticalManager
原标题:PhoneScreenVerticalManager weirdness on incoming call

Im making an app which has a listener on incoming calls and then adds fields til the phonescreen.. However i cannot seem to really control the width of either labelfields or the PhoneScreenVerticalManager i use. If i try to set a border or background on the PhoneScreenVerticalManager nothing happens at all. It also seems like USE_ALL_WIDTH in the labelfield constructor doesn t change anything. And getting the labelfields to left align i also couldn t get to work (tried DrawStyle.Left in the labelfield constructor).

我的守则是:

public Incoming(int callId) {     
     this.callId = callId;
     PhoneCall call = Phone.getCall(callId);  
  String number = call.getPhoneNumber();
  Vector contact = ContactUtil.getContactByPhone(number); 
        screenModel = new ScreenModel(callId);
        phoneScreenPortrait = screenModel.getPhoneScreen(PhoneScreen.PORTRAIT, PhoneScreen.INCOMING);
        final XYRect rect = screenModel.getDimensions(PhoneScreen.PORTRAIT, PhoneScreen.INCOMING);
 PhoneScreenVerticalManager manager = new PhoneScreenVerticalManager()
         {

          public void paint(Graphics g) {
                 g.setColor(Color.BLACK);
                 g.setBackgroundColor(Color.WHITE);
                 g.clear();
                 super.paint(g);
             }

          protected void sublayout(int width, int height)
             {
                 super.sublayout(rect.width, height);
                 super.setExtent(rect.width, height);
             }

         };        

         manager.setBackground(BackgroundFactory.createSolidBackground(Color.RED));
         manager.setBorder(BorderFactory.createSimpleBorder(new XYEdges(BORDER_PADDING, BORDER_PADDING, BORDER_PADDING, BORDER_PADDING), Border.STYLE_SOLID));

         String s = res.getString(FOUND_IN_CONTACTS);
         LabelField header = new LabelField(s, LabelField.USE_ALL_WIDTH)
         {
          protected void layout(int width, int height)
             {
                 super.layout(rect.width, height);
                 setExtent(rect.width, height);
             }

          public void paint(Graphics g) {
                 g.setColor(Color.BLACK);
                 g.setBackgroundColor(Color.WHITE);
                 g.clear();
                 super.paint(g);
             }
         };
         header.setBackground(BackgroundFactory.createSolidBackground(Color.WHITE));
         manager.add(header);
         LabelField label = new LabelField(contact.firstElement().toString(), LabelField.USE_ALL_WIDTH)
         {
          protected void layout(int width, int height)
             {
                 super.layout(rect.width, height);
                 setExtent(rect.width, height);
             }

          public void paint(Graphics g) {
                 g.setColor(Color.BLACK);
                 g.setBackgroundColor(Color.WHITE);
                 g.clear();
                 super.paint(g);
             }

         };
         label.setBackground(BackgroundFactory.createSolidBackground(Color.WHITE));
         manager.add(label);
         phoneScreenPortrait.add(manager);
        screenModel.sendAllDataToScreen();
}

任何想法都会受到高度赞赏!

增 编

问题回答

虽然电话屏幕管理员来自外地管理人员,但它并不支持所有外地管理人员的财产。

因此,解决办法是建立正常的外地管理人员,然后在电话屏幕管理人员中增加这些管理人员。





相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签