• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

S7sRuss

Problema com o editor de texto simples em JAVA

3 mensagens neste tópico

Pessoal, estive ás voltas para resolver dois problemas com a declaração FicheiroDeTexto e não consigo!  :wallbash:

Alguém me posso dizer onde errei?  :thumbsup:

package documentarium;

import java.awt.*;
import java.awt.event.*;
import java.io.*;

public class Cap125 extends Frame {

// Declaração de constantes

private final static int dimH = 300;
private final static int dimV = 300;

// Atributo	

GUI gui = new GUI (this); // Objecto de interface

//Método para fazer operação (leitura / escrita)

public void fazOperacao (ActionEvent e) {

gui.fazOperacao (e);

}		

public static void main (String[] args){

Frame f = new Cap125 (); // Cria janela
f.setSize (dimH, dimV);  // Define dimensões
f.setTitle ("Leitura e escrita de ficheiros"); // Define título

f.addWindowListener (new GereJanela()); // Junta gestor de encerramento de aplicação

f.show(); // Mostra janela

}

}

class GUI {

// Declaração de constantes

private final static String s = "Ficheiros";
private final static int txtLinhas = 10;
private final static int txtColunas = 30;

// Atributos

private Button le, grava;
private TextArea texto;
private Cap125 frame;
private GereEventos gE1, gE2; // Objectos gestores de eventos

GUI (Cap125 f){

le = new Button("Lê"); // Cria botões
grava = new Button("Grava");		

texto = new TextArea (txtLinhas, txtColunas); // Cria zona de texto	

frame = f;

gE1 = new GereEventos (f); // Cria gestores de eventos
gE2 = new GereEventos (f); 

frame.setLayout (new FlowLayout()); // Define Layout

frame.add (le);	// Junta elementos à applet								
frame.add (grava);
frame.add (texto);				

le.addActionListener (gE1); // Junta gestores de eventos
grava.addActionListener (gE2); 	

}

//Método para determinar qual o botão premido
//Recebe:
//  e - evento
//Devolve:
//  true se botão lê, false se botão grava

public boolean getButton (ActionEvent e) {

if (e.getSource ().equals (le)) return true;
else return false;
}

//Método para fazer operação (leitura / escrita)
//Recebe:
//  e - evento

public void fazOperacao (ActionEvent e) {

FileDialog caixa;
String nome;
boolean leitura = getButton (e);

if (leitura) caixa = new FileDialog (frame, s, FileDialog.LOAD); // Cria caixa de diálogo
else caixa = new FileDialog (frame, s, FileDialog.SAVE);

caixa.show (); // mostra caixa

nome = caixa.getFile (); // obtém nome do ficheiro

if (nome != null) // Se nome válido

	if (leitura) leTexto (nome); // faz operação (leitura / escrita)
	else gravaTexto (nome);

}		

//Método para ler um ficheiro
//Recebe:
//  nome - do ficheiro a ler

void leTexto (String nome) {

String l;

try {

	FicheiroDeTexto f = new FicheiroDeTexto(); // Cria ficheiro ----------> Cannot Find Symbol; symbol: class FicheiroDeTexto; location: class documentarium.GUI

	f.abreLeitura (nome); // Abre ficheiro

	texto.setText (""); // Apaga texto anterior que esteja visível na área de texto

	while ((l = f.lerLinha()) != null) { // Lê linha

		texto.append (l+"\n"); // Junta-a a área de texto

	}

	f.fechaLeitura(); // Fecha ficheiro

}

// Trata excepções

catch (FileNotFoundException e) { 

		System.out.println("Ficheiro inexistente! ");
}

catch (IOException e) {

		System.out.println("Erro de IO! ");
}

}

//Método para gravar um ficheiro
//Recebe:
//  nome - do ficheiro a gravar

void gravaTexto (String nome) {

try {

	FicheiroDeTexto f = new FicheiroDeTexto(); // Cria ficheiro ----------> Cannot Find Symbol; symbol: class FicheiroDeTexto; location: class documentarium.GUI

	f.abreEscrita (nome); //Abre ficheiro

	f.escreverLinha (texto.getText ()); // escreve texto

	f.fechaEscrita (); // Fecha ficheiro
}

// Trata excepção

catch (IOException e) {

		System.out.println("Erro de IO! ");
}


}

}

class GereEventos implements ActionListener {

// Atributo

private Cap125 frame;

// Construtor

GereEventos (Cap125 f) {

frame = f;

}

public void actionPerformed (ActionEvent e){

frame.fazOperacao (e);

}

}

class GereJanela extends WindowAdapter {

//Método para terminar aplicação
//Recebe:
//  e - evento de fecho de aplicação

public void windowClosing (WindowEvent e){

	System.exit(0); // Termina aplicação
}

}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ganda confusão de codigo. estas a definir Classes dentro do mesmo file ??? Java não é C++ nem C#. Cada ficheiro só pode ter uma class principal e dentro dessa classe é que podes ter outras mas não é isso que ai tens.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora