O jComboBox não mostra os dados do txt

29/12/2019

0

A tela é o seguinte: eu tenho um campo de texto para pegar o nome das pessoas e um botão que salva esses nomes em um arquivo de texto. Eu tenho também um jCombobox que só mostra os dados que estão dentro do txt se eu clicar em Salvar. Eu queria que os dados aparecessem assim que eu abro a tela. Como recuperar esses dados do txt, logo que a tela é iniciada?

package uploadexemplo;
import java.awt.event.*;
import java.io.*;
import java.util.ArrayList;
import javax.swing.*;
import javax.swing.GroupLayout.Alignment;

public class NewJFrame extends javax.swing.JFrame {
     static java.io.File diretorio = new java.io.File("src/arquivo");
     boolean statusDir = diretorio.mkdir();
     public static String nomeDisciplina;
     ArrayList<String> lista = new ArrayList();
     public JButton btnSalvar;
     static FileReader fr;
     static String linha;
     static  BufferedReader br;
     static File arquivo = new File(diretorio, "ArquivoDisciplinas.txt");
     private static javax.swing.JComboBox jComboBox1;
     private static JTextField textField;

    public NewJFrame() {
        try {
            boolean statusArq = arquivo.createNewFile();

        } catch (IOException e) {
            e.printStackTrace(); 
        }

        initComponents();  
        btnSalvar.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                try {
                    salvar();
                } catch (IOException e1) {
                    e1.printStackTrace();
                }
            }
        });
    }   

    public static boolean Write(String Texto) {
        try {
            if (!arquivoExiste()) {
                arquivo.createNewFile();
            }
            FileWriter arq = new FileWriter(arquivo, true);
            PrintWriter gravarArq = new PrintWriter(arq);
            gravarArq.println(Texto);
            gravarArq.close();
            return true;

        } catch (IOException e) {
            System.out.println(e.getMessage());
            return false;
        }
    }

    public static void salvar() throws IOException {
        fr = new FileReader(arquivo);  
        br = new BufferedReader(fr);  
        linha = br.readLine();
        String print = textField.getText() + ";";

        while(linha != null){
            jComboBox1.addItem(linha);
            linha = br.readLine();
        }
        if (NewJFrame.Write(print)) {
            System.out.println("Arquivo salvo com sucesso!");
        } else {
            System.out.println("Erro ao salvar o arquivo!");
        }
    }

    public static boolean arquivoExiste() {
        return arquivo.exists();
    }

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new NewJFrame().setVisible(true);
            }
        });
    }

    @SuppressWarnings("unchecked")
    private void initComponents() {
        jComboBox1 = new javax.swing.JComboBox();
        textField = new JTextField();
        textField.setColumns(10);
        btnSalvar = new JButton("Salvar");
        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        layout.setHorizontalGroup(
            layout.createParallelGroup(Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGap(19)
                    .addGroup(layout.createParallelGroup(Alignment.LEADING)
                        .addComponent(jComboBox1, GroupLayout.PREFERRED_SIZE, 149, GroupLayout.PREFERRED_SIZE)
                        .addGroup(layout.createSequentialGroup()
                            .addComponent(textField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                            .addGap(35)
                            .addComponent(btnSalvar)))
                    .addContainerGap(171, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGap(23)
                    .addGroup(layout.createParallelGroup(Alignment.BASELINE)
                        .addComponent(textField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                        .addComponent(btnSalvar))
                    .addGap(76)
                    .addComponent(jComboBox1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(161, Short.MAX_VALUE))
        );
        getContentPane().setLayout(layout);

        pack();
    }// </editor-fold>
}
Gabriela

Gabriela

Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar