elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: [1] 2 3 4 5
1  Programación / Java / Re: Variable FXML Null en JavaFX en: 19 Abril 2014, 19:26 pm
Me han dicho que el problema viene dado porque estoy usando dos instancias de Movements, una en la clase principal  y otra en el controlador y como no uso métodos estáticos no soy capaz de mantener el contenido de las variables.

He probado este código:

Controlador:

Código:
public class FXMLDocumentController implements Initializable {

    Movements movements = new Movements();

    public Movements getMovements() {
        return movements;
    }

    @FXML public Slider SpeedSlider;
    @FXML public Slider TurnsSlider;

    @Override
    public void initialize(URL url, ResourceBundle rb) {

        //Send GUI Information
        movements.GetSliders(SpeedSlider, TurnsSlider);
    }   

}

y Clase Principal:

Código:
public class OpenPilot extends Application {

    Movements movements;

    @Override
    public void start(Stage stage) throws Exception {
        FXMLLoader fxmlLoader = new FXMLLoader();
        Parent root = fxmlLoader.load(getClass().getResource("FXMLDocument.fxml"));

        // get movements from via controller
        FXMLDocumentController controller = (FXMLDocumentController)fxmlLoader.getController();
        movements = controller.getMovements();

        Scene scene = new Scene(root);

        scene.setOnKeyPressed(new EventHandler<KeyEvent>() {
            @Override
            public void handle(KeyEvent Key) {
               movements.GetKeys(Key);
            }
        });

        stage.setScene(scene);
        stage.show();
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        launch(args);
    }

}

Pero en la clase principal alguna de estas dos líneas genera error:

Código:
FXMLDocumentController controller = (FXMLDocumentController)fxmlLoader.getController();
        movements = controller.getMovements();

El error no es detectado en un principio por netbeans pero al arrancar el programa en la consola del IDE me da lo siguiente:

Citar
Exception in Application start method
java.lang.reflect.InvocationTargetException
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:483)
   at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:367)
   at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:305)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:483)
   at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: Exception in Application start method
   at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:894)
   at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:56)
   at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:158)
   at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
   at openpilot.OpenPilot.start(OpenPilot.java:35)
   at com.sun.javafx.application.LauncherImpl$8.run(LauncherImpl.java:837)
   at com.sun.javafx.application.PlatformImpl$7.run(PlatformImpl.java:335)
   at com.sun.javafx.application.PlatformImpl$6$1.run(PlatformImpl.java:301)
   at com.sun.javafx.application.PlatformImpl$6$1.run(PlatformImpl.java:298)
   at java.security.AccessController.doPrivileged(Native Method)
   at com.sun.javafx.application.PlatformImpl$6.run(PlatformImpl.java:298)
   at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
   at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
   at com.sun.glass.ui.win.WinApplication.access$300(WinApplication.java:39)
   at com.sun.glass.ui.win.WinApplication$4$1.run(WinApplication.java:112)
   ... 1 more
Exception running application openpilot.OpenPilot
Java Result: 1
2  Programación / Java / Variable FXML Null en JavaFX en: 19 Abril 2014, 17:10 pm
Buenas,

Tengo una aplicación en JavaFX realizada por FXML mediante Modelo Vista Controlador. El tema es que quiero mover unos sliders con el teclado. Para ello en la clase principal pongo un KeyEvent para escuchar lo que acontece en el teclado. En la clase FXMLDocumentController que actúa de controlador creo las variables FXML de los sliders. Estas variables son pasadas a una tercera clase. Donde allí se modifican los sliders cuando se hace algún click.

El problema es que cuando paso las variables de los sliders en la tercera clase se almacenan perfectamente pero a la hora de ejecutar el código que debería modificar los sliders que viene pasado de la clase principal cuando se hace click estás variables FXML son null.

Aquí os dejo el código:

Clase principal:
Código:
public class OpenPilot extends Application {
   
    Movements Movements = new Movements();
     
    @Override
    public void start(Stage stage) throws Exception {
       
        Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));

       
        Scene scene = new Scene(root);
       
        scene.setOnKeyPressed(new EventHandler<KeyEvent>() {
            @Override
            public void handle(KeyEvent Key) {
               Movements.GetKeys(Key);
            }
        });
       
        stage.setScene(scene);
        stage.show();
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        launch(args);
    }
   
}

Aquí el controlador:

Código:
public class FXMLDocumentController implements Initializable {
   
    Movements Movements = new Movements();
 
    @FXML public Slider SpeedSlider;
    @FXML public Slider TurnsSlider;
   

   
   
   
    @Override
    public void initialize(URL url, ResourceBundle rb) {
     
        //Send GUI Information
        Movements.GetSliders(SpeedSlider, TurnsSlider);
    }   
       
}

Y por última la tercera clase llamada Movements:

Código:
public class Movements {
   
    //Define Data Variables
    public double SpeedValue;
    public double TurnsValue;
   
    //Define GUI Variables
    private Slider SpeedSlider;
    private Slider TurnsSlider;
   
