Blackberry 如何在BasicEditField中禁用无止境滚动

Blackberry 如何在BasicEditField中禁用无止境滚动,blackberry,textfield,horizontal-scrolling,blackberry-storm,blackberry-basiceditfield,Blackberry,Textfield,Horizontal Scrolling,Blackberry Storm,Blackberry Basiceditfield,大家好,我已经实现了自定义基本编辑字段来设置提示和输入长文本 请看我的密码 vfm_searchBox = new VerticalFieldManager() { //Main.Quicksearchinput is background image for inputtext public void paint(Graphics g) { g.setColor(Col

大家好,我已经实现了自定义
基本编辑字段
来设置提示和输入长文本

请看我的密码

vfm_searchBox = new VerticalFieldManager()
        {
            //Main.Quicksearchinput is background image for inputtext
            public void paint(Graphics g)
            {   
                g.setColor(Color.WHITE);
                g.drawBitmap(0,0,Main.Quicksearchinput.getWidth(),Main.Quicksearchinput.getHeight(),Main.Quicksearchinput,0,0);
                super.paint(g);
            }}
有一个
HorizontalFieldManager
用于滚动文本

hfm\u searchBox=新的水平字段管理器(Manager.HORIZONTAL\u滚动)

有一个
Basiceditfield
用于输入文本

txtSearch = new BasicEditField(BasicEditField.NO_NEWLINE)
        {
            public void paint(Graphics g)
            {
                if(super.getText().length() == 0)
                {
                    g.setColor(Color.GRAY);
                    g.setFont(g.getFont().derive(Font.PLAIN,18));
                    g.drawText("Enter Event title or subtitle", 0, 0);
                    super.paint(g);
                }
                else
                {
                    g.setColor(Color.BLACK);
                    super.paint(g);
                }

            }};
BasicEditField
Backgroundimage
hint
一起看起来很不错,但问题是,当我在textfield中没有输入任何内容时,它就像无休止的滚动条一样工作。我已经设置了
Horizontalfield
宽度取决于BasiceditField,但其宽度默认设置为无限

hfm_searchBox.add(txtSearch);
vfm_searchBox.add(hfm_searchBox);
如何防止无休止的滚动


提前感谢

什么是HorizontalFieldManager?这是指可滚动的空间,而宽度是指屏幕上的范围。您可以尝试扩展HorizontalFieldManager并重写sublayout方法,然后调用它。

HorizontalFieldManager的功能是什么?这是指可滚动的空间,而宽度是指屏幕上的范围。您可以尝试扩展HorizontalFieldManager并覆盖sublayout方法,调用它。

正如Tamar所说,字段的虚拟宽度是跟踪的关键概念


你可以。我提供了一个完整的代码示例,这个示例可能离您要做的不远。我使用的代码更进一步,动态地将滚动限制到文本当前到达的末尾。如果不这样做,只需设置一个常量虚拟宽度,则字段实际上会向右滚动太远。通过动态调用
setVirtualEvent()
,您总能获得足够的滚动,但不会太多。

正如Tamar所说,字段的虚拟宽度是需要跟踪的关键概念


你可以。我提供了一个完整的代码示例,这个示例可能离您要做的不远。我使用的代码更进一步,动态地将滚动限制到文本当前到达的末尾。如果不这样做,只需设置一个常量虚拟宽度,则字段实际上会向右滚动太远。通过动态调用
setVirtualEvent()
,您总能获得足够的滚动,但不会太多。

对于suggetion来说有很多。我试图重写该方法,但它不起作用。你能告诉我如何实现这个吗?谢谢你的建议。我试图重写该方法,但它不起作用。你能告诉我如何实现这一点吗?