Java 如何将图像导入blackberry并设置onClick侦听器?
我对BlackBerry编程相当陌生,我想知道是否有人知道关于如何将图像加载到屏幕并设置onClick侦听器的教程或片段 编辑,走了这么远:Java 如何将图像导入blackberry并设置onClick侦听器?,java,blackberry,java-me,Java,Blackberry,Java Me,我对BlackBerry编程相当陌生,我想知道是否有人知道关于如何将图像加载到屏幕并设置onClick侦听器的教程或片段 编辑,走了这么远: ButtonField btf1 = new ButtonField("Fine!"); ButtonField btf2 = new ButtonField("Great!"); RichTextField rtf = new RichTextField("HELLO, HOW ARE YOU?"); Bitmap LOGO = Bitmap.getB
ButtonField btf1 = new ButtonField("Fine!");
ButtonField btf2 = new ButtonField("Great!");
RichTextField rtf = new RichTextField("HELLO, HOW ARE YOU?");
Bitmap LOGO = Bitmap.getBitmapResource("1.png");
BitmapField LogoBmpField = new BitmapField(LOGO);
HelloWorldScreen()
{
setTitle("My First App");
add(rtf);
add(btf1);
add(btf2);
add(LogoBmpField);
}
谢谢
编辑:顺便问一下,黑莓手机的界面应该如何制作?简单地说
ButtonField btf1 = new ButtonField("Fine!");
add(btf1);
还是有更直观的方式,比如android的XML
还有一件事,如何更改或设置某个对象的属性。假设我想更改按钮的标题-btf1(期望显示可用属性列表)不会给出任何信息。将图像放在res文件夹中,然后尝试此操作
Bitmap bmpLogo = Bitmap.getBitmapResource("yourImage.jpg");
BitmapField logo = new BitmapField(bmpLogo){
protected boolean trackwheelClick(int status, int time)
{
// Your onclick code here
return true;
}
};
add(logo);
1) 您需要使位图字段可聚焦
我刚试过这个:
BitmapField LogoBmpField = new BitmapField(LOGO, BitmapField.FOCUSABLE) {
protected boolean trackwheelClick(int status, int time) {
System.out.println(" -- You clicked me! ");
return true;
}
};
这似乎奏效了
2) 要更改按钮上的文本,请使用
谢谢不适用于位图字段,但适用于按钮字段。:)哦,看起来BitmapField不是trackwheelClick,有没有在屏幕上单击的方法?我不知道,不知道为什么这不起作用,BitmapField是字段的扩展,所以它应该使用trackwheelClick。聚焦风格很好!只发布相关部分来回答问题。代码看起来不是很清楚,也不是经过深思熟虑的。它也显示出对黑莓用户界面复杂性的理解很少,我会小心在生产程序中使用此代码。
btf1.setLabel("new button text");
public class MyScreen extends MainScreen {
public LanguageSelector() {
Bitmap logoBitmap = Bitmap.getBitmapResource("normalarabflag.png");
BitmapField LogoBmpField = new BitmapField(logoBitmap, BitmapField.FOCUSABLE | Field.FIELD_HCENTER) {
protected boolean navigationClick(int status, int time) {
System.out.println(" -- You clicked me! ");
UiApplication.getUiApplication().pushScreen(new SecoundScreen());
Dialog.alert("Load Complete");
return true;
}
};
LabelField labelfield = new LabelField("Arabic ",Field.FIELD_HCENTER|LabelField.FOCUSABLE);
VerticalFieldManager vrt=new VerticalFieldManager(USE_ALL_WIDTH) {
protected void sublayout(int maxWidth, int maxHeight) {
super.sublayout(Display.getWidth(),Display.getHeight());
setExtent(Display.getWidth(),Display.getHeight());
}
};
Font f=labelfield.getFont();
int hight1=f.getAdvance(labelfield.getText());
int k=labelfield.getPreferredHeight();
int number=hight1/Display.getWidth()+1;
int hight2=logoBitmap.getHeight();
int padding=(Display.getHeight()-((number*k)+hight2))/2;
if(padding>0) {
LogoBmpField.setPadding(padding,0,0,0);
}
vrt.add(LogoBmpField);
vrt.add(labelfield);
add(vrt);
}
}