首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FXForm2 -查找场景元素

FXForm2 -查找场景元素
EN

Stack Overflow用户
提问于 2016-06-01 08:27:32
回答 1查看 151关注 0票数 1

下面创建一个简单的窗口,显示以下字段:

  • proxyType (Combobox:enum)
  • proxyHost (文本字段:String)
  • proxyPort (Textfield:int )
  • proxyExclusions (文本字段:String)

以下Java代码显示内容:

代码语言:javascript
复制
public class ProxyDemo extends Application {
    private FXForm<Proxy> fxForm;
    private StackPane mainPane = new StackPane();

    static enum ProxyType {
        DIRECT, HTTP, HTTPS, FTP, SOCKS;
    }

    static class Proxy {
        private final ObjectProperty<ProxyType> proxyType = new SimpleObjectProperty<ProxyType>();
        private final StringProperty proxyHost = new SimpleStringProperty();
        private final IntegerProperty proxyPort = new SimpleIntegerProperty();
        private final StringProperty proxyExclusions = new SimpleStringProperty();

        public Proxy(ProxyType proxyType, String proxyHost, int proxyPort, String proxyExclusions) {
            this.proxyType.set(proxyType);
            this.proxyHost.set(proxyHost);
            this.proxyPort.set(proxyPort);
            this.proxyExclusions.set(proxyExclusions);
        }

        public ProxyType getProxyType() {
            return proxyType.get();
        }

        public String getProxyHost() {
            return proxyHost.get();
        }

        public int getProxyPort() {
            return proxyPort.get();
        }

        public String getProxyExclusions() {
            return proxyExclusions.get();
        }
    }

    @SuppressWarnings("unchecked")
    @Override
    public void start(Stage primaryStage) throws Exception {
        Proxy proxy = new Proxy(ProxyType.DIRECT, "", 0, "");
        fxForm = new FXFormBuilder<>().source(proxy).build();

        mainPane.getChildren().addAll(fxForm);

        Scene root = new Scene(mainPane);

        primaryStage.setTitle("Demo");
        primaryStage.setScene(root);
        primaryStage.show();
    }

    public static void main(String... args) {
        ProxyDemo.launch(args);
    }
}

下面是我查找代理类型的尝试。

代码语言:javascript
复制
fxForm.getScene().lookup("#proxyType");

当代理类型是直接的时,我打算禁用这些字段,否则就启用它们。

"proxyType“是组合框类型吗?

FXForm2分配的这个字段的ID是多少?

FXForm2如何分配ID?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-08 23:39:40

我的问题解决了。

1.proxyType的组合框类型吗?

不,proxyTypeChoiceBox

2. FXForm2分配的这个字段的ID是什么?

#proxyType-form-editor

3.如何分配ID?

交互控件总是以"-form-editor“作为后缀。

proxyHost的ID为#proxyHost-form-editor

关联的标签将具有ID #proxyHost-label

参考资料

FXForm2 GitHub - Wiki

https://github.com/dooApp/FXForm2/wiki/Style-your-form-with-css

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37563296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档