I wonder if you can organize accented words within JComboBox
. So far I have managed to organize the words without an accent, but the accented ones do not.
Follow the code.
public class OrdenarCombo extends JFrame {
JComboBox<String> nomes = new JComboBox<>();
JTextField entra = new JTextField();
public OrdenarCombo() {
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setTitle("Organizando o combo");
JButton addButton = new JButton("Add");
Container contentPane = this.getContentPane();
contentPane.add(nomes, BorderLayout.CENTER);
contentPane.add(entra, BorderLayout.NORTH);
contentPane.add(addButton, BorderLayout.SOUTH);
// ============ Lê o arquivo - inicia aqui ======================
try {
File myFile = new File("F:/Relacao.txt");
FileReader fileReader= new FileReader(myFile);
BufferedReader reader = new BufferedReader(fileReader);
// cria uma variável para armazenar cada linha quando for lida
String line;
// enquanto houver linhas para serem lidas, lê e exibe
while ((line = reader.readLine()) != null){
nomes.addItem(line);
}
reader.close();
}
catch (Exception e) {
e.printStackTrace();
}
// ==================== fecha aqui ================================
addButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String names;
names = entra.getText().trim();
if (names.equals("")) {
JOptionPane.showMessageDialog(null, "Digite algo");
return;
}
else if (nomes.getItemCount() > 0 ) {
for (int i = 0; i < nomes.getItemCount(); i++) {
if (names.compareTo((String)nomes.getItemAt(i)) < 0 ) {
nomes.insertItemAt(names, i);
return;
}
}
}
nomes.addItem(names);
} // fim de actionPerformed
} // fim de actionListener
); // fim do método addActionListener
} // fim do construtor OrdenarCombo
public static void main(String[] args) {
OrdenarCombo bf = new OrdenarCombo();
bf.pack();
bf.setVisible(true);
} // fim de main
} // fim da classe OrdenarCombro