Начинать второе окно javaFx

Я создаю с javafx которого не коснулся никогда login, если этот правилен, я хочу, чтобы Вы перешли к окну pricnipal (которая уже я загружу ее и у Вас будут функции, которые я хочу переместить существующей программы в этот проект).

Проблема, которая у меня есть, состоит в том, что я не могу выполнить или открыть второе окно. Окно login начинается мне правильно, но сделав правильный login, я хочу, чтобы Вы произошли с login секунды, но попробовал методы и вызовы, которые я увидел из-за itnernet, но совсем не. Взамен индивидуально да я функционируют окна.

Посмотрим я podeís ориентировать, потому что я попытался звоня прямо в другое окно из метода handle и из другого класса и ничего. Вы посылаете мне NULL

Мой login.fxml:

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.effect.Reflection?>
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.Pane?>

<Pane prefHeight="250.0" prefWidth="350.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="pack.login">
   <children>
      <ImageView fitHeight="156.0" fitWidth="350.0" pickOnBounds="true" preserveRatio="true">
         <image>
            <Image url="@../../../../Desktop/imagen/M2_200.png" />
         </image>
      </ImageView>
      <Label layoutX="75.0" layoutY="125.0" text="Usuario" />
      <Label layoutX="75.0" layoutY="167.0" text="Contraseña" />
      <TextField fx:id="userText" layoutX="175.0" layoutY="120.0" prefHeight="31.0" prefWidth="97.0" />
      <TextField fx:id="passwordText" layoutX="175.0" layoutY="162.0" prefHeight="31.0" prefWidth="97.0" />
      <Button fx:id="btnaceptar" layoutX="78.0" layoutY="205.0" mnemonicParsing="false" onAction="#handle" onKeyPressed="#comprobar" onMouseClicked="#comprobar" text="Aceptar" textAlignment="CENTER" />
      <Button fx:id="btnsalir" layoutX="224.0" layoutY="205.0" mnemonicParsing="false" onMouseClicked="#cerrarVentana" text="Salir" textAlignment="CENTER" />
   </children>
   <effect>
      <Reflection />
   </effect>
</Pane>

menu.fxml:

    <?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.Accordion?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ButtonBar?>
<?import javafx.scene.control.Menu?>
<?import javafx.scene.control.MenuBar?>
<?import javafx.scene.control.MenuItem?>
<?import javafx.scene.control.Separator?>
<?import javafx.scene.control.SplitMenuButton?>
<?import javafx.scene.control.Tab?>
<?import javafx.scene.control.TabPane?>
<?import javafx.scene.control.TableColumn?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.control.TitledPane?>
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.media.MediaView?>

<AnchorPane fx:id="anchorPanel" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="pack.menuFx">
   <children>
      <Pane layoutX="6.0" prefHeight="800.0" prefWidth="1200.0">
         <children>
            <MenuBar prefHeight="32.0" prefWidth="1075.0">
              <menus>
                <Menu mnemonicParsing="false" text="log">
                  <items>
                    <MenuItem mnemonicParsing="false" text="Close" />
                  </items>
                </Menu>
                <Menu mnemonicParsing="false" text="Edit">
                  <items>
                    <MenuItem mnemonicParsing="false" text="Login" />
                  </items>
                </Menu>
                <Menu mnemonicParsing="false" text="Programacion">
                  <items>
                    <MenuItem mnemonicParsing="false" text="Programacion" />
                  </items>
                </Menu>
              </menus>
            </MenuBar>
            <ButtonBar layoutX="421.0" layoutY="208.0" />
            <MediaView fitHeight="200.0" fitWidth="200.0" layoutY="600.0" />
            <TabPane fx:id="tabPanel" layoutX="197.0" layoutY="46.0" prefHeight="400.0" prefWidth="1003.0" tabClosingPolicy="UNAVAILABLE">
              <tabs>
                <Tab text="Planta 1">
                  <content>
                    <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
                  </content>
                </Tab>
                <Tab text="Planta 2">
                  <content>
                    <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="340.0" prefWidth="974.0" />
                  </content>
                </Tab>
                  <Tab text="Planta 3">
                    <content>
                      <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
                    </content>
                  </Tab>
              </tabs>
            </TabPane>
            <Separator layoutX="197.0" layoutY="59.0" orientation="VERTICAL" prefHeight="752.0" prefWidth="0.0" />
            <Separator layoutY="496.0" prefWidth="200.0" />
            <Accordion fx:id="plantas" layoutX="-1.0" layoutY="45.0" prefHeight="297.0" prefWidth="202.0" style="-fx-background-color: grey;">
              <panes>
                <TitledPane style="-fx-border-color: red;" text="Planta 1">
                  <content>
                    <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
                  </content>
                </TitledPane>
                <TitledPane animated="false" text="Planta 2">
                  <content>
                    <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
                  </content>
                </TitledPane>
                <TitledPane animated="false" text="Planta 3">
                  <content>
                    <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
                  </content>
                </TitledPane>
              </panes>
            </Accordion>
            <SplitMenuButton layoutY="342.0" mnemonicParsing="false" text="Opciones">
              <items>
                <MenuItem mnemonicParsing="false" text="Añadir" />
                  <MenuItem mnemonicParsing="false" text="Modificar Plantas" />
                <MenuItem mnemonicParsing="false" text="Borrar" />
                  <MenuItem mnemonicParsing="false" text="Borrar Planta" />
              </items>
            </SplitMenuButton>
            <ButtonBar layoutX="206.0" layoutY="580.0" prefHeight="40.0" prefWidth="771.0">
              <buttons>
                <Button mnemonicParsing="false" text="Silenciar Incendio" />
                  <Button mnemonicParsing="false" prefHeight="32.0" text="Borrar" />
                  <Button minWidth="46.0" mnemonicParsing="false" prefHeight="32.0" prefWidth="333.0" text="Atender Sirenas" />
                  <Button mnemonicParsing="false" text="Atender alamar incendio" />
              </buttons>
            </ButtonBar>
            <TableView layoutX="200.0" layoutY="621.0" prefHeight="165.0" prefWidth="990.0" style="-fx-background-color: grey;">
              <columns>
                <TableColumn prefWidth="75.0" text="Fecha" />
                <TableColumn prefWidth="75.0" text="texto" />
                  <TableColumn prefWidth="173.0" text="recurso" />
                  <TableColumn minWidth="0.0" prefWidth="135.0" text="Plano" />
              </columns>
            </TableView>
            <ImageView fitHeight="53.0" fitWidth="122.0" layoutX="1068.0" layoutY="6.0" pickOnBounds="true" preserveRatio="true">
               <image>
                  <Image url="@../../../../Downloads/logo.png" />
               </image>
            </ImageView>
         </children>
      </Pane>
   </children>
