J2ME中关于Lwuit的标签的综合使用

[color=green]J2ME中关于Lwuit的标签的综合使用[/color]

[color=violet]由于我使用的主题对中文支持不好,希望大家下载或编辑一些好的主题。[/color]



package com.mopietek;

import java.io.IOException;

import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

import com.sun.lwuit.Button;
import com.sun.lwuit.ButtonGroup;
import com.sun.lwuit.CheckBox;
import com.sun.lwuit.ComboBox;
import com.sun.lwuit.Command;
import com.sun.lwuit.Component;
import com.sun.lwuit.Container;
import com.sun.lwuit.Display;
import com.sun.lwuit.Form;
import com.sun.lwuit.Graphics;
import com.sun.lwuit.Image;
import com.sun.lwuit.Label;
import com.sun.lwuit.List;
import com.sun.lwuit.Painter;
import com.sun.lwuit.RadioButton;
import com.sun.lwuit.TabbedPane;
import com.sun.lwuit.TextArea;
import com.sun.lwuit.TextField;
import com.sun.lwuit.animations.CommonTransitions;
import com.sun.lwuit.animations.Transition;
import com.sun.lwuit.animations.Transition3D;
import com.sun.lwuit.events.ActionEvent;
import com.sun.lwuit.events.ActionListener;
import com.sun.lwuit.geom.Dimension;
import com.sun.lwuit.geom.Rectangle;
import com.sun.lwuit.layouts.BorderLayout;
import com.sun.lwuit.layouts.BoxLayout;
import com.sun.lwuit.layouts.GridLayout;
import com.sun.lwuit.plaf.Style;
import com.sun.lwuit.plaf.UIManager;
import com.sun.lwuit.table.Table;
import com.sun.lwuit.util.Resources;

