Java FX无法获取listview以在我的程序中显示数据 [英] Java FX cannot get the listview to display data in my program

查看:99
本文介绍了Java FX无法获取listview以在我的程序中显示数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的程序中,我必须使用单选按钮更改字符串的颜色,并从列表视图中更改字符串的大小。我似乎遇到了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