</AnchorPane>

login.java:

import java.io.IOException;
import java.net.ProxySelector;
import java.util.Hashtable;
import java.util.Vector;
import java.util.concurrent.LinkedBlockingQueue;

import javax.swing.JOptionPane;

import org.eclipse.equinox.app.IApplication;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.window.Window;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.PlatformUI;
import org.apache.log4j.Logger;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.Event;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.TextField;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
import javafx.fxml.FXML;


public class login extends Application {
    //implements IApplication

    Pane login;
    @FXML
    private TextField userText;
    @FXML
    private TextField passwordText;

    private AccountInfo accountInfo;
    private boolean loginAutomatico = false;
    private ThreadAutoLogin threadAutoLogin;
    Thread thLogin;
    menulanzador = new menu();
    FXMLLoader loader;
    Scene scene;
    AnchorPane anchorPanel;
    /* Logger */
    public static Logger logger = Logger.getLogger(login.class);


    public void start(Stage primaryStage) {

        try {
            // fucniona actualemten 1-08
             loader = new FXMLLoader();
            loader.setLocation(login.class.getResource("/pack/login.fxml"));
            login = loader.load();


             scene = new Scene(login);
            primaryStage.setScene(scene);
            primaryStage.show();
            open();

        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }



    }




    public static void main(String[] args) {
        launch(args);
    }




     @FXML
    public void comprobar(){

    }



    @FXML
    public void handle(ActionEvent loguear) {

        try{
            if(userText!=null && passwordText!=null && userText.getText().equals("hola") && passwordText.getText().equals("hola")){

                //JOptionPane.showMessageDialog(null, "bienvenido");
                //ventanaNew(loguear);
                String ruta  ="/pack/menu.fxml";
                lanzador.lanzado(ruta);


//              prueba desde aqui
//              loader = new FXMLLoader(getClass().getResource("/pack/menu.fxml"));
//              Parent root  = (Parent) loader.load();
//              scene = new Scene(root);
//             // Stage  stage;
//               Stage stage = (Stage) anchorPanel.getScene().getWindow();
//              stage.setScene(scene);
//              stage.show();


            }else{
                JOptionPane.showMessageDialog(null, "Sin dsfsdfds :\n"
                          + "Por favor ingrese un usuario y/o contraseña correctos",
                          "Acceso denegado", JOptionPane.ERROR_MESSAGE);

                if(userText!=null) userText.setText("");
                if(passwordText!=null) passwordText.setText("");

            }

         }catch(Exception e){
             System.out.println("errorr--> "+e);

         }

    }

     @FXML
    public void cerrarVentana(){

        System.exit(0);
    }

}

menu.java:

import java.io.IOException;

import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;

public class menuFx {

      Stage stage ;
    //  FXMLLoader fxmlLoader;
        FXMLLoader loader;
        Scene scene;
        AnchorPane anchorPanel;
        login log;



    @FXML
    public void lanzado(String rutaFXML){

        try {
//          BorderPane root = new BorderPane();
//          Scene scene = new Scene(root, 400, 400);
//          // scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
//          primaryStage.setScene(scene);
//          primaryStage.show();
//
//          primaryStage.setScene(scene);
//          primaryStage.show();
//          Pane mainPane;
//          mainPane = (Pane) FXMLLoader.load(menuFx.class.getResource("menu.fxml"));
//          primaryStage.setScene(new Scene(mainPane));
//          primaryStage.show();


//
//          loader = new FXMLLoader(getClass().getResource("/pack/menu.fxml"));
//          Parent root  = (Parent) loader.load();
//          scene = new Scene(root);
//         // Stage  stage;
//             Stage stage = (Stage) anchorPanel.getScene().getWindow();
//          stage.setScene(scene);
//          stage.show();




//            FXMLLoader loader = new FXMLLoader();
//              loader.setLocation(menuFx.class.getResource("/pack/menu.fxml"));
//              AnchorPane personOverview = (AnchorPane) loader.load();




        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}
0
задан 26.08.2019, 23:40
1 ответ

В botГіn Соглашаться login ты мог помещать cГіdigo нижний, так как ты не осторожен с stage, и это могло вызывать у тебя эту проблему. ВЎГ‰xitos!

Stage stage = new Stage();
Parent root = FXMLLoader.load(getClass().getResource("Menu.fxml"));
Scene scene = new Scene(root);
stage = new Stage(StageStyle.DECORATED);
stage.setScene(scene);
stage.show();
0
ответ дан 01.12.2019, 22:38

Теги

Похожие вопросы