    public void GetSliders(Slider SpeedSlider, Slider TurnsSlider) {
        this.SpeedSlider = SpeedSlider;
        this.TurnsSlider = TurnsSlider;
}

    //Get Sliders
   
    public void GetKeys(KeyEvent Key) {
        System.out.println(Key.getCode());
        System.out.println(SpeedSlider);
       
        Platform.runLater(new Runnable() {
                @Override public void run() {
                    TurnsSlider.setValue(10);
                }
        });
    }

}
3  Programación / Java / Re: SetText JavaFX no funciona en: 27 Marzo 2014, 09:50 am
Gracias, perfecto!
4  Programación / Java / SetText JavaFX no funciona en: 26 Marzo 2014, 21:54 pm
Buenas,

Tengo cuatro archivos, en un proyecto de JavaFX FXML. El problema es que quiero hacer un settext pero me dice que la variable del TextField es null. El código es el siguiente.

FXMLDocumentController:

Código:
public class FXMLDocumentController implements Initializable {
   
        @FXML
        private TextField carlos;
        RXTX main = new RXTX();
       
        @FXML
    private void handleButtonAction(ActionEvent event) {
       
    }
       
   
   
        @Override
        public void initialize(URL url, ResourceBundle rb) {
    main.initialize();
    Thread t = new Thread() {
                public void run() {
                   
                    //the following line will keep this app alive for 1000 seconds,
                    //waiting for events to occur and responding to them (printing incoming messages to console).
                    try {Thread.sleep(1000000);} catch (InterruptedException ie) {}
                }
            };
    t.start();
    System.out.println("Started");
        }   
       
}

El RXTX, donde se ejecuta el settext(está al final) y donde funciona el thread anterior:

Código:
public class RXTX implements SerialPortEventListener{

    @FXML private TextField carlos;
   
    private String Temperature;
   
        SerialPort serialPort;
        /** The port we're normally going to use. */
private static final String PORT_NAMES[] = {
"COM5" // Windows
};
/**
* A BufferedReader which will be fed by a InputStreamReader
* converting the bytes into characters
* making the displayed results codepage independent
*/
private BufferedReader input;
/** The output stream to the port */
private OutputStream output;
/** Milliseconds to block while waiting for port open */
private static final int TIME_OUT = 2000;
/** Default bits per second for COM port. */
private static final int DATA_RATE = 57600;

public void initialize() {
CommPortIdentifier portId = null;
Enumeration portEnum = CommPortIdentifier.getPortIdentifiers();

//First, Find an instance of serial port as set in PORT_NAMES.
while (portEnum.hasMoreElements()) {
CommPortIdentifier currPortId = (CommPortIdentifier) portEnum.nextElement();
for (String portName : PORT_NAMES) {
if (currPortId.getName().equals(portName)) {
portId = currPortId;
break;
}
}
}
if (portId == null) {
System.out.println("Could not find COM port.");
return;
}

try {
// open serial port, and use class name for the appName.
serialPort = (SerialPort) portId.open(this.getClass().getName(),
TIME_OUT);

// set port parameters
serialPort.setSerialPortParams(DATA_RATE,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);

// open the streams
input = new BufferedReader(new InputStreamReader(serialPort.getInputStream()));
output = serialPort.getOutputStream();

// add event listeners
serialPort.addEventListener(this);
serialPort.notifyOnDataAvailable(true);
} catch (Exception e) {
System.err.println(e.toString());
}
}

/**
* This should be called when you stop using the port.
* This will prevent port locking on platforms like Linux.
*/
public synchronized void close() {
if (serialPort != null) {
serialPort.removeEventListener();
serialPort.close();
}
}

/**
* Handle an event on the serial port. Read the data and print it.
*/
public synchronized void serialEvent(SerialPortEvent oEvent) {
if (oEvent.getEventType() == SerialPortEvent.DATA_AVAILABLE) {
try {
String inputLine=input.readLine();
System.out.println(inputLine);
                                GetData(inputLine);
} catch (Exception e) {
System.err.println(e.toString());
}
}
// Ignore all the other eventTypes, but you should consider the other ones.
}

        @FXML
private void GetData(String Data) {
           
            if(Data.contains("Temperature")){
                carlos.setText("Test");   
            }
           
        }
}

Y aquí tienes el principal archivo java:

Código:
public class OPilot extends Application {
   
    @Override
    public void start(Stage stage) throws Exception {
     
               
        Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));
       
        Scene scene = new Scene(root);
       
        stage.setScene(scene);
        stage.show();
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        launch(args);
    }
   
}

5  Programación / Ingeniería Inversa / Archivo .key en: 9 Mayo 2013, 15:34 pm
Buenas,

Estoy intendando crackear un programa. El activado genera un archivo serial.key que es como un id del hadware. En caso de que cambias de hadware hay que volver a activarlo. Con este archivo no tengo ningún problema, lo puedo abrir con el Notepad++ y todo perfecto.

