Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface Blackberry-获取所有子控件字段_User Interface_Blackberry - Fatal编程技术网

User interface Blackberry-获取所有子控件字段

User interface Blackberry-获取所有子控件字段,user-interface,blackberry,User Interface,Blackberry,我有一个水平字段管理器我在运行时添加了一些组件。我想知道我在水平字段管理器中放置了哪些组件。有人能告诉我如何找到水平字段管理器中存在哪些组件吗。 当做 s、 库马兰。类似的方法应该会奏效: public Field[] getFieldsOfManager(Manager manager) { Field[] fields = new Field[manager.getFieldCount()]; for( int i = 0; i < manager.getFieldCo

我有一个水平字段管理器我在运行时添加了一些组件。我想知道我在水平字段管理器中放置了哪些组件。有人能告诉我如何找到水平字段管理器中存在哪些组件吗。 当做
s、 库马兰。

类似的方法应该会奏效:

public Field[] getFieldsOfManager(Manager manager) {
    Field[] fields = new Field[manager.getFieldCount()];
    for( int i = 0; i < manager.getFieldCount(); i++ )
    {
        fields[i] = manager.getField( i );        
    }
    return fields;
}
公共字段[]getFieldsOfManager(管理器管理器){
字段[]字段=新字段[manager.getFieldCount()];
对于(int i=0;i
类似的方法应该可以:

public Field[] getFieldsOfManager(Manager manager) {
    Field[] fields = new Field[manager.getFieldCount()];
    for( int i = 0; i < manager.getFieldCount(); i++ )
    {
        fields[i] = manager.getField( i );        
    }
    return fields;
}
公共字段[]getFieldsOfManager(管理器管理器){
字段[]字段=新字段[manager.getFieldCount()];
对于(int i=0;i
+1月1日,但是内部经理呢?一些递归可以做到这一点

class Scr extends MainScreen implements FieldChangeListener {
    HorizontalFieldManager mMainPanel;
    VerticalFieldManager mVerticalPanel;
    ButtonField mPrintButton;

    public Scr() {
        add(new LabelField("Title", FIELD_HCENTER));
        mMainPanel = new HorizontalFieldManager();
        add(mMainPanel);
        mVerticalPanel = new VerticalFieldManager();
        mMainPanel.add(mVerticalPanel);
        for (int i = 0; i < 5; i++) {
            HorizontalFieldManager hfm = new HorizontalFieldManager();
            hfm.add(new LabelField("Label " + i, FIELD_LEFT));
            hfm.add(new BasicEditField(FIELD_RIGHT));
            mVerticalPanel.add(hfm);
        }
        mPrintButton = new ButtonField("Print Console All Fields",
                ButtonField.CONSUME_CLICK | FIELD_HCENTER);
        mPrintButton.setChangeListener(this);
        add(mPrintButton);
    }

    private Field[] getAllFields(Manager manager) {
        int cnt = manager.getFieldCount();
        Field[] result = new Field[cnt];

        for (int i = 0; i < cnt; i++) {
            Field field = manager.getField(i);
            result[i] = field;

            if (field instanceof Manager) {
                Field[] childFields = getAllFields((Manager) field);
                result = appendArray(result, childFields);
            }
        }
        return result;
    }

    private Field[] appendArray(Field[] target, Field[] source) {
        for (int i = 0; i < source.length; i++) {
            Arrays.add(target, source[i]);
        }
        return target;
    }

    public void fieldChanged(Field field, int context) {
        if (mPrintButton == field) {
            Field[] fields = getAllFields(getMainManager());
            for (int i = 0; i < fields.length; i++) {
                System.out.print("\nN " + i + "; Class: "
                        + fields[i].getClass().getName());
            }
        }
    }
}
类Scr扩展主屏幕实现FieldChangeListener{
水平现场经理mMainPanel;
VerticalFieldManager mVerticalPanel;
按钮字段打印按钮;
公共Scr(){
添加(新标签字段(“标题”,字段输入));
mMainPanel=新的HorizontalFieldManager();
添加(mMainPanel);
mVerticalPanel=新的VerticalFieldManager();
mMainPanel.add(mVerticalPanel);
对于(int i=0;i<5;i++){
HorizontalFieldManager hfm=新的HorizontalFieldManager();
hfm.add(新标签字段(“标签”+i,字段左));
hfm.add(新的基本字段(字段右));
mVerticalPanel.add(hfm);
}
mPrintButton=新按钮字段(“打印控制台所有字段”,
ButtonField.CONSUME|单击|字段HCENTER);
mPrintButton.setChangeListener(此);
添加(打印按钮);
}
私有字段[]getAllFields(经理){
int cnt=manager.getFieldCount();
字段[]结果=新字段[cnt];
对于(int i=0;i
+1月1日,但是内部经理呢?一些递归可以做到这一点

class Scr extends MainScreen implements FieldChangeListener {
    HorizontalFieldManager mMainPanel;
    VerticalFieldManager mVerticalPanel;
    ButtonField mPrintButton;

    public Scr() {
        add(new LabelField("Title", FIELD_HCENTER));
        mMainPanel = new HorizontalFieldManager();
        add(mMainPanel);
        mVerticalPanel = new VerticalFieldManager();
        mMainPanel.add(mVerticalPanel);
        for (int i = 0; i < 5; i++) {
            HorizontalFieldManager hfm = new HorizontalFieldManager();
            hfm.add(new LabelField("Label " + i, FIELD_LEFT));
            hfm.add(new BasicEditField(FIELD_RIGHT));
            mVerticalPanel.add(hfm);
        }
        mPrintButton = new ButtonField("Print Console All Fields",
                ButtonField.CONSUME_CLICK | FIELD_HCENTER);
        mPrintButton.setChangeListener(this);
        add(mPrintButton);
    }

    private Field[] getAllFields(Manager manager) {
        int cnt = manager.getFieldCount();
        Field[] result = new Field[cnt];

        for (int i = 0; i < cnt; i++) {
            Field field = manager.getField(i);
            result[i] = field;

            if (field instanceof Manager) {
                Field[] childFields = getAllFields((Manager) field);
                result = appendArray(result, childFields);
            }
        }
        return result;
    }

    private Field[] appendArray(Field[] target, Field[] source) {
        for (int i = 0; i < source.length; i++) {
            Arrays.add(target, source[i]);
        }
        return target;
    }

    public void fieldChanged(Field field, int context) {
        if (mPrintButton == field) {
            Field[] fields = getAllFields(getMainManager());
            for (int i = 0; i < fields.length; i++) {
                System.out.print("\nN " + i + "; Class: "
                        + fields[i].getClass().getName());
            }
        }
    }
}
类Scr扩展主屏幕实现FieldChangeListener{
水平现场经理mMainPanel;
VerticalFieldManager mVerticalPanel;
按钮字段打印按钮;
公共Scr(){
添加(新标签字段(“标题”,字段输入));
mMainPanel=新的HorizontalFieldManager();
添加(mMainPanel);
mVerticalPanel=新的VerticalFieldManager();
mMainPanel.add(mVerticalPanel);
对于(int i=0;i<5;i++){
HorizontalFieldManager hfm=新的HorizontalFieldManager();
hfm.add(新标签字段(“标签”+i,字段左));
hfm.add(新的基本字段(字段右));
mVerticalPanel.add(hfm);
}
mPrintButton=新按钮字段(“打印控制台所有字段”,
ButtonField.CONSUME|单击|字段HCENTER);
mPrintButton.setChangeListener(此);
添加(打印按钮);
}
私有字段[]getAllFields(经理){
int cnt=manager.getFieldCount();
字段[]结果=新字段[cnt];
对于(int i=0;i