Я пытаюсь установить фокус на JTextPane, чтобы при открытии окна его можно было немедленно отредактировать с помощью клавиатуры.Тем не менее, ничего из того, что я сделал, похоже, не дает JTextPane сфокусироваться на запуске.Это просто проблема с использованием JavaFX с Swing?
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.embed.swing.SwingNode;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.ListView;
import javax.swing.*;
public class TestDialog {
@FXML
private ListView listView;
@FXML
private SwingNode node;
private ObservableList<Integer> obsList;
@FXML
public void initialize(){
JTextPane pane = new JTextPane();
SwingUtilities.invokeLater(() -> pane.requestFocusInWindow());
pane.setText("This issue is not reproducible in JDK 8 early-access build (8u172) which is yet to be released.");
node.setContent(pane);
obsList = FXCollections.observableArrayList();
for(int x = 0; x < 12; x++){
obsList.add(x);
}
listView.setItems(obsList);
node.setFocusTraversable(true);
node.requestFocus();
pane.requestFocus();
pane.grabFocus();
}
@FXML
private void removeItem(ActionEvent event) {
obsList.remove(0);
}
}