Pero luego, tengo otro archivo .key. Este está cifrado, mi pregunta es como lo puedo descifrar y si una vez descifrado lo puedo abrir con el Notepad++ o necesito otro programa.

Saludos,
6  Programación / .NET (C#, VB.NET, ASP) / Error MYSQL Login en: 29 Enero 2013, 18:33 pm
Buenas,

Uso Visual Stuido Ultimate 2012. Y el MYSQL Connector v4 (el último). Tengo este código. Si necesitáis código anterior pedirlo:

Código
  1. Dim sqlQuery = "SELECT * FROM Pilots Where License = '" + UsernameTextBox.Text + "' AND Password = '" + PasswordTextBox.Text + "' "
  2.        Dim myCommand As New MySqlCommand()
  3.        myCommand.Connection = connection
  4.        myCommand.CommandText = sqlQuery
  5.  
  6.        myAdapter.SelectCommand = myCommand
  7.        Dim myData As MySqlDataReader()
  8.        myData = myAdapter.ExecuteReader()
  9.  
  10.        If myData.HasRows = 0 Then
  11.            MsgBox("Invalid User/Password!")
  12.        Else
  13.            MainForm.Show()
  14.            Me.Close()
  15.        End If
  16.  

Y me da estos errores:

Citar
Error 1 'ExecuteReader' is not a member of 'MySql.Data.MySqlClient.MySqlDataAdapter'. E:\VARS Client\VARS Client\VARS Client\Login.vb 26 18 VARS Client

Error 2 'HasRows' is not a member of 'System.Array'. E:\VARS Client\VARS Client\VARS Client\Login.vb 28 12 VARS Client

Me podéis ayudar?
7  Programación / .NET (C#, VB.NET, ASP) / Re: Conectar MYSQL con .NET en: 29 Enero 2013, 15:52 pm
te podes conectar a MySQL en .NET usando el namespace Sytem.Data.Oledb sin usan ningun programa, yo lo uso asi para realizar opeaciones basicas de SQL y ningun problema, el Connector es en realidad mejor si queres hacer operaciones especificas del motor de mysql, esta optimizado para eso, pero si vas a hacer lo basico en SQL no hace falta.

Pero si uso el MYSQL connector lo necesitarán todos los equipos donde use el programa?
8  Programación / .NET (C#, VB.NET, ASP) / Conectar MYSQL con .NET en: 28 Enero 2013, 21:10 pm
Buenas,

He estado viendo algunos tutoriales para hacer esto. Y me surgen algunas dudas.

¿En todos los equipos que utilice el programa necesito el MYSQL Connector?

Yo en el programa pongo la contraseña user... de la base de datos, si alguien me descompila el programa ¿obtendrá los estos datos?
9  Programación / .NET (C#, VB.NET, ASP) / Re: Realizar otra vez y dar el resultado del IF en: 28 Enero 2013, 19:22 pm
Vale, ya lo he arreglado:

He puesto donde llamo al Offset de conexión del programa esto:

Código
  1. Dim parkBrakes As Offset(Of UShort) = New Offset(Of UShort)(&HBC8) 'Offset con el que llamo al programa
  2.    Dim lastLights As Boolean
  3.  
  4. 'Mas codigo del programa
  5.  
  6. Private Sub FlighInfo_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
  7.        Try
  8.  
  9.           Dim currentLights As Boolean
  10.            currentLights = lights.Value(LightType.Landing)
  11.            If currentLights <> lastLights Then
  12.                lastLights = currentLights
  13.                Dim Message2 As String = IIf(currentLights, "Landing Lights ON", "Landing Lights OFF")
  14.                RichTextBox1.Text += Environment.NewLine & (Message2)
  15.            End If
  16.        Catch ex As Exception
  17.  
  18.        End Try
  19.    End Sub
  20.    Private Sub RichTextBox1_TextChanged(sender As Object, e As EventArgs) Handles RichTextBox1.TextChanged
  21.  
  22.    End Sub
  23.  

Pero ahora tengo una duda. Por que si defino la variable lastLights dentro del Private Sub FlighInfo no funciona? Pasa el error anteriormente mencionado, se repite el mensaje varias veces.
10  Programación / .NET (C#, VB.NET, ASP) / Re: Realizar otra vez y dar el resultado del IF en: 28 Enero 2013, 15:22 pm
No se si te he entendido bien, pero según entiendo lo que quieres lo puedes hacer con los codigos que te han dejado, y para evitar que siga escribiendo pienso que te vendría bien volver a poner la variable a FALSE, de esta forma solo escribiria una vez, a la espera de que el valor de la variable vuelva a cambiar. En el momento que cambia a TRUE vuelves a concatenar y a poner en FALSE la variable.

Un saludo

No puedo hacer eso porque entonces apagaría las luces del avión en el simulador.

Cómo puedo hacer para que se ejecute una función cada vez que la variable cambia a True o False?
Páginas: [1] 2 3 4 5
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines