Java FX无法获取listview以在我的程序中显示数据 [英] Java FX cannot get the listview to display data in my program
问题描述
在我的程序中,我必须使用单选按钮更改字符串的颜色,并从列表视图中更改字符串的大小。我似乎遇到了listview代码中的多个错误,我不确定问题是什么。我正在使用e(fx)clipse。
我尝试过:
包employee.view;
import javafx .beans.value.ChangeListener;
import javafx.scene.paint.Paint;
import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML ;
import javafx.scene.control.RadioButton;
import javafx.scene.control.ToggleGroup;
import javafx.scene.layout。 BorderPane;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text .FontPosture;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.scene。 control.CheckBox;
导入javafx.scene.control.ListView;
公共类MainController {
@ FXML
私人BorderPane myPane;
@FXML
私人RadioButton blackRadioButton;
@FXML
私人ToggleGroup colorToggleGroup;
@FXML
私人RadioButton redRadioButton;
@FXML
private RadioButton blueRadioButton;
@ FXML
私人RadioButton greenRadioButton;
@FXML
私人ListView< string> mylistView;
@FXML
私人CheckBox boldCheckBox;
@FXML
私人CheckBox italicCheckBox;
字符串文字;
文本样本=新文本(50,300,SAMPLE );
FontWeight weight = FontWeight.NORMAL; // FontWeight.BOLD是粗体
FontPosture posture = FontPosture.REGULAR; // FontPosture.ITALIC是斜体
int size = 18;
boolean fontBold = false;
boolean fontItalic = false;
public void initialize(){
blackRadioButton.setUserData(Color.BLACK);
redRadioButton.setUserData(Color.RED );
greenRadioButton.setUserData(Color.GREEN);
blueRadioButton.setUserData(Color.BLUE);
myPane.getChildren()。 add(sample);
sample.setFont(Font.font(Verdana,体重,姿势,大小));
ObservableList< ;串GT; items = FXCollections.observableArrayList(
18,26,38,56);
mylistView.setItems(items);
mylistView.getSelectionModel()。selectedItemProperty()。addListener(
new ChangeListener< string>(){
public void changed(ObservableValue<?extends String> ov,
String old_val,String new_val){
size = Integer.parseInt(new_val);
sample.setFont(Font.font(Verdana,体重,姿势,大小));
}
});
}
@FXML
void boldCheckBoxSelected(ActionEvent事件){
}
@FXML
void colorRadioButtonSelected(ActionEvent event){
if((Color)colorToggleGroup.getSelectedToggle()。getUserData()== Color.BLUE){
sample.setStroke(Color.BLUE);
}
if((Color)colorToggleGroup.getSelectedToggle()。getUserData()== Color.GREEN){
sample.setStroke(Color.GREEN);
}
if((Color)colorToggleGroup.getSelectedToggle()。getUserData()== Color.RED){
sample.setStroke(Color.RED);
}
if((Color)colorToggleGroup.getSelectedToggle()。getUserData()== Color.BLACK){
sample.setStroke(Color.BLACK);
}
}
@FXML
void italicCheckBoxSelected(ActionEvent event){
}
}
错误:
应用程序启动方法中的异常
java.lang.reflect.InvocationTargetException
at java。 base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(原生方法)
在java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke(未知来源)
at java.base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)
在java.base / java.lang.reflect.Method.invoke(未知来源)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(Unknown Source)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(Unknown Source)
在java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invo ke0(原生方法)
在java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke(未知来源)
在java.base / jdk.internal.reflect。 DelegatingMethodAccessorImpl.invoke(未知来源)
在java.base / java.lang.reflect.Method.invoke(未知来源)
在java.base / sun.launcher。 LauncherHelper $ FXHelper.main(未知来源)
引起:java.lang.RuntimeException:应用程序启动方法中的异常
at javafx.graphics/com.sun.javafx。 application.LauncherImpl.launchApplication1(未知来源)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(Unknown Source)
at java .base / java.lang.Thread.run(未知来源)
引起:javafx.fxml.LoadException:
/ C:/ Users / lilj9 / eclipse-workspace /empl/bin/employee/view/Mainview.fxml
at javafx.fxml / javafx.fxml.FXMLLoader.constructLoadException(Unknown Source)
$ b $ j at jav afx.fxml / javafx.fxml.FXMLLoader.loadImpl(未知来源)
at javafx.fxml / javafx.fxml.FXMLLoader.loadImpl(未知来源)
at javafx。 fxml / javafx.fxml.FXMLLoader.load(未知来源)
at employee.Main.showMainView(Main.java:29)
at employee.Main.start(Main .java:19)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(Unknown Source)
at javafx.graphics/com .sun.javafx.application.PlatformImpl.lambda $ runAndWait $ 11(Unkn own Source)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$9(Unknown Source)
at java.base / java.security.AccessController.doPrivileged(Native Method)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10 (未知来源)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
at javafx.graphics/com.sun .glass.ui.win.WinApplication._runLoop(原生方法)
at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(Unknown Source)
... 1更多
引起:java.lang.reflect.InvocationTargetException
at java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
在java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke(未知来源)
在java.base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)
at java.base / java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javafx.reflect.Trampoline.invoke(Unknown Source)
at jdk.internal.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
at java.base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
在java.base / java.lang.reflect.Method.invoke(未知来源)
at javafx.base / com.sun.javafx.reflect.MethodUtil.invoke(Unknown Source)
javafx的
。 fxml / com.sun.javafx.fxml.MethodHelper.invoke(未知来源)
... 14更多
引起:java.lang.NullPointerException
at employee.view.MainController.initialize(MainController.java:71)
... 24更多
异常运行应用程序employee.Main
FXHelper.main(未知来源)
引起:java.lang.RuntimeException:应用程序启动方法中的异常
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda
launchApplication
2(未知来源)
在java.base / java.lang.Thread.run(未知来源)
引起:javafx.fxml.LoadException:
/C:/Users/lilj9/eclipse-workspace/empl/bin/employee/view/Mainview.fxml
在javafx.fxml / java fx.fxml.FXMLLoader.constructLoadException(未知来源)
at javafx.fxml / javafx.fxml.FXMLLoader.loadImpl(未知来源)
at javafx.fxml / javafx。 fxml.FXMLLoader.loadImpl(未知来源)
at javafx.fxml / javafx.fxml.FXMLLoader.load(未知来源)
at employee.Main.showMainView(Main。 java:29)
at employee.Main.start(Main.java:19)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda
In my program i have to change the color of a string using radio buttons and change the size of the string from the list view. I seem to be running into multiple errors in my listview code and im not sure what the problem is. I am using e(fx)clipse.
What I have tried:
package employee.view;
import javafx.beans.value.ChangeListener;
import javafx.scene.paint.Paint;
import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.RadioButton;
import javafx.scene.control.ToggleGroup;
import javafx.scene.layout.BorderPane;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.scene.control.CheckBox;
import javafx.scene.control.ListView;
public class MainController {
@FXML
private BorderPane myPane;
@FXML
private RadioButton blackRadioButton;
@FXML
private ToggleGroup colorToggleGroup;
@FXML
private RadioButton redRadioButton;
@FXML
private RadioButton blueRadioButton;
@FXML
private RadioButton greenRadioButton;
@FXML
private ListView<string> mylistView;
@FXML
private CheckBox boldCheckBox;
@FXML
private CheckBox italicCheckBox;
String Text;
Text sample=new Text(50,300,"SAMPLE");
FontWeight weight = FontWeight.NORMAL; // FontWeight.BOLD is boldface
FontPosture posture = FontPosture.REGULAR; // FontPosture.ITALIC is italic
int size=18;
boolean fontBold = false;
boolean fontItalic = false;
public void initialize() {
blackRadioButton.setUserData(Color.BLACK);
redRadioButton.setUserData(Color.RED);
greenRadioButton.setUserData(Color.GREEN);
blueRadioButton.setUserData(Color.BLUE);
myPane.getChildren( ).add( sample );
sample.setFont(Font.font("Verdana", weight, posture, size));
ObservableList<string> items =FXCollections.observableArrayList (
"18", "26", "38", "56");
mylistView.setItems(items);
mylistView.getSelectionModel().selectedItemProperty().addListener(
new ChangeListener<string>() {
public void changed(ObservableValue<? extends String> ov,
String old_val, String new_val) {
size = Integer.parseInt(new_val);
sample.setFont(Font.font("Verdana", weight, posture, size));
}
});
}
@FXML
void boldCheckBoxSelected(ActionEvent event) {
}
@FXML
void colorRadioButtonSelected(ActionEvent event) {
if ((Color) colorToggleGroup.getSelectedToggle().getUserData() == Color.BLUE) {
sample.setStroke(Color.BLUE);
}
if ((Color) colorToggleGroup.getSelectedToggle().getUserData() == Color.GREEN) {
sample.setStroke(Color.GREEN);
}
if ((Color) colorToggleGroup.getSelectedToggle().getUserData() == Color.RED) {
sample.setStroke(Color.RED);
}
if ((Color) colorToggleGroup.getSelectedToggle().getUserData() == Color.BLACK) {
sample.setStroke(Color.BLACK);
}
}
@FXML
void italicCheckBoxSelected(ActionEvent event) {
}
}
Errors:
Exception in Application start method
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(Unknown Source)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(Unknown Source)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(Unknown Source)
Caused by: java.lang.RuntimeException: Exception in Application start method
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: javafx.fxml.LoadException:
/C:/Users/lilj9/eclipse-workspace/empl/bin/employee/view/Mainview.fxml
at javafx.fxml/javafx.fxml.FXMLLoader.constructLoadException(Unknown Source)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
at javafx.fxml/javafx.fxml.FXMLLoader.load(Unknown Source)
at employee.Main.showMainView(Main.java:29)
at employee.Main.start(Main.java:19)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(Unknown Source)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$11(Unkn own Source)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$9(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(Unknown Source)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(Unknown Source)
... 1 more
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javafx.reflect.Trampoline.invoke(Unknown Source)
at jdk.internal.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at javafx.base/com.sun.javafx.reflect.MethodUtil.invoke(Unknown Source)
at javafx.fxml/com.sun.javafx.fxml.MethodHelper.invoke(Unknown Source)
... 14 more
Caused by: java.lang.NullPointerException
at employee.view.MainController.initialize(MainController.java:71)
... 24 more
Exception running application employee.Main
FXHelper.main(Unknown Source)
Caused by: java.lang.RuntimeException: Exception in Application start method
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda
launchApplication
2(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: javafx.fxml.LoadException:
/C:/Users/lilj9/eclipse-workspace/empl/bin/employee/view/Mainview.fxml
at javafx.fxml/javafx.fxml.FXMLLoader.constructLoadException(Unknown Source)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
at javafx.fxml/javafx.fxml.FXMLLoader.load(Unknown Source)
at employee.Main.showMainView(Main.java:29)
at employee.Main.start(Main.java:19)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda
这篇关于Java FX无法获取listview以在我的程序中显示数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!