public class ComponentMIDlet extends MIDlet implements ActionListener{

public Form mainForm;
public List mexampleList;
public Command mBackCommand;


protected void startApp() throws MIDletStateChangeException {

if(mainForm == null){
Display.init(this);
try {
Resources res = Resources.open("/javaTheme.res");
UIManager.getInstance().setThemeProps(res.getTheme("javaTheme"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


Form f = new Form("测试组件");
mainForm = f;
f.setLayout(new BorderLayout());
List exampleList = new List();
mexampleList = exampleList;
exampleList.addItem("Labels");
exampleList.addItem("Buttons");
exampleList.addItem("More Buttons");
exampleList.addItem("List and ComboBox");
exampleList.addItem("Text");
exampleList.addItem("Layouts");
exampleList.addItem("Events");
exampleList.addItem("Style");
exampleList.addItem("TabbedPane");
exampleList.addItem("Painter");
exampleList.addItem("Exit");
exampleList.addActionListener(this);

f.addComponent(BorderLayout.CENTER,exampleList);

mBackCommand = new Command("返回");

}

mainForm.show();
}

protected void destroyApp(boolean unconditional)
throws MIDletStateChangeException {
// TODO Auto-generated method stub

}

protected void pauseApp() {
// TODO Auto-generated method stub

}



public void actionPerformed(ActionEvent ae) {

if(ae.getSource() == mexampleList){
//选中的List列表
String selection = (String)mexampleList.getSelectedItem();
if(selection.equals("Labels")){
showLabels();
}
else if(selection.equals("Buttons")){
showButtons();
}
else if(selection.equals("More Buttons")){
showMoreButtons();
}
else if(selection.equals("List and ComboBox")){
showListAndComboBox();
}
else if(selection.equals("Text")){
showText();
}
else if(selection.equals("Layouts")){
showLayouts();
}
else if(selection.equals("Events")){
showEvents();
}
else if(selection.equals("Style")){
showStyle();
}
else if(selection.equals("TabbedPane")){
showTabbedPane();
}
else if(selection.equals("Painter")){
showPainter();
}
else if(selection.equals("Exit")){
try {
destroyApp(true);
} catch (MIDletStateChangeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
notifyDestroyed();
}

}

if(ae.getCommand() == mBackCommand){
mainForm.show();
}

}

public void showLabels(){

Form f = new Form("测试Label");
f.setLayout(new BoxLayout(BoxLayout.Y_AXIS));
Label label1 = new Label("label1");
Image image = null;
try {
image = Image.createImage("/baldy.png");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Label label2 = new Label(image);
Label label3 = new Label(image);
label3.setText("label3");
label3.setTextPosition(Component.BOTTOM);

f.addComponent(label1);
f.addComponent(label2);
f.addComponent(label3);
f.addCommand(mBackCommand);
f.setCommandListener(this);
f.show();
}

public void showButtons(){

Form f = new Form("测试Button");

try {
Button button1 = new Button("ClickMe");
button1.setTextPosition(Component.BOTTOM);
Image image = Image.createImage("/baldy.png");
Button button2 = new Button(image);
Button button3 = new Button("Pic",image);
button3.setTextPosition(Component.BOTTOM);
f.addComponent(button1);
f.addComponent(button2);
f.addComponent(button3);

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

f.addCommand(mBackCommand);
f.setCommandListener(this);
f.show();
}

public void showMoreButtons(){

Form f = new Form("MoreButtons");

ButtonGroup buttonGroup = new ButtonGroup();

RadioButton rb1 = new RadioButton("Mike");
RadioButton rb2 = new RadioButton("Coffer");
RadioButton rb3 = new RadioButton("Tea");
rb1.addActionListener(this);
rb2.addActionListener(this);
rb3.addActionListener(this);

buttonGroup.add(rb1);
buttonGroup.add(rb2);
buttonGroup.add(rb3);

f.addComponent(rb1);
f.addComponent(rb2);
f.addComponent(rb3);


CheckBox checkBox1 = new CheckBox("checkBox1");
CheckBox checkBox2 = new CheckBox("checkBox2");
CheckBox checkBox3 = new CheckBox("checkBox3");
CheckBox checkBox4 = new CheckBox("checkBox4");
CheckBox checkBox5 = new CheckBox("checkBox5");
CheckBox checkBox6 = new CheckBox("checkBox6");

f.addComponent(checkBox1);
f.addComponent(checkBox2);
f.addComponent(checkBox3);
f.addComponent(checkBox4);
f.addComponent(checkBox5);
f.addComponent(checkBox6);

f.addCommand(mBackCommand);
f.setCommandListener(this);
f.show();


}

public void showListAndComboBox(){

Form f = new Form("List and ComboBox");

List list = new List();
list.addItem("red");
list.addItem("green");
list.addItem("yellow");
list.addItem("blue");
list.addItem("white");

ComboBox comboBox = new ComboBox(list.getModel());
f.addComponent(list);
f.addComponent(comboBox);

f.addCommand(mBackCommand);
f.setCommandListener(this);
f.show();


}

public void showText(){



Form f = new Form("测试 Text组件");
TextField textField = new TextField("this is write content in textField");

TextArea textArea = new TextArea("this is write content in TextArea!",5,20);
textArea.setMaxSize(512);

f.addComponent(textField);
f.addComponent(textArea);

f.addCommand(mBackCommand);
f.setCommandListener(this);
f.show();


}

public void showLayouts(){

Form f = new Form("Text Layouts");
f.setLayout(new BorderLayout());


try{
Image image = Image.createImage("/baldy.png");

Label label = new Label(image);
label.setAlignment(Component.CENTER);
label.setText("Label in Layouts");
label.setTextPosition(Component.BOTTOM);

// Container buttonContainer = new Container(new BoxLayout(BoxLayout.X_AXIS));
Container buttonContainer = new Container();
GridLayout exampleLayout = new GridLayout(3,2);
buttonContainer.setLayout(exampleLayout);
buttonContainer.addComponent(new Button("Add"));
buttonContainer.addComponent(new Button("Remove"));
buttonContainer.addComponent(new Button("Edit"));
buttonContainer.addComponent(new Button("Send"));
buttonContainer.addComponent(new Button("Receive"));
buttonContainer.addComponent(new Button("Exit"));

f.addComponent(BorderLayout.NORTH,label);
f.addComponent(BorderLayout.CENTER,buttonContainer);

f.addCommand(mBackCommand);
f.setCommandListener(this);
f.show();



}catch(IOException e){
e.printStackTrace();
}

}

public void showEvents(){

Form f = new Form("Test Events");
f.setLayout(new BorderLayout());

final Button button = new Button("Click Me");
button.addActionListener(new ActionListener(){
int i = 0;
public void actionPerformed(ActionEvent av) {
i++;
button.setText("NO."+i+"Clicked");
}

});

f.addComponent(BorderLayout.NORTH,button);
f.addCommand(mBackCommand);
f.setCommandListener(this);
f.show();

}

public void showStyle(){

Form f = new Form("Style");
f.setLayout(new BoxLayout(BoxLayout.Y_AXIS));

Label label1 = new Label("No using Style");
//设置标签为透明色
Label label2 = new Label("Transparent");
label2.getStyle().setBgTransparency(0);
//改变标签背景色
Label label3 = new Label("Change the BackGroud Color and Font Color");
Style style = label3.getStyle();
style.setBgColor(0xaa00ff);
//字体颜色为白色
style.setFgColor(0xffffff);
//设置margin的大小
Label label4 = new Label("Margin around is 10px");
label4.getStyle().setMargin(10,10,10, 10);
//设置padding的大小
Label label5 = new Label("Padding around is 20px");
label5.getStyle().setPadding(20,20,20,20);

f.addComponent(label1);
f.addComponent(label2);
f.addComponent(label3);
f.addComponent(label4);
f.addComponent(label5);

f.addCommand(mBackCommand);
f.setCommandListener(this);
f.show();









}

public void showTabbedPane(){

Form f = new Form("TabbedPane");
f.setLayout(new BorderLayout());

TabbedPane tabbedPane = new TabbedPane(TabbedPane.TOP);
tabbedPane.addTab("tab1", new Label("this is label One"));
tabbedPane.addTab("Tab2", new Label("this is label Two"));
f.addComponent(BorderLayout.NORTH, tabbedPane);
f.addCommand(mBackCommand);
f.setCommandListener(this);
f.show();
}

public void showPainter(){

Form f = new Form("Painter");

try {
Label label = new Label("Baldy");

Image image = Image.createImage("/baldy.png");
Label pictureLabel = new Label(image);

Label bottomText = new Label(image);
bottomText.setText("Baldassare");
bottomText.setTextPosition(Component.BOTTOM);

f.addComponent(label);
f.addComponent(pictureLabel);
f.addComponent(bottomText);
} catch (IOException ioe) {
System.out.println(ioe);
}

final int bg = f.getStyle().getBgColor();
final int fg = f.getStyle().getFgColor();

f.getStyle().setBgPainter(new Painter() {
public void paint(Graphics g, Rectangle rect) {
int s = 12;

Dimension size = rect.getSize();
int rx = rect.getX();
int ry = rect.getY();
int rw = size.getWidth();
int rh = size.getHeight();

g.setColor(bg);
g.fillRect(rx, ry, rw, rh);
//画棱形
g.setColor(fg);
for (int y = 0; y < rh; y += 2 * s) {
for (int x = 0; x < rw; x += s) {
g.fillTriangle(rx + x, ry + y + s, rx + x + s / 2, ry + y, rx + x + s, ry + y + s);
g.fillTriangle(rx + x, ry + y + s, rx + x + s / 2, ry + y + 2 *s, rx + x + s, ry + y + s);
}
}
}
});

f.addCommand(mBackCommand);
f.setCommandListener(this);

//增加3D特效 //时间 //true为逆时针翻转(向右翻转) false为顺时针翻转(向左翻转)
Transition t = Transition3D.createCube(400, true);
if (t == null) //当t为null时,通过 CommonTransitions创建特效 //第一参数为type , 第二参数 为翻转, 第三参数时间
t = CommonTransitions.createSlide(CommonTransitions.SLIDE_VERTICAL, true, 700);
f.setTransitionInAnimator(t);

t = Transition3D.createCube(400, false);
if (t == null) // type是"SLIDE_VERTICAL"为上下切换,SLIDE_HORIZONTAL为左右切换
t = CommonTransitions.createSlide(CommonTransitions.SLIDE_HORIZONTAL, false, 700);
f.setTransitionOutAnimator(t);

f.show();
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值