2012-01-19 2 views
1

Я использую LWUIT для создания приложения J2ME. Я использовал GridLayout, чтобы добавить элементы управления, но они не выровнены.Настройки пользовательского интерфейса в LWUIT?

Код:

flowLayout = new FlowLayout(); 
     roundsPage.setLayout(flowLayout); 


    try { 
     image = image.createImage("/11.png"); // All image 40 x 40 
     starImage = Image.createImage("/j1.png"); 
     smileImage = Image.createImage("/j2.png"); 
     imgClock = Image.createImage("/clock.jpg"); 
     imageTeam = Image.createImage("/name.png");   

    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    }   

    dateLabel=new Label("14-02-2012, Round1   "); 
    dateLabel.getStyle().setBgColor(0x8b8989); 
    dateLabel.getStyle().setFgColor(0xffffff); 
    roundsPage.addComponent(dateLabel); 

    //int screenWidth = Display.getInstance().getDisplayWidth(); 

    Container tabContainer1 = new Container(new BoxLayout(BoxLayout.Y_AXIS)); 
     tabContainer1.addComponent(new Button("Click")); 
     tabContainer1.addComponent(new Button("Click")); 
     tabContainer1.addComponent(new Button("Click")); 
     tabContainer1.addComponent(new Button("Click"));   


    Container tabContainer2 = new Container(new BoxLayout(BoxLayout.X_AXIS)); 
     team1=new Label(starImage); 
     team1.setText("Villarreal"); 
     team1.setTextPosition(Component.BOTTOM); 
     //team1.setWidth(10); 
     //team1.getStyle().setFont(Font.createSystemFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN ,Font.SIZE_SMALL)); 
     tabContainer2.addComponent(team1); 
     tabContainer2.setWidth(100); 

     clockLabel=new Label(imgClock); 
     clockLabel.setText("18:00"); 
     clockLabel.setTextPosition(Component.RIGHT);    
     tabContainer2.addComponent(clockLabel); 

     teamLabel=new Label(imageTeam); 
     teamLabel.setText("El Madrigal"); 
     teamLabel.setTextPosition(Component.RIGHT); 
     tabContainer2.addComponent(teamLabel); 

     team2=new Label(smileImage); 
     team2.setText("Betis"); 
     team2.setTextPosition(Component.BOTTOM); 
     team2.setFocusable(true); 
     tabContainer2.addComponent(team2); 

    Container tabContainer3 = new Container(new BoxLayout(BoxLayout.Y_AXIS));   
     tabContainer3.addComponent(new Button("Click")); 
     tabContainer3.addComponent(new Button("Click")); 
     tabContainer3.addComponent(new Button("Click")); 
     tabContainer3.addComponent(new Button("Click"));   

    TabbedPane tabbbed = new TabbedPane(); 
    tabbbed.addTab(null, image, tabContainer1); 
    tabbbed.addTab(null, image, tabContainer2); 
    tabbbed.addTab(null, image, tabContainer3); 
    roundsPage.addComponent(tabbbed); 

Спасибо заранее.

ответ

0

Не используйте вот так "14-02-2012, Round1 ". Получите ширину экрана и установите предпочтительныйW на dateLabel. Для получения ширины экрана используйте это,

int width = Display.getInstance().getDisplayWidth();.

Также не используйте TabbedPane. Используйте Tabs. Добавьте кнопку в addTab и установите ширину кнопки. Поскольку каждая вкладка имеет ту же ширину и высоту, когда вы используете TabbedPane. Это проблема.

+2

Любая причина для голосования? : -/ – bharath

+0

Я не подал голос? Как применить ширину к метке и изображениям. Я использовал int width = Display.getInstance(). GetDisplayWidth(); dateLabel.setWidth (ширина); – selladurai

+0

Используйте setPreferredW (...) для 'Label'. Установите изображение в 'Button' и установите предпочтительныйW по своему усмотрению. – bharath