Olá queria uma ajuda para implementar uma janela para abrir e salvar arquivos do meu editor de texto.
o programa já abre uma janela para colocar o nome do arquivo, mas eh com o JPane: String nomeArq = JOptionPane.showInputDialog(frame, “Nome Arquivo”);
já procurei na Net e achei isso:
public FileChooser(){
String caminhoArquivo = "";
JFileChooser arquivo = new JFileChooser();
int retorno = arquivo.showOpenDialog(null);
if(retorno == JFileChooser.APPROVE_OPTION){
caminhoArquivo = arquivo.getSelectedFile().getAbsolutePath();
JOptionPane.showMessageDialog(null, caminhoArquivo);
}else{
//não abriu
}
Mas não consigo adicionar o JFileChooser, alguém pode me ajudar ,estou tentando implementar no BlueJ.
códigos:
[code]import javax.swing.;
import java.awt.;
import java.awt.event.*;
public class JanelaEditor {
private JFrame frame = new JFrame(“Meu Editor POO”);
private JMenuBar barra = new JMenuBar();
private JMenu menuArquivo = new JMenu(“Arquivo”);
private JMenu menuEditar = new JMenu(“Editar”);
private JMenuItem itemAbrir = new JMenuItem(“Abrir”);
private JMenuItem itemNovo = new JMenuItem(“Novo”);
private JMenuItem itemSalvar = new JMenuItem(“Salvar”);
private JMenuItem itemCopiar = new JMenuItem(“Copiar”);
private JMenuItem itemColar = new JMenuItem(“Colar”);
private JMenuItem itemRecortar = new JMenuItem(“Recortar”);
private JTextArea areaTexto = new JTextArea(50,50);
protected ControladorEditor controlador;
public JanelaEditor(){
menuArquivo.add(itemAbrir);
menuArquivo.add(itemNovo);
menuArquivo.add(itemSalvar);
menuEditar.add(itemCopiar);
menuEditar.add(itemColar);
menuEditar.add(itemRecortar);
barra.add(menuArquivo);
barra.add(menuEditar);
frame.setJMenuBar(barra);
frame.setSize(500,500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container cp = frame.getContentPane();
cp.add(areaTexto);
itemNovo.addActionListener( new ItemNovoListener() );
itemCopiar.addActionListener( new ItemCopiarListener() );
itemColar.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent evt){
areaTexto.paste();
}
}
);
itemAbrir.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent evt){
abrir();
}
}
);
itemSalvar.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent evt){
salvar();
}
}
);
}
public void setControlador(ControladorEditor c){
controlador = c;
}
public ControladorEditor getControlador(){
return controlador;
}
public void mostrarMensagemDeErro(String msg){
JOptionPane.showMessageDialog(frame,msg);
}
public void salvar(){
//LeitorEscritor le = new LeitorEscritor();
String texto = areaTexto.getText();
String nomeArq = JOptionPane.showInputDialog(frame, "Nome Arquivo");
controlador.salvar(nomeArq,texto);
}
public void abrir(){
String nomeArq = JOptionPane.showInputDialog(frame, "Nome Arquivo");
String texto = controlador.abrir(nomeArq);
areaTexto.setText(texto);
}
public void mostrar(){
frame.setVisible(true);
}
public void apagar(){
frame.setVisible(false);
}
public JMenuItem getItemNovo(){
return itemNovo;
}
public JMenuItem getItemAbrir(){
return itemAbrir;
}
class ItemNovoListener implements ActionListener{
public void actionPerformed(ActionEvent evt){
areaTexto.setText("");
}
}
class ItemCopiarListener implements ActionListener{
public void actionPerformed(ActionEvent evt){
areaTexto.copy();
}
}
}[/code]
---------------------------------//------------------------------
[code]import java.io.;
import java.util.;
public class LeitorEscritor
{
public LeitorEscritor(){
}
public String ler(String nomeArq) throws FileNotFoundException{
File file = new File(nomeArq);
Scanner sc = new Scanner(file);
String texto="";
while (sc.hasNextLine()){
texto += sc.nextLine()+"\r\n";
}
sc.close();
}
public void escrever(String nomeArq, String texto){
File file = new File(nomeArq);
FileWriter fw=null;
PrintWriter pw=null;
try{
fw = new FileWriter(file);
pw = new PrintWriter(fw);
pw.println(texto);
pw.close();
}catch(IOException e){
System.out.println(e.getMessage());
}catch(NullPointerException e){
}
}
[/code]
--------------------------//-----------------------------
[code]public interface ControladorEditor
{
public String abrir(String nomeArq);
public void salvar(String nomeArq, String texto);
}
[/code]
------------------------------//--------------------------
[code]public class PrincipalEditor {
public static void main(String[] args){
JanelaEditor je = new JanelaEditor();
ControladorEditorImpl ce = new ControladorEditorImpl();
je.setControlador(ce);
ce.setJanelaEditor(je);
je.mostrar();
}
}[/code]
-------------------------//------------------------------------
[code]import java.io.*;
public class ControladorEditorImpl implements ControladorEditor {
private LeitorEscritor le = new LeitorEscritor();
private JanelaEditor janelaEditor;
public void setJanelaEditor(JanelaEditor j){
janelaEditor = j;
}
public JanelaEditor getJanelaEditor(){
return janelaEditor;
}
public String abrir(String nomeArq){
try{
return le.ler(nomeArq);
}catch(FileNotFoundException e){
janelaEditor.mostrarMensagemDeErro("Arquivo não encontrado");
return "";
}
}
public void salvar(String nomeArq, String texto){
le.escrever(nomeArq,texto);
}
}[/code]