标题已经描述了我的问题。我想为 JFX 按钮中的单个字母或字母序列而不是整个文本着色。我找到了 Swing 组件的解决方案是否可以在 Java 中将字符串中的文本颜色更改为多种颜色?但还不适用于 javafx。任何人都可以帮助我吗?
这就是我使用 gridlines布局的样子,这就是我调整主窗口大小时的样子,这就是我想要的最终结果。基本上,我需要一些技巧来让我的 GridPane 水平和/或垂直填充整个舞台,同时它的一些单元格保持指定的宽度/高度。我已经尝试了目前能想到的所有方法,但仍然找不到解决方案。使用 AnchorPane 可能会帮助我实现想要的结果,但我仍在试图弄清楚如何。我不想使用 SceneBuilder,因为我不是“拖放”编程的忠实粉丝 =)
@Override
public void start(final Stage primaryStage){
BorderPane border = new BorderPane();
GridPane grid = new GridPane();
grid.getColumnConstraints().add(new ColumnConstraints(70)); //column 1
grid.getColumnConstraints().add(new ColumnConstraints()); //column 2
grid.getColumnConstraints().add(new ColumnConstraints(70)); //column 3
grid.getColumnConstraints().add(new ColumnConstraints(100)); //column 4
grid.getColumnConstraints().add(new ColumnConstraints()); //column 5
grid.getColumnConstraints().add(new ColumnConstraints()); //column 6
grid.getColumnConstraints().add(new ColumnConstraints()); //column 7
grid.getColumnConstraints().add(new ColumnConstraints()); //column 8
grid.setVgap(10);
grid.setHgap(5);
grid.setPadding(new Insets(20,20,20,20));
grid.setGridLinesVisible(false);
Button btnDownload = new Button("Download next");
Label lblDownloadNext = new Label("next …Run Code Online (Sandbox Code Playgroud) 如果我有一个 JavaFX 对象的实例,比如 AnchorPane,我该如何切换它的背景/前景色?我在谷歌上进行了快速搜索,结果什么也没有,通过探索它的方法,也没有像setColor().
我有这个 JavaFX 组合框的基本示例:
public class JavaFXComboBox extends Application {
@Override
public void start(Stage primaryStage) {
final ComboBox comboBox = new ComboBox();
comboBox.getItems().addAll(
"Item 1",
"Item 2",
"Item 3",
"Item 4");
comboBox.setValue("Item 1");
final Label label = new Label();
Button btn = new Button();
btn.setText("Read comboBox");
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
label.setText("selectd: " + comboBox.getValue());
}
});
VBox vBox = new VBox();
vBox.setPadding(new Insets(5, 5, 5, 5));
vBox.setSpacing(5);
vBox.getChildren().addAll(label, comboBox, btn);
StackPane root = new StackPane();
root.getChildren().add(vBox); …Run Code Online (Sandbox Code Playgroud) 我正在开发一个迷你应用程序,我需要同时向用户显示 2 个窗口。
我正在 NetBeans 8.0.1 上使用 JavaFx Scene Builder 2.0
是否有可能做到这一点?如果是这样,怎么做?
谢谢!
在 JavaFX 中,是否可以从一个类中处理多种事件类型(例如 ActionEvent、MouseEvent 等),而无需匿名 EventHandler?我尝试了以下操作,但这只是创建了一个编译时错误。
public class GUI extends Application implements EventHandler<ActionEvent>,
EventHandler<MouseEvent>
Run Code Online (Sandbox Code Playgroud) 我试图SelectedIssueController在我的主布局 ( main.fxml ) 中包含 controller( )。但我收到以下错误:
Can not set lt.mypackage.controllers.SelectedIssueController field lt.mypackage.controllers.MainController.selectedIssueController to javafx.scene.layout.VBox
Run Code Online (Sandbox Code Playgroud)
main.fxml 中的一行:
Can not set lt.mypackage.controllers.SelectedIssueController field lt.mypackage.controllers.MainController.selectedIssueController to javafx.scene.layout.VBox
Run Code Online (Sandbox Code Playgroud)
我选择的issue.fxml:
<fx:include fx:id="selectedIssueController" source="controllers/selectedissue.fxml" />
Run Code Online (Sandbox Code Playgroud)
线路输入MainController:
@FXML
private SelectedIssueController selectedIssueController;
Run Code Online (Sandbox Code Playgroud)
据我了解,它VBox现在注入对象,但我需要SelectedIssueController. 我目前的实施有什么问题?
我有一个controlsfx CheckListView(甚至与javafx ListView 控件相同的问题),我想在其中显示RadioButtons 而不是CheckBox。所以我通过从几个 javafx 教程中获取帮助来实现自定义单元工厂,并且它正在工作。问题是我选择了第一个单选按钮并向下滚动一点,这样我的几个顶部单选按钮将向上滚动并且现在不可见。然后我再次向上滚动,选择现在消失了。
我调试代码时了解到每次都会创建新单元格并导致此问题,但不幸的是无法找出解决方案。
我附上了一个示例代码,它是从堆栈溢出中得到的,它有同样的问题。
package application;
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.ListCell;
import javafx.scene.control.ListView;
import javafx.scene.control.RadioButton;
import javafx.scene.control.ToggleGroup;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class RadioButtonListView extends Application {
public static final ObservableList names = FXCollections.observableArrayList();
private ToggleGroup group = new ToggleGroup();
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("List View Sample");
final ListView listView = new ListView();
listView.setPrefSize(200, 250);
listView.setEditable(true);
names.addAll("Adam", "Alex", "Alfred", "Albert", "Brenda", "Connie", "Derek", "Donny", "Lynne", "Myrtle", "Rose", "Rudolph", …Run Code Online (Sandbox Code Playgroud) 我有一个TreeView组件和它的内容是这样的:
我希望它在选择时返回路径 /root/Folder1/Folder2/item101 以便我可以将其放入下载命令中。
下面是我到目前为止制定的示例(出于测试目的而制作的很差),问题是它在文件夹内不起作用,只能在根目录中运行。我正在使用适用于 Java 的CloudRail API。
List<CloudMetaData> data = cs.getChildren("/");
String path="";
String selectedName = treeView.getSelectionModel().getSelectedItem().getValue() ;
System.out.println(selectedName);
for (CloudMetaData cmd : data) {
cache.put(cmd.getPath(), cmd);
TreeItem<String> item = new TreeItem<>(cmd.getName());
if(selectedName.equals(cmd.getName())){
path=cmd.getPath();
}
}
System.out.println(path);
Run Code Online (Sandbox Code Playgroud) 我试图在JavaFX.
我怎样才能做到JavaFX?
我是这个平台的新手,请给我一些指导。