establecer directorio con escucha de acción

Tengo una herramienta de cambio de nombre que establece un directorio de carpetas, sin embargo, creé algunos JCheckBox y quiero que puedan cambiar el directorio dependiendo de cuál esté seleccionado.

Ella es el oyente de la acción para la casilla de verificación, edita el campo txt para que se vea bien en el programa pero en realidad no cambia el directorio.

cbxBlackBerry = new JCheckBox("BlackBerry");
        cbxBlackBerry.addActionListener(
                new ActionListener(){
                    public void actionPerformed(ActionEvent e){
                            if(cbxBlackBerry.isSelected())
                            txtPrefix.setText("x-rimdevice_");
                        else{
                            txtPrefix.setText("");
                        }

                        if(cbxBlackBerry.isSelected())
                            txtDirectory.setText("\\RSASoftToken\\blackberry");
                        else{
                            txtDirectory.setText("");
                        }
                    }
                }
            ); //close addActionListener

este es el código que ordena la configuración del directorio

private boolean chooseDirectory(){

        /* Choose the file Directory
         * this will ensure that the class variable directory get the value
         * only when a directory is chosen, then the button Ok will be enabled
         */

        JFileChooser fc = new JFileChooser();
        fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        fc.setAcceptAllFileFilterUsed(false);

        int returnval = fc.showOpenDialog(this);

        if(returnval == JFileChooser.APPROVE_OPTION){
            directory = fc.getSelectedFile();
            btnOk.setEnabled(true);
            return true;        
        }

        return false;
    }// end chooseDirectory

¿Cómo modifico este código para cambiar realmente el directorio?

if(cbxBlackBerry.isSelected())
                            txtDirectory.setText("\\RSASoftToken\\blackberry");
                        else{
                            txtDirectory.setText("");
Respuesta 1

Necesitas un método como este:

private void setDirectory(File dir) {
  directory = dir;
  txtDirectory.setText(dir.getAbsolutePath());
}

y donde tiene código que establece el directorio JTextField, llame a este método en su lugar. Entonces, por ejemplo, en lugar de

if(cbxBlackBerry.isSelected())
   txtDirectory.setText("\\RSASoftToken\\blackberry");
else{
   txtDirectory.setText("");
}

Haz algo como:

String dirPath = "";
if (cbxBlackBerry.isSelected())
   dirPath = BLACKBERRY_PATH; // a constant
else {
   dirPath = "";
}
setDirectory(new File(dirPath));

Y en la parte superior de la clase, tenga una constante si es necesario:

private static final String BLACKBERRY_PATH = "\\RSASoftToken\\blackberry";
Respuesta: 2

No estoy completamente seguro de cuál es el problema, pero aquí hay un fragmento de mi código. Recibo la advertencia para mi variable de línea StringBuffer stringBuffer = new StringBuffer (); Línea de cadena = ""; while ((línea = ...

Tengo una JTable en un JScrollPane. Si la pantalla muestra la mitad de una fila en la JTable, al hacer clic en la JTable, el JScrollPane se desplaza automáticamente para mostrar la fila completa. ¿Cómo detengo eso ...

Estoy tratando de enviar una imagen a través de HTTP. Lo probé a través de Chrome, usando Wireshark para ver los detalles de la solicitud. La separación entre los encabezados y el contenido de varias partes es \ r \ n. Mi ...

Así que estoy haciendo una detección de colisión simple donde el jugador se mueve hacia abajo 3 cada vez que se actualiza y no en el suelo, pero cuando está en el suelo se mueve la diferencia de su posición, y ...