【问题标题】:How to center textfield (Codename one)?如何居中文本字段(代号一)?
【发布时间】:2016-07-11 21:42:21
【问题描述】:

我正在尝试在 Codename One 的文本字段中设置文本对齐方式。 我已经创建了一个样式来设置对齐方式,但是它不起作用。

我可以设置左右对齐,但不能居中。 我想知道如何在文本字段中将文本(值)居中。

有人知道怎么做吗?

提前谢谢你。

【问题讨论】:

    标签: java textfield codenameone


    【解决方案1】:

    检查一下,它会解决你的问题

    Form   form = new Form(new BoxLayout(BoxLayout.Y_AXIS));
    TextField textField = new TextField();
    form.addComponent(textField);
    textField.setAlignment(TextArea.CENTER);
    form.show();
    

    【讨论】:

    • 您是否将 TA 设置为父组件的中间,而不是将 VALUE 与中心对齐?
    • 这只是一个问题,我发布了类似的内容,想知道是否有区别
    • 您好,谢谢您的回答。我尝试了您的解决方案(代码),不幸的是它没有用。我正在使用带有 CodeName One 插件的 NetBeans,在尝试了您的代码后,我遇到了这个异常:i.imgur.com/RrW4XJ9.png
    • @Skyblue 你更新了项目属性下的库了吗? BTW:如果你想让某人得到通知,你需要在你的评论中添加一个@名字
    【解决方案2】:

    我认为您甚至不需要触摸样式,只需使用setAlignment 方法:

    TextArea ta = new TextArea() ;
    ta.setAlignment(TextArea.CENTER);
    

    【讨论】:

    • 我建议使用 ta.getAllStyles().setAlignment(Component.CENTER) 注意 ta.setAlignment 已被弃用。但是,如果该字段是可编辑的,它可能不会在编辑期间保持其中心对齐。
    【解决方案3】:

    如果您使用 Textarea 而不是 Textfield,则居中对齐有效。

    TextArea textAreaInput = new TextArea();
    

    然后:

    textAreaInput.getAllStyles().setAlignment(TextArea.CENTER);
    

    但是,正如 Shay 指出的那样,在编辑过程中,文本会向左对齐。

    【讨论】:

      猜你喜欢
      • 2020-10-14
      • 1970-01-01
      • 1970-01-01
      • 2016-08-06
      • 2019-09-30
      • 2011-08-09
      • 1970-01-01
      • 1970-01-01
      • 2018-01-06
      相关资源
      最近更新 更多