Ae pessoal é o seguinte.
To fazendo uma aplicaçãozinha bem básica. Tenho que ler de um arquivo TXT alguns dados (nºs).
Fiz a interface gráfica, meio porquinha mas fiz, soh que estou com um problema. Não estou conseguindo fazer a bendita janelinha de "Open" para escolher qual arquivo TXT quero ler.
nunca fiz essa janela e jah procurei alguns exemplos mas não entendi muito bem e não consegui fazer.
abaixo eu anexo a minha "GUI", se alguem puder me ajudar...
Obrigado pela ajuda!!!
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.ObjectInputStream;
public class Principal extends JFrame implements ActionListener{
private JMenuItem miSair, miAbrir;
private JTextField tfCapJ1, tfCapJ2, tfCapJ3, tfLtsIJ1, tfLtsIJ2, tfLtsIJ3, tfLtsFJ1, tfLtsFJ2, tfLtsFJ3, tfMovimentos;
private JLabel lCapacidade, lLitrosInicial, lLitrosFinal, lJarro1, lJarro2, lJarro3, lMovimentos, lBranco;
private File arquivo;
private ObjectInputStream entrada;
public Principal(){
super("Jarros: Algoritmos C");
}
public JPanel painelPrincipal(){
JPanel princ = new JPanel();
princ.setLayout(new BorderLayout());
princ.setBackground(Color.BLACK);
princ.add(formMenus(), BorderLayout.NORTH);
princ.add(formCampos(), BorderLayout.CENTER);
return princ;
}
public JPanel formCampos(){
JPanel campos = new JPanel();
campos.setLayout(new GridLayout(5,4));
tfCapJ1 = new JTextField(4);
tfCapJ2 = new JTextField(4);
tfCapJ3 = new JTextField(4);
tfLtsIJ1 = new JTextField(4);
tfLtsIJ2 = new JTextField(4);
tfLtsIJ3 = new JTextField(4);
tfLtsFJ1 = new JTextField(4);
tfLtsFJ2 = new JTextField(4);
tfLtsFJ3 = new JTextField(4);
tfMovimentos = new JTextField(4);
tfCapJ1.setEditable(false);
tfCapJ2.setEditable(false);
tfCapJ3.setEditable(false);
tfLtsIJ1.setEditable(false);
tfLtsIJ2.setEditable(false);
tfLtsIJ3.setEditable(false);
tfLtsFJ1.setEditable(false);
tfLtsFJ2.setEditable(false);
tfLtsFJ3.setEditable(false);
tfMovimentos.setEditable(false);
lCapacidade = new JLabel("Capacidade");
lLitrosInicial = new JLabel("Lts Iniciais");
lLitrosFinal = new JLabel("Lts Finais");
lJarro1 = new JLabel("Jarro 1");
lJarro2 = new JLabel("Jarro 2");
lJarro3 = new JLabel("Jarro 3");
lMovimentos = new JLabel("Movimentos");
lBranco = new JLabel(" ");
campos.add(lBranco);
campos.add(lCapacidade);
campos.add(lLitrosInicial);
campos.add(lLitrosFinal);
campos.add(lJarro1);
campos.add(tfCapJ1);
campos.add(tfLtsIJ1);
campos.add(tfLtsFJ1);
campos.add(lJarro2);
campos.add(tfCapJ2);
campos.add(tfLtsIJ2);
campos.add(tfLtsFJ2);
campos.add(lJarro3);
campos.add(tfCapJ3);
campos.add(tfLtsIJ3);
campos.add(tfLtsFJ3);
campos.add(lMovimentos);
campos.add(tfMovimentos);
return campos;
}
public JMenu formArquivo(){
JMenu arquivo = new JMenu("Arquivo");
miSair = new JMenuItem("Sair");
miSair.addActionListener(this);
miAbrir = new JMenuItem("Abrir...");
miAbrir.addActionListener(this);
arquivo.add(miAbrir);
arquivo.add(miSair);
return arquivo;
}
public JMenuBar formMenus(){
JMenuBar menus = new JMenuBar();
menus.setLayout(new FlowLayout(FlowLayout.LEFT));
menus.add(formArquivo());
return menus;
}
public void actionPerformed(ActionEvent e){
if (e.getSource() == miSair)
System.exit(0);
if (e.getSource() == miAbrir){
//AbrirArquivo aa = new AbrirArquivo(entrada, arquivo);
}
}
public void janelaPrincipal(){
Container c = getContentPane();
c.setBackground(Color.BLACK);
c.add(painelPrincipal());
setSize(400,160);
setVisible(true);
}
public static void main(String args[]) {
Principal jp = new Principal();
jp.janelaPrincipal();
}
}
mas vlw a ajuda velho…