【发布时间】:2015-08-22 06:42:03
【问题描述】:
所以,在 JavaFX 上咬牙切齿,到目前为止一切进展顺利。
但是,所有文本字段都有一条横穿它们的线,距离顶部 10 像素左右。
不仅在我的应用程序中,在 SceneBuilder 应用程序中也是如此。
注意,我没有使用任何明确的 CSS,我不知道 SceneBuilder 使用什么。屏幕截图来自 SceneBuilder,我的屏幕看起来一模一样。
所以,这是基本的东西。
java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
在 Mac OS 10.9.5
上只是好奇有没有其他人看到这个并有建议。
编辑:我下载了示例,这显然与 Modena 主题有关。里海主题看起来不错。下面是 Modena.jar TextFields 部分的屏幕截图。有趣的是,TextArea 也遇到了类似的问题,尽管不像TextField 那样普遍。
更多补充:
人们一直要求这样做,所以就在这里。我基本上只是遵循这个:https://docs.oracle.com/javafx/2/get_started/form.htm 并使用默认的 Netbeans 8.0.2 JavaFX 应用程序项目。只需从网站上剪切并粘贴即可。
public class Fxlinetest extends Application {
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("JavaFX Welcome");
GridPane grid = new GridPane();
grid.setAlignment(Pos.CENTER);
grid.setHgap(10);
grid.setVgap(10);
grid.setPadding(new Insets(25, 25, 25, 25));
Text scenetitle = new Text("Welcome");
scenetitle.setFont(Font.font("Tahoma", FontWeight.NORMAL, 20));
grid.add(scenetitle, 0, 0, 2, 1);
Label userName = new Label("User Name:");
grid.add(userName, 0, 1);
TextField userTextField = new TextField();
grid.add(userTextField, 1, 1);
Label pw = new Label("Password:");
grid.add(pw, 0, 2);
PasswordField pwBox = new PasswordField();
grid.add(pwBox, 1, 2);
Button btn = new Button("Sign in");
HBox hbBtn = new HBox(10);
hbBtn.setAlignment(Pos.BOTTOM_RIGHT);
hbBtn.getChildren().add(btn);
grid.add(hbBtn, 1, 4);
final Text actiontarget = new Text();
grid.add(actiontarget, 1, 6);
Scene scene = new Scene(grid, 300, 275);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)
这是来自 ScenicView 8.6 的 ThreeDOM 视图的屏幕截图,请注意以下行:
java version "1.8.0_74"
Java(TM) SE Runtime Environment (build 1.8.0_74-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode)
这是使用 Caspian 主题的示例屏幕:
System.setProperty("javafx.userAgentStylesheetUrl", "caspian");
【问题讨论】:
-
有什么有趣的 CSS 吗?
-
由于某种原因,似乎绘制了上升线。奇怪。
-
好吧,这真的很奇怪。你是如何设置你的应用程序的?有什么明确的设置吗?
-
也许您可以提供更多代码?所以我们可以看一下......(或尝试在自己的机器上重现问题)