标签: javafx-8

JavaFX TextField CSS

如何使用JavaFX CSS创建类似Android TextField的JavaFX TextField?

例如 : Android TextField

我已经尝试了很多FX css,但没有达到这样的效果.这里http://jsfiddle.net/QKm37/ CSS存在HTML输入类型,但它不适用于JavaFX SceneBuilder.

例如 : /** Not Exist in JavaFX **/

-fx-border: none;

-fx-background: bottom left linear-gradient(#a9a9a9, #a9a9a9) no-repeat, bottom center linear-gradient(#a9a9a9, #a9a9a9) repeat-x, bottom right linear-gradient(#a9a9a9, #a9a9a9) no-repeat;

css java javafx fxml javafx-8

7
推荐指数
1
解决办法
2万
查看次数

JavaFX OSX WebView CSS不透明度无法正常工作

我在OSX上使用JRE 8_40用于JavaFX应用程序,该应用程序使用WebView显示使用AngularJS和Bootstrap编写的HTML表单.我找到了使用AngularJS"ng-disabled"的表单提交按钮,并且当处于禁用状态时隐藏了class ="btn btn-success btn-lg".当按钮进入启用状态时,按钮显示正确.

我已将问题缩小到Bootstrap .btn.disabled类的不透明度CSS设置.

如果按照引导程序css在按钮上有以下样式,则不显示该按钮

<input type="button" value="TEST" style="opacity: .65">
Run Code Online (Sandbox Code Playgroud)

不透明度样式在Windows上的相同版本的JRE上正常工作.

OSX上的JavaFX应用程序是否需要显示设置?

javafx javafx-8

7
推荐指数
1
解决办法
489
查看次数

JavaFX 8对话框内部元素的本地化

我目前正在开发一个带有斯洛伐克语本地化的JavaFX应用程序,在应用程序内部,我正在使用一个Alert对话框来显示可扩展内容窗格的异常,如下图所示:

显示详细信息 - 警报屏幕 隐藏详细信息 - 警报屏幕

我想有这样的对话翻译完成其与进展顺利Header,TitleContent但我不能找到一种方法如何在翻译Show/Hide details的扩张区的标签.

所以我的问题可以有点概括:如何更改/翻译JavaFX内部元素的文本?

在此先感谢您的帮助.

PS:为了为异常创建此Alert对话框,我使用的代码在code.makery.ch找到

java localization javafx javafx-8

7
推荐指数
1
解决办法
1648
查看次数

绑定StringProperty时出现多线程错误

我有一个关于多线程和StringProperty绑定的问题.

我有一个类CacheManager,其中包含一个Thread更新我的缓存与服务器上的更改.现在,我想通知文本和进度的百分比(这是一个LabelProgressBar在JavaFX中).我使用public static DoubleProperty,StringProperty为此,在CacheManager类中定义.我只是像这样绑定它:

progressBar.progressProperty().bind(CacheManager.progress);
someLabel.textProperty().bind(CacheManager.status);
Run Code Online (Sandbox Code Playgroud)

现在,在Updater线程中,我更新了这些Properties.有了DoubleProperty这个工作得很好,并且ProgressBar正显示出完美的进展.但是,更新Label状态(来自的文本StringProperty)会引发错误:java.lang.IllegalStateException: Not on FX application thread; currentThread = Thread-9

现在,我的问题是:为什么DoubleProperty工作正常,而StringProperty抛出错误?他们考虑多线程有什么区别?

任何关于重新设计的想法也欢迎,非常感谢任何帮助!

java multithreading javafx javafx-8

7
推荐指数
1
解决办法
1416
查看次数

在自包含JavaFX应用程序中包含图标

我一直在与这个战斗超过一天,并在SO和其他地方阅读了很多帖子,但我仍然遇到问题.

我需要在自包含的JavaFX应用程序包中包含我的应用程序图标.我正在使用JDK 1.8.0_45及其包含的JavaFX包.我正在使用Maven来构建.exe并且一切都很好,除了我不能得到我的图标.

这是我的pom.xml:

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <prerequisites>
        <maven>2.2.1</maven>
    </prerequisites>

    <groupId>com.mycompany.drm</groupId>
    <artifactId>DRMDashboard</artifactId>
    <version>2.0</version>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <javafx.version>8.0.45</javafx.version>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.3</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <!-- copy all dependencies of your app to target folder-->
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.10</version>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <configuration>
                            <overWriteReleases>false</overWriteReleases>
                            <overWriteSnapshots>false</overWriteSnapshots>
                            <overWriteIfNewer>true</overWriteIfNewer>
                        </configuration>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <archive>
                        <manifestEntries>
                            <JavaFX-Version>${javafx.version}+</JavaFX-Version>
                            <Main-Class>com.mycompany.client.HelloWorld</Main-Class>
                            <implementation-version>2.0</implementation-version>
                            <JavaFX-Application-Class>com.mycompany.client.HelloWorld</JavaFX-Application-Class>
                            <JavaFX-Class-Path>
                                <!-- list all your dependencies …
Run Code Online (Sandbox Code Playgroud)

java javafx maven javafx-8

7
推荐指数
1
解决办法
5303
查看次数

FXML,JavaFX 8,TableView:在每一行中创建一个删除按钮并相应地删除该行

我正在使用TableView(FXML),我希望在最后一列中包含所有行以及删除按钮.

这是一个显示我的意思的视频:TableView中的YouTube删除按钮

这是我在主控制器类中的内容:

public Button del() {
    Button del = new Button();
    del.setText("X");
    del.setPrefWidth(30);
    del.setOnAction(new EventHandler<ActionEvent>() {
        public void handle(ActionEvent event) {
            int i = index.get();
            if(i > -1) {
                goals.remove(i);
                list.getSelectionModel().clearSelection();
            }
        }
    });
    return del;
}

private SimpleIntegerProperty index = new SimpleIntegerProperty();

@Override
public void initialize(URL location, ResourceBundle resources){
    //DateFormat df = new SimpleDateFormat("dd MMM yyyy");
    sdate.setValue(LocalDate.now());
    edate.setValue(LocalDate.now());

    seq.setCellValueFactory(new PropertyValueFactory<Goals, Integer>("id"));
    gol.setCellValueFactory(new PropertyValueFactory<Goals, String>("goal"));
    sdt.setCellValueFactory(new PropertyValueFactory<Goals, Date>("sdte"));
    edt.setCellValueFactory(new PropertyValueFactory<Goals, Date>("edte"));
    prog.setCellValueFactory(new PropertyValueFactory<Goals, Integer>("pb"));
    del.setCellValueFactory(new PropertyValueFactory<Goals, Button>("x"));

    list.setItems(goals); …
Run Code Online (Sandbox Code Playgroud)

fxml javafx-8

7
推荐指数
1
解决办法
8958
查看次数

使用 Javafx 和 Maven 的 ImageView 的 URL 路径

我正在设计一个 JavaFX 程序,使用 zenjava 基本原型。一切都可以正常查找,除非我想使用 ImageView 小部件添加图像。

我在 src/main/resources 下创建了一个名为 images 的新文件夹,其中存储要在 ImageView 上显示的图像。

所以,根据这个图像存储在/src/main/resources/images/image.jpg

问题是,我打开 SceneBuilder 并从文件夹 C:\Users\Toni\workspace\MyProject\src\main\resources\images\image.jpg 中拖放图像,我可以在屏幕上看到图像。我保存 fxml 文件,然后打开它,fxml 文件引用图像,如下所示:

<ImageView fitHeight="200.0" fitWidth="200.0" layoutX="1463.0" layoutY="551.0">
     <image>
        <Image url="@../images/image.jpg" />
     </image>
  </ImageView>
Run Code Online (Sandbox Code Playgroud)

但是,当我编译并运行它时,出现以下错误:

[INFO] --- javafx-maven-plugin:8.1.2:run (default-cli) @ QAdmin ---
[INFO] Running JavaFX Application
null/../images/wait_time_icon.png
Exception in Application start method
[WARNING] 
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:297)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: Exception in Application start method
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$156(LauncherImpl.java:182)
... …
Run Code Online (Sandbox Code Playgroud)

fxml javafx-8

7
推荐指数
1
解决办法
9454
查看次数

javafx8 TableView Multiselection将所选项之一返回为null

TableView多选项将所选对象之一返回为null.这种情况不会每次都发生,但是当我尝试在表中选择两行时,大多数情况都会发生这种情况.类似于这个问题中定义的问题

重现问题的最佳方法是尝试选择两个连续的行.FXML:

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.Label?>
<?import javafx.scene.control.ProgressBar?>
<?import javafx.scene.control.TableColumn?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.control.cell.PropertyValueFactory?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.Region?>
<?import javafx.scene.layout.StackPane?>




<AnchorPane  xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.test.controller.TestController">
                <children>
                    <TableView fx:id="personsTable" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="35.0">
                        <placeholder>
                            <Label text="" />
                        </placeholder>
                        <columns>
                            <TableColumn text="Name">
                                <cellValueFactory>
                                    <PropertyValueFactory property="name" />
                                </cellValueFactory>
                            </TableColumn>
                            <TableColumn text="Address">
                                <cellValueFactory>
                                    <PropertyValueFactory property="address" />
                                </cellValueFactory>
                            </TableColumn>
                            <TableColumn text="Course">
                                <cellValueFactory>
                                    <PropertyValueFactory property="course" />
                                </cellValueFactory>
                            </TableColumn>
                            <TableColumn text="Country">
                                <cellValueFactory>
                                    <PropertyValueFactory property="country" />
                                </cellValueFactory>
                            </TableColumn>
                        </columns>
                    </TableView>
                </children>
            </AnchorPane>
Run Code Online (Sandbox Code Playgroud)

控制器:

import java.net.URL; …
Run Code Online (Sandbox Code Playgroud)

multi-select tableview javafx-8

7
推荐指数
1
解决办法
334
查看次数

如何映射 JavaFX observables 的值?

我有一个SimpleIntegerProperty并想从中派生出一个SimpleObjectProperty<Color>
为此,我想象了一些机制,比如流和可选:

SimpleIntegerProperty intProp;
ObjectProperty<Color> colorProp = intProp.map(i -> convertIntToColor(i), c -> convertColorToInt(c));
Run Code Online (Sandbox Code Playgroud)

是否已经内置了一些东西,还是我真的需要自己推出它?
如果没有这样的东西,这似乎很奇怪,因为查看 的所有Bindings功能会让您强烈地感觉到该功能也应该存在。

谢谢!

java javafx javafx-8

7
推荐指数
1
解决办法
605
查看次数

带有 CSS 的 JavaFX 斜体字体

我正在使用具有如下样式类的 CSS 样式表:

.sublabel {
    -fx-font-style: italic; 
    -fx-font-size: 12;
}
Run Code Online (Sandbox Code Playgroud)

...已在 Scene Builder 中设置为标签的样式类。字体大小按预期更改(较小,因为我有 -fx-font-size: 14; 在 .root 类下,但这是唯一与字体相关的设置)。粗体样式很好用,但它拒绝使用斜体字体。我没有在任何地方使用自定义字体,所以这应该使用 JavaFX 8 在 Win7 上使用的默认字体。我也试过在 Style 下独立设置它。

什么可能导致样式请求被忽略?

css javafx javafx-8

7
推荐指数
1
解决办法
3467
查看次数