如何在单屏幕上显示blackberry中的两个数据
嗨,朋友,我如何在一个屏幕上显示黑莓手机中的两个数据。 例如: 公共LabelField lbSr、lbDate、lbAllo、lbMob、lbDetail、lbRemark、lbSlaDate、lbEmail、lbStatus、lbspace; 公共LabelField lb1Sr、lb1Date、lb1Allo、lb1Mob、lb1Detail、lb1Remark、lb1SlaDate、LB1Mail、lb1Status; 公开证明的水平油田经理jhfm1、jhfm2、jhfm3、jhfm4、jhfm5、jhfm6、jhfm7、jhfm8、jhfm9; VerticalFieldManager vfm=新建VerticalFieldManager服务器TicalFieldManager.VERTICAL\u滚动; lb1Sr=新的LabelFieldSRNo:; lb1Sr.setColorColor.BLACK; lbSr=新的LabelFieldsStrerno; lbSr.setColorColor.BLACK; lb1Date=新的LabelFieldSRDate:; lb1Date.setColorColor.BLACK; lbDate=新的LabelFieldsRDATE; lbDate.setColorColor.BLACK; lb1Allo=新的LabelFieldLocDate:; lb1Allo.setColorColor.BLACK; lbAllo=新的LabelFieldstrAllo; lbAllo.setColorColor.BLACK; lb1Mob=新的LabelFieldMobNo:; lb1Mob.setColorColor.BLACK; lbMob=新的LabelFieldstrMob; lbMob.setColorColor.BLACK; lb1Detail=新标签字段详细信息:; lb1Detail.setColorColor.BLACK; lbDetail=新的LabelFieldsRDETail; lbDetail.setColorColor.BLACK; lb1Remark=新的LabelFieldMarks:; lb1Remark.setColorColor.BLACK; lbRemark=新的LabelFieldsTREMARK; lbRemark.setColorColor.BLACK; lb1SlaDate=新的LabelFieldSLADate:; LB1slade.setColorColor.BLACK; lbSlaDate=新的LabelFieldstrSldate; lbSlaDate.setColorColor.BLACK; lb1Email=新的LabelFieldEmail:; lb1Email.setColorColor.BLACK; lbEmail=新的labelfieldsremail; lbEmail.setColorColor.BLACK; lb1Status=新的LabelFieldStatus:; lb1Status.setColorColor.BLACK; lbStatus=新的LabelFieldstrStatus; lbStatus.setColorColor.BLACK; jhfm1=新的合理水平现场管理器RLB1SR,lbSr,真; vfm.addjhfm1; jhfm2=新的合理水平字段管理器RLB1Date、lbDate、true; vfm.addjhfm2; jhfm3=新的合理水平现场管理器RLB1ALLO,lbAllo,true; vfm.addjhfm3; jhfm4=新的合理的水平字段管理器RLB1MOB,lbMob,true; vfm.addjhfm4; hfm5=新的合理水平字段管理器RLB1detail,lbDetail,true; vfm.addjhfm5; jhfm6=新的合理的水平字段管理器RLB1remark,lbRemark,true; vfm.addjhfm6; jhfm7=新的合理水平字段管理器RLB1SLADATE,lbSlaDate,true; vfm.addjhfm7; jhfm8=新的合理的水平字段管理器RLB1email,lbEmail,true; vfm.addjhfm8; jhfm9=新的合理水平字段管理器RLB1状态,lbStatus,true; vfm.addjhfm9; addvfm; 我想使用双面滚动选项显示所有数据。请尝试以下代码-如何在单屏幕上显示blackberry中的两个数据,blackberry,blackberry-simulator,blackberry-eclipse-plugin,Blackberry,Blackberry Simulator,Blackberry Eclipse Plugin,嗨,朋友,我如何在一个屏幕上显示黑莓手机中的两个数据。 例如: 公共LabelField lbSr、lbDate、lbAllo、lbMob、lbDetail、lbRemark、lbSlaDate、lbEmail、lbStatus、lbspace; 公共LabelField lb1Sr、lb1Date、lb1Allo、lb1Mob、lb1Detail、lb1Remark、lb1SlaDate、LB1Mail、lb1Status; 公开证明的水平油田经理jhfm1、jhfm2、jhfm3、jhfm4
VerticalFieldManager vfm=new VerticalFieldManager(VerticalFieldManager.VERTICAL_SCROLL);
LabelField date=new LabelField("Date :");
LabelField date_value=new LabelField(value);
JustifiedHorizontalFieldManager jfm_date=new JustifiedHorizontalFieldManager(date,date_value, true);
vfm.add(jfm_date);
LabelField name=new LabelField("Name:");
LabelField name_value=new LabelField(value);
JustifiedHorizontalFieldManager jfm_name=new JustifiedHorizontalFieldManager(name,name_value, true);
vfm.add(jfm_name);
add(vfm);
以此类推……像这样添加所有字段
下面给出了合理的HorizontalFieldManager类-
public class JustifiedHorizontalFieldManager extends Manager
{
private static final int SYSTEM_STYLE_SHIFT = 32;
public Field _leftField;
public Field _rightField;
private boolean _giveLeftFieldPriority;
public JustifiedHorizontalFieldManager( Field leftField, Field rightField, boolean giveLeftFieldPriority )
{
this( leftField, rightField, giveLeftFieldPriority, Field.USE_ALL_WIDTH );
}
public JustifiedHorizontalFieldManager( Field leftField, Field rightField, boolean giveLeftFieldPriority, long style )
{
super( style );
_leftField = leftField;
_rightField = rightField;
add( _leftField );
add( _rightField );
_giveLeftFieldPriority = giveLeftFieldPriority;
}
public JustifiedHorizontalFieldManager( boolean giveLeftFieldPriority, long style )
{
super( style );
_giveLeftFieldPriority = giveLeftFieldPriority;
}
public void addLeftField( Field field )
{
if( _leftField != null ) {
throw new IllegalStateException();
}
_leftField = field;
add( _leftField );
}
public void addRightField( Field field )
{
if( _rightField != null ) {
throw new IllegalStateException();
}
_rightField = field;
add( _rightField );
}
public int getPreferredWidth()
{
return _leftField.getPreferredWidth() + _rightField.getPreferredWidth();
}
public int getPreferredHeight()
{
return Math.max( _leftField.getPreferredHeight(), _rightField.getPreferredHeight() );
}
protected void sublayout( int width, int height )
{
Field firstField;
Field secondField;
if( _giveLeftFieldPriority ) {
firstField = _leftField;
secondField = _rightField;
} else {
firstField = _rightField;
secondField = _leftField;
}
int maxHeight = 0;
int availableWidth = width;
availableWidth -= _leftField.getMarginLeft();
availableWidth -= Math.max( _leftField.getMarginRight(), _rightField.getMarginLeft() );
availableWidth -= _rightField.getMarginRight();
layoutChild( firstField, availableWidth, height - firstField.getMarginTop() - firstField.getMarginBottom() );
maxHeight = Math.max( maxHeight, firstField.getMarginTop() + firstField.getHeight() + firstField.getMarginBottom() );
availableWidth -= firstField.getWidth();
layoutChild( secondField, availableWidth, height - secondField.getMarginTop() - secondField.getMarginBottom() );
maxHeight = Math.max( maxHeight, secondField.getMarginTop() + secondField.getHeight() + secondField.getMarginBottom() );
availableWidth -= secondField.getWidth();
if( !isStyle( Field.USE_ALL_HEIGHT ) ) {
height = maxHeight;
}
if( !isStyle( Field.USE_ALL_WIDTH ) ) {
width -= availableWidth;
}
setPositionChild( _leftField, _leftField.getMarginLeft(), getFieldY( _leftField, height ) );
setPositionChild( _rightField, width - _rightField.getWidth() - _rightField.getMarginRight(), getFieldY( _rightField, height ) );
setExtent( width, height );
}
private int getFieldY( Field field, int height )
{
switch( (int)( ( field.getStyle() & FIELD_VALIGN_MASK ) >> SYSTEM_STYLE_SHIFT ) ) {
case (int)( FIELD_BOTTOM >> SYSTEM_STYLE_SHIFT ):
return height - field.getHeight() - field.getMarginBottom();
case (int)( FIELD_VCENTER >> SYSTEM_STYLE_SHIFT ):
return field.getMarginTop() + ( height - field.getMarginTop() - field.getHeight() - field.getMarginBottom() ) / 2;
default:
return field.getMarginTop();
}
}
public Field getLeftField()
{
return _leftField;
}
public Field getRightField()
{
return _rightField;
}
public void replace( Field oldField, Field newField )
{
if( oldField == newField ) {
// Nothing to do
return;
}
if( oldField == _leftField ) {
_leftField = newField;
} else if( oldField == _rightField ) {
_rightField = newField;
}
add( newField );
delete( oldField );
}
}
好友签名感谢重播我使用了你的代码,但垂直滚动不会产生任何影响。添加这么多项目,然后你的页面将滚动。
public class JustifiedHorizontalFieldManager extends Manager
{
private static final int SYSTEM_STYLE_SHIFT = 32;
public Field _leftField;
public Field _rightField;
private boolean _giveLeftFieldPriority;
public JustifiedHorizontalFieldManager( Field leftField, Field rightField, boolean giveLeftFieldPriority )
{
this( leftField, rightField, giveLeftFieldPriority, Field.USE_ALL_WIDTH );
}
public JustifiedHorizontalFieldManager( Field leftField, Field rightField, boolean giveLeftFieldPriority, long style )
{
super( style );
_leftField = leftField;
_rightField = rightField;
add( _leftField );
add( _rightField );
_giveLeftFieldPriority = giveLeftFieldPriority;
}
public JustifiedHorizontalFieldManager( boolean giveLeftFieldPriority, long style )
{
super( style );
_giveLeftFieldPriority = giveLeftFieldPriority;
}
public void addLeftField( Field field )
{
if( _leftField != null ) {
throw new IllegalStateException();
}
_leftField = field;
add( _leftField );
}
public void addRightField( Field field )
{
if( _rightField != null ) {
throw new IllegalStateException();
}
_rightField = field;
add( _rightField );
}
public int getPreferredWidth()
{
return _leftField.getPreferredWidth() + _rightField.getPreferredWidth();
}
public int getPreferredHeight()
{
return Math.max( _leftField.getPreferredHeight(), _rightField.getPreferredHeight() );
}
protected void sublayout( int width, int height )
{
Field firstField;
Field secondField;
if( _giveLeftFieldPriority ) {
firstField = _leftField;
secondField = _rightField;
} else {
firstField = _rightField;
secondField = _leftField;
}
int maxHeight = 0;
int availableWidth = width;
availableWidth -= _leftField.getMarginLeft();
availableWidth -= Math.max( _leftField.getMarginRight(), _rightField.getMarginLeft() );
availableWidth -= _rightField.getMarginRight();
layoutChild( firstField, availableWidth, height - firstField.getMarginTop() - firstField.getMarginBottom() );
maxHeight = Math.max( maxHeight, firstField.getMarginTop() + firstField.getHeight() + firstField.getMarginBottom() );
availableWidth -= firstField.getWidth();
layoutChild( secondField, availableWidth, height - secondField.getMarginTop() - secondField.getMarginBottom() );
maxHeight = Math.max( maxHeight, secondField.getMarginTop() + secondField.getHeight() + secondField.getMarginBottom() );
availableWidth -= secondField.getWidth();
if( !isStyle( Field.USE_ALL_HEIGHT ) ) {
height = maxHeight;
}
if( !isStyle( Field.USE_ALL_WIDTH ) ) {
width -= availableWidth;
}
setPositionChild( _leftField, _leftField.getMarginLeft(), getFieldY( _leftField, height ) );
setPositionChild( _rightField, width - _rightField.getWidth() - _rightField.getMarginRight(), getFieldY( _rightField, height ) );
setExtent( width, height );
}
private int getFieldY( Field field, int height )
{
switch( (int)( ( field.getStyle() & FIELD_VALIGN_MASK ) >> SYSTEM_STYLE_SHIFT ) ) {
case (int)( FIELD_BOTTOM >> SYSTEM_STYLE_SHIFT ):
return height - field.getHeight() - field.getMarginBottom();
case (int)( FIELD_VCENTER >> SYSTEM_STYLE_SHIFT ):
return field.getMarginTop() + ( height - field.getMarginTop() - field.getHeight() - field.getMarginBottom() ) / 2;
default:
return field.getMarginTop();
}
}
public Field getLeftField()
{
return _leftField;
}
public Field getRightField()
{
return _rightField;
}
public void replace( Field oldField, Field newField )
{
if( oldField == newField ) {
// Nothing to do
return;
}
if( oldField == _leftField ) {
_leftField = newField;
} else if( oldField == _rightField ) {
_rightField = newField;
}
add( newField );
delete( oldField );
}
}