下面创建一个简单的窗口,显示以下字段:
以下Java代码显示内容:
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);
}
}下面是我查找代理类型的尝试。
fxForm.getScene().lookup("#proxyType");当代理类型是直接的时,我打算禁用这些字段,否则就启用它们。
"proxyType“是组合框类型吗?
FXForm2分配的这个字段的ID是多少?
FXForm2如何分配ID?
发布于 2016-06-08 23:39:40
我的问题解决了。
1.是proxyType的组合框类型吗?
不,proxyType是ChoiceBox。
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
https://stackoverflow.com/questions/37563296
复制相似问题