O jComboBox não mostra os dados do txt

1. O jComboBox não mostra os dados do txt

manuela carneiro
manuelacarneiro

(usa Ubuntu)

Enviado em 29/12/2019 - 17:46h

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>
}



  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts