Java - string desde Jtextpanel causa falla en programa

 
Vista:
sin imagen de perfil

string desde Jtextpanel causa falla en programa

Publicado por Paulo (4 intervenciones) el 16/02/2017 21:10:31
Buenas tardes

Desde hace muy poco tiempo me he interesado en la programación en JAVA y para comenzar luego de mucha lectura y ver y probar ejemplos me propuse crear una interfaz grafica para realizar comunicacion serial con un controlador. He utilizado libreria RXTX para ello y a pesar que el programa funciona, tengo algunos detalles que me gustaria mejorar:

1. Actualmente estoy leyendo el archivo donde tengo los comandos de programación utilizando una variable string fija ("ruta") que contiene la ruta o path donde se encuentra el archivo, lo cual obviamente no es lo optimo y por ello integré JFileChooser para escoger el archivo desde una interfaz grafica, sin embargo cuando necesito que esa ruta sea asignada a la variable "ruta", el programa simplemente no funciona y no hace nada, como si estuviera en un loop.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
public class Archivo {
 
    private String content;
 
    public String getContent() {
        return content;
    }
 
    public void setContent(String content) {
        this.content = content;
    }
 
    public Archivo() {
        String contenido = "";
        FileReader fr = null;
        BufferedReader br = null;
        int nlineas = 0;
        //ventana window = new ventana();
 
        try {
 
            //String ruta = "C:\\Users\\u1406889\\Desktop\\comandos.txt";     <<<<<Si uso este funciona todo perfectamente
            String ruta = window.jTextRutaArchivo.getText();     <<<<<<<<Al intentar obtener el string del text field falla
 
            fr = new FileReader(ruta);
            br = new BufferedReader(fr);
 
            String linea;
 
            while ((linea = br.readLine()) != null) {
                nlineas++;
                //if (nlineas < 6){
                contenido += linea + "\n";
                content = contenido;
                }
 
           //}
            this.setContent(content);
 
        } catch (IOException e) {
 
        }
        finally {
            try {
                br.close();
            } catch (IOException ex) {
            }
        }
 
        System.out.println(contenido);
        System.out.println(nlineas);
    }
}


Al accionar el boton de examinar el programa me envia la ruta del archivo al JTextarea perfectamente

1
2
3
4
5
6
7
8
private void jBexaminarActionPerformed(java.awt.event.ActionEvent evt) {
    JFileChooser chooser = new JFileChooser();
    if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION){
 
        jTextRutaArchivo.setBackground(Color.ORANGE);
        jTextRutaArchivo.setText(chooser.getSelectedFile().getAbsolutePath());
 
    }


Favor si me ayudan a delucidar por qué no puedo obtener este string "ruta" desde el TextField????????????
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 190
Ha disminuido su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

string desde Jtextpanel causa falla en programa

Publicado por preguntas (70 intervenciones) el 17/02/2017 06:12:30
te dejo un pequeño ejemplo para que lo ejecutes y analices:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public class NewClass extends JFrame {
    String ruta, nombre;
    JPanel jp;
    JFileChooser jf;
    public NewClass() {
        jp = new JPanel();
        jf = new JFileChooser();
        this.add(jp);
        jp.add(jf);
        this.setSize(600, 500);
        this.setVisible(true);
        this.setLocationRelativeTo(null);
 
        jf.addActionListener(new ActionListener() {
 
            @Override
            public void actionPerformed(ActionEvent ae) {
                nombre = jf.getSelectedFile().getName();
                ruta = jf.getSelectedFile().getPath();
                String info = "Nombre: "+nombre+"\nRuta: "+ruta;
                JOptionPane.showMessageDialog(null, info);
            }
        });
    }
 
    public static void main(String[] args) {
        new NewClass();
    }
}

Espero sea de ayuda.
(aaa y Si. Esta echo muy a la rapida, por eso todo desordenado ya que es solo para que veas como funciona y saques parte del codigo que te falte jaja).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar