Java 在netbeans中,单击两个不同的复选框,一个接一个地调用两个不同的窗口,就会出现异常
以下是复选框的两个函数 复选框:ActiveBoxJava 在netbeans中,单击两个不同的复选框,一个接一个地调用两个不同的窗口,就会出现异常,java,swing,javafx,Java,Swing,Javafx,以下是复选框的两个函数 复选框:ActiveBox private void Active_BoxActionPerformed(java.awt.event.ActionEvent evt) { if (Active_Box.isSelected() == true) { Active_Link.main(args); } } private void SQL_boxActionPerformed(java.awt.event.ActionEvent evt)
private void Active_BoxActionPerformed(java.awt.event.ActionEvent evt) {
if (Active_Box.isSelected() == true) {
Active_Link.main(args);
}
}
private void SQL_boxActionPerformed(java.awt.event.ActionEvent evt) {
if (ESC_box.isSelected() == true) {
ESC.main(args);
}
}
复选框:SQLBox
private void Active_BoxActionPerformed(java.awt.event.ActionEvent evt) {
if (Active_Box.isSelected() == true) {
Active_Link.main(args);
}
}
private void SQL_boxActionPerformed(java.awt.event.ActionEvent evt) {
if (ESC_box.isSelected() == true) {
ESC.main(args);
}
}
Active.java
public class Active extends Application {
private final Node rootIcon=null;
TreeItem<String> rootNode = new TreeItem<String>("My Workflows");
public static void main(String[] args) {
launch(args);
}
public void start(Stage stage) {
rootNode.setExpanded(true);
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader("D:\\onlyForms.txt"));
String line=null;
while ((line = reader.readLine()) != null) {
if (line.indexOf("Checking") >= 0) {
String next=reader.readLine();
if(next.contains("Passed_qualification ")) {
TreeItem<String> depNode = new TreeItem<String>(line)
depNode.setExpanded(false);
TreeItem<String> depNode1 = new TreeItem<String>(next);
depNode.getChildren().add(depNode1);
String next1=reader.readLine();
TreeItem<String> depNode2 = new TreeItem<String>(next1);
depNode.getChildren().add(depNode2);
rootNode.getChildren().add(depNode);
}
if(next.contains("Failed_qualification ")) {
TreeItem<String> depNode = new TreeItem<String>(line);
depNode.setExpanded(false);
TreeItem<String> depNode1 = new TreeItem<String>(next);
depNode.getChildren().add(depNode1);
String next1=reader.readLine();
TreeItem<String> depNode2 = new TreeItem<String>(next1);
depNode.getChildren().add(depNode2);
rootNode.getChildren().add(depNode);
}
stage.setTitle("Escalations");
VBox box = new VBox();
final Scene scene = new Scene(box, 500, 500);
scene.setFill(Color.LIGHTGRAY);
box.setStyle("-fx-font: 18 arial;");
TreeView<String> treeView = new TreeView<String>(rootNode);
box.getChildren().add(treeView);
stage.setScene(scene);
stage.show();
}
}
public class SQL extends Application {
static String str=null;
static String next_line=null;
static BufferedReader br;
private final Node rootIcon;
public static void main(String[] args) throws IOException {
launch(args);
}
public SQL() {
this.rootIcon = null;
}
public void start(Stage stage) throws IOException {
rootNode.setExpanded(true);
BufferedReader reader=null;
try
{
FileInputStream f=new FileInputStream("D:\\SQL\\SQL_XML_TXT.txt");
reader = new BufferedReader(new InputStreamReader(f));
String line=null;
while ((line = reader.readLine()) != null) {
if (line.indexOf("TID") >=0) {
String next1=reader.readLine();
String next2=reader.readLine();
String next3=reader.readLine();
String next4=reader.readLine();
String next5=reader.readLine();
String next6=reader.readLine();
String next7=reader.readLine();
String time_date=SQL.GetTime(br);
if(((next7.indexOf("OK"))<0)) {
if(((next7.indexOf("SQL Trace Log- ON"))<0)) {
TreeItem<String>depNode=new TreeItem<String>(line);
depNode.setExpanded(false);
TreeItem<String> depNode1 = new TreeItem<String>(next1);
depNode.getChildren().add(depNode1);
TreeItem<String> depNode2=new TreeItem<String>(next2);
depNode1.getChildren().add(depNode2);
TreeItem<String> depNode3=new TreeItem<String>(next3);
depNode1.getChildren().add(depNode3);
TreeItem<String> depNode4=new TreeItem<String>(next4);
depNode1.getChildren().add(depNode4);
TreeItem<String> depNode5=new TreeItem<String>(next5);
depNode1.getChildren().add(depNode5);
TreeItem<String> depNode6=new TreeItem<String>(next6);
depNode1.getChildren().add(depNode6);
TreeItem<String> depNode7=new TreeItem<String>(next7);
depNode1.getChildren().add(depNode7);
rootNode.getChildren().add(depNode);
}
}
}
}
}
stage.setTitle("Escalations");
VBox box = new VBox();
final Scene scene = new Scene(box, 500, 500);
scene.setFill(Color.LIGHTGRAY);
box.setStyle("-fx-font: 18 arial;");
TreeView<String> treeView = new TreeView<String>(rootNode);
box.getChildren().add(treeView);
stage.setScene(scene);
stage.show();
}
}
公共类活动扩展应用程序{
私有最终节点rootIcon=null;
TreeItem rootNode=newtreeitem(“我的工作流”);
公共静态void main(字符串[]args){
发射(args);
}
公众假期开始(阶段){
setExpanded(true);
BufferedReader reader=null;
试一试{
reader=新的BufferedReader(新的文件读取器(“D:\\onlyForms.txt”);
字符串行=null;
而((line=reader.readLine())!=null){
if(line.indexOf(“Checking”)>=0){
String next=reader.readLine();
如果(下一个包含(“通过资格认证”)){
TreeItem depNode=新的TreeItem(行)
depNode.setExpanded(false);
TreeItem depNode1=新的TreeItem(下一个);
depNode.getChildren().add(depNode1);
字符串next1=reader.readLine();
TreeItem depNode2=新的TreeItem(next1);
depNode.getChildren().add(depNode2);
rootNode.getChildren().add(depNode);
}
如果(下一个包含(“未通过资格审查”)){
TreeItem depNode=新的TreeItem(行);
depNode.setExpanded(false);
TreeItem depNode1=新的TreeItem(下一个);
depNode.getChildren().add(depNode1);
字符串next1=reader.readLine();
TreeItem depNode2=新的TreeItem(next1);
depNode.getChildren().add(depNode2);
rootNode.getChildren().add(depNode);
}
阶段。设置标题(“升级”);
VBox box=新的VBox();
最终场景=新场景(框,500,500);
场景。设置填充(颜色。浅灰色);
box.setStyle(“-fx字体:18 arial;”);
TreeView TreeView=新的TreeView(rootNode);
box.getChildren().add(treeView);
舞台场景;
stage.show();
}
}
SQL.java
public class Active extends Application {
private final Node rootIcon=null;
TreeItem<String> rootNode = new TreeItem<String>("My Workflows");
public static void main(String[] args) {
launch(args);
}
public void start(Stage stage) {
rootNode.setExpanded(true);
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader("D:\\onlyForms.txt"));
String line=null;
while ((line = reader.readLine()) != null) {
if (line.indexOf("Checking") >= 0) {
String next=reader.readLine();
if(next.contains("Passed_qualification ")) {
TreeItem<String> depNode = new TreeItem<String>(line)
depNode.setExpanded(false);
TreeItem<String> depNode1 = new TreeItem<String>(next);
depNode.getChildren().add(depNode1);
String next1=reader.readLine();
TreeItem<String> depNode2 = new TreeItem<String>(next1);
depNode.getChildren().add(depNode2);
rootNode.getChildren().add(depNode);
}
if(next.contains("Failed_qualification ")) {
TreeItem<String> depNode = new TreeItem<String>(line);
depNode.setExpanded(false);
TreeItem<String> depNode1 = new TreeItem<String>(next);
depNode.getChildren().add(depNode1);
String next1=reader.readLine();
TreeItem<String> depNode2 = new TreeItem<String>(next1);
depNode.getChildren().add(depNode2);
rootNode.getChildren().add(depNode);
}
stage.setTitle("Escalations");
VBox box = new VBox();
final Scene scene = new Scene(box, 500, 500);
scene.setFill(Color.LIGHTGRAY);
box.setStyle("-fx-font: 18 arial;");
TreeView<String> treeView = new TreeView<String>(rootNode);
box.getChildren().add(treeView);
stage.setScene(scene);
stage.show();
}
}
public class SQL extends Application {
static String str=null;
static String next_line=null;
static BufferedReader br;
private final Node rootIcon;
public static void main(String[] args) throws IOException {
launch(args);
}
public SQL() {
this.rootIcon = null;
}
public void start(Stage stage) throws IOException {
rootNode.setExpanded(true);
BufferedReader reader=null;
try
{
FileInputStream f=new FileInputStream("D:\\SQL\\SQL_XML_TXT.txt");
reader = new BufferedReader(new InputStreamReader(f));
String line=null;
while ((line = reader.readLine()) != null) {
if (line.indexOf("TID") >=0) {
String next1=reader.readLine();
String next2=reader.readLine();
String next3=reader.readLine();
String next4=reader.readLine();
String next5=reader.readLine();
String next6=reader.readLine();
String next7=reader.readLine();
String time_date=SQL.GetTime(br);
if(((next7.indexOf("OK"))<0)) {
if(((next7.indexOf("SQL Trace Log- ON"))<0)) {
TreeItem<String>depNode=new TreeItem<String>(line);
depNode.setExpanded(false);
TreeItem<String> depNode1 = new TreeItem<String>(next1);
depNode.getChildren().add(depNode1);
TreeItem<String> depNode2=new TreeItem<String>(next2);
depNode1.getChildren().add(depNode2);
TreeItem<String> depNode3=new TreeItem<String>(next3);
depNode1.getChildren().add(depNode3);
TreeItem<String> depNode4=new TreeItem<String>(next4);
depNode1.getChildren().add(depNode4);
TreeItem<String> depNode5=new TreeItem<String>(next5);
depNode1.getChildren().add(depNode5);
TreeItem<String> depNode6=new TreeItem<String>(next6);
depNode1.getChildren().add(depNode6);
TreeItem<String> depNode7=new TreeItem<String>(next7);
depNode1.getChildren().add(depNode7);
rootNode.getChildren().add(depNode);
}
}
}
}
}
stage.setTitle("Escalations");
VBox box = new VBox();
final Scene scene = new Scene(box, 500, 500);
scene.setFill(Color.LIGHTGRAY);
box.setStyle("-fx-font: 18 arial;");
TreeView<String> treeView = new TreeView<String>(rootNode);
box.getChildren().add(treeView);
stage.setScene(scene);
stage.show();
}
}
公共类SQL扩展应用程序{
静态字符串str=null;
下一行的静态字符串=null;
静态缓冲读取器br;
私有最终节点根图标;
公共静态void main(字符串[]args)引发IOException{
发射(args);
}
公共SQL(){
this.rootIcon=null;
}
public void start(Stage)引发IOException{
setExpanded(true);
BufferedReader reader=null;
尝试
{
FileInputStream f=新的FileInputStream(“D:\\SQL\\SQL\u XML\u TXT.TXT”);
reader=新的BufferedReader(新的InputStreamReader(f));
字符串行=null;
而((line=reader.readLine())!=null){
如果(line.indexOf(“TID”)>=0{
字符串next1=reader.readLine();
字符串next2=reader.readLine();
字符串next3=reader.readLine();
字符串next4=reader.readLine();
字符串next5=reader.readLine();
字符串next6=reader.readLine();
String next7=reader.readLine();
字符串time\u date=SQL.GetTime(br);
如果((next7.indexOf(“OK”))不要多次尝试调用javafx.application.application.launch
。这会导致异常。如果要创建新窗口,只需创建一个新的阶段
,并将新内容添加到此阶段(由于您是从Swing创建窗口,因此必须从JFX线程执行此操作;请参阅最后一段代码snipplet):
如果您仍然希望将SQL
和Active
作为应用程序的可能入口点,我建议编写与start
方法基本相同的方法(减去舞台部分),但返回场景
对象,例如:
public class Active extends Application {
public static Scene createScene() {
Scene scene = //... insert your code here
return scene;
}
@Override
public void start(Stage stage) throws Exception {
stage.setScene(createScene());
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
private void Active_BoxActionPerformed(java.awt.event.ActionEvent evt) {
if (Active_Box.isSelected() == true) {
Platform.runLater(() -> { // invoke "Runnable" from JFX thread
Stage stage = new Stage();
stage.setScene(Active.createScene());
stage.show();
});
}
}
并按如下方式更改复选框功能:
public class Active extends Application {
public static Scene createScene() {
Scene scene = //... insert your code here
return scene;
}
@Override
public void start(Stage stage) throws Exception {
stage.setScene(createScene());
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
private void Active_BoxActionPerformed(java.awt.event.ActionEvent evt) {
if (Active_Box.isSelected() == true) {
Platform.runLater(() -> { // invoke "Runnable" from JFX thread
Stage stage = new Stage();
stage.setScene(Active.createScene());
stage.show();
});
}
}
并对SQL部分执行相同的操作
如果您不需要SQL
和Active
作为入口点,那么您当然不需要扩展Application
。@所有这些,请回复我,以防此处缺少任何澄清“某些代码逻辑”。您的代码中必须有javafx.Application.Application
(可能您在某个地方扩展了应用程序
)。该部分完全缺失。如果您希望得到答案,请提供更多代码。(顺便说一句,我很确定您在主
函数中留下的代码与问题无关)@费边,你能从中看出些什么吗,我已经发送了完整的代码,我到目前为止所做的。。