小编skr*_*mps的帖子

既然 Java 控制面板已被删除,如何访问 Java 控制台

我最近更新到了 Java 12。

自 Java 11 以来,他们删除了 Java 控制面板。有关此的更多信息,请参阅:MacOS Java Control Panel Missing on Mojave

由于不再有控制面板,我如何查看 Java 控制台?或者查看/更改一般 Java 设置?

我的 IDE 使用 Mac OS X 10.13.6 和 Eclipse 2019-03。

java macos

5
推荐指数
0
解决办法
1731
查看次数

使用 HashMap 填充 TableView,该 HashMap 更改时将更新

我已经关注这个帖子了

将 hashmap 与 tableview 绑定 (JavaFX)

并创建了一个由 HashMap 中的数据填充的 TableView。

通过创建一个from并将其传递给 的构造函数,从被调用者接收TableView数据。(代码如下)HashMapmapObservableListmap.entrySet()ObservableListTableView

然而,虽然它是一个ObservableListwith SimpleStringPropertys,但当底层 HashMap 发生更改时,TableView 不会更新。

这是我的代码:

public class MapTableView extends Application {

    @Override
    public void start(Stage stage) throws Exception {
        try {
            // sample data
            Map<String, String> map = new HashMap<>();
            map.put("one", "One");
            map.put("two", "Two");
            map.put("three", "Three");


            // use fully detailed type for Map.Entry<String, String> 
            TableColumn<Map.Entry<String, String>, String> column1 = new TableColumn<>("Key");
            column1.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<Map.Entry<String, String>, String>, …
Run Code Online (Sandbox Code Playgroud)

java javafx hashmap tableview observablelist

3
推荐指数
1
解决办法
6351
查看次数

JavaFX:当Tabed到TextArea时,将插入/光标放在TextArea的末尾

(在stackoverflow上搜索,我看到这个问题针对Javascript而不是针对JavaFX)

我有一个TextArea实际上是类似文字处理器的应用程序中的主要文本编辑器(即,我打算让用户花费大量时间在这个TextArea中工作).当用户选中TextArea时,我希望将光标放在TextArea的末尾,以便用户可以从他们上次输入的内容结束时继续编辑.

我使用ChangeListener(下面的代码)实现了它,它具有所需的行为.但是,由于每次获得焦点时光标都放在TextArea的末尾,那么如果我要切换应用程序然后切换回来,光标就会移动.例如,如果用户在TextArea的中间某处键入句子,切换到阅读电子邮件,然后切换回以找到他们的光标已移动,则这是不方便的.

是否有一个焦点遍历策略执行此操作或以其他方式实现此操作,以便仅当用户选中TextArea时光标才会移动到末尾?在我看来,这通常是所希望的行为:每当TextArea被选中时,光标总是出现在TextArea的末尾,但是否则光标保持不动.

TextArea passageTextArea;

passageTextArea.focusedProperty().addListener(new ChangeListener<Boolean>() {
    @Override
    public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue)
    {
        if (newValue.booleanValue()) {
            passageTextArea.positionCaret(passageTextArea.getText().length());
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

textarea javafx changelistener

3
推荐指数
1
解决办法
2934
查看次数

JavaFX Stage关闭事件处理程序

我在JavaFX中有一个舞台,可以通过多种方式关闭该舞台,方法是单击红色(X)或通过一个调用 stage.close()

无论舞台如何关闭,我都希望在舞台关闭之前(或之后)执行操作。

如果我使用以下代码:

myStage.setOnCloseRequest( event -> {System.out.println("Closing Stage");} );
Run Code Online (Sandbox Code Playgroud)

然后当我单击(X)时调用处理程序,但当我单击时不调用该处理程序 myStage.close()

这是这个问题所讨论的相同问题(主要区别是): JavaFX:舞台关闭处理程序

不同之处在于,他希望在整个应用程序关闭时调用处理程序,因此可以覆盖Applicationstop()方法。但是,我并没有关闭整个应用程序,只是一个阶段。并且Stage没有stop()重写的方法。

谢谢你的帮助。

java events javafx

3
推荐指数
1
解决办法
6245
查看次数

JavaFX更改选项卡中文本的字体颜色

我想动态更改TabPane的标签标签中文本的颜色。

在SceneBuilder中,我为选项卡指定了randomTab的名称。

在我的代码中,我具有以下内容:

    if (randomEnabled)
        randomTab.setStyle("-fx-color:Green;");
    else
        randomTab.setStyle("-fx-color:Black;");
Run Code Online (Sandbox Code Playgroud)

但是,这不会更改文本的颜色,而是会更改选项卡标签背景的颜色。

我已经尝试使用“ -fx-text-fill:Green”以及“ -fx-foreground-color:Green”,但是这些都不起作用。

css java javafx

3
推荐指数
1
解决办法
5180
查看次数