Bloco de Notas

1. Bloco de Notas

João Paulo dos Santos Ferreira
Jota P.

(usa Debian)

Enviado em 02/11/2011 - 21:27h

E ai galera...

Eu tenho que fazer um bloco de notas em Java,que possa abrir,salvar arquivos e também que possibilite a mudança da fonte,do estilo da fonte e do seu tamanho.

Até a parte de abrir e salvar arquivos eu consegui fazer o problema é na mudança da fonte,que não está saindo aqui.

Até agora o que eu fiz foi isso ai:

Obrigado desde já...


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

public class BlocoDeNotas extends JFrame {

private JTextArea texto = new JTextArea();
private JMenu arquivo,ajuda,formatar,fonte,estiloFonte,tamFonte;
private JMenuItem novo,abrir,salvar,sair,sobre,exibir,salvarComo;
private JRadioButtonMenuItem fonts[];
private ButtonGroup grupoFonte;
private File f;
private FileDialog Fsalvar;

public BlocoDeNotas(){

super("Bloco de Notas");

Container c = new Container();
c.setLayout(new FlowLayout());

//Configura o Menu Arquivo
arquivo = new JMenu("Arquivo");
arquivo.setMnemonic('A');

novo = new JMenuItem("Novo");
abrir = new JMenuItem("Abrir...");
salvar = new JMenuItem("Salvar");
salvarComo = new JMenuItem("Salvar Como...");
sair = new JMenuItem("Sair");

Fsalvar = new FileDialog(this,"Salvar arquivo",FileDialog.SAVE);

arquivo.add(abrir);
arquivo.add(salvar);
arquivo.add(novo);
arquivo.add(salvarComo);
arquivo.addSeparator();
arquivo.add(sair);
sair.setMnemonic('S');

sair.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.exit(0);
}
});
novo.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){

if (texto.getText() != null){
int opc = JOptionPane.showConfirmDialog(null, "Deseja salvar as alterações?");
if(opc == JOptionPane.YES_OPTION){
try{
Fsalvar.show();
if (Fsalvar.getFile()==null)
return;
String nome = Fsalvar.getDirectory()+Fsalvar.getFile();
FileWriter out = new FileWriter(nome);
out.write(texto.getText());
out.close();
}catch(java.io.IOException exc){}
}
if (opc == JOptionPane.NO_OPTION)
texto.setText(null);
}

}
});
abrir.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JFileChooser chooser = new JFileChooser();
int returnVal = chooser.showOpenDialog(null);

if(returnVal == JFileChooser.APPROVE_OPTION){
f = chooser.getSelectedFile();
}
try{
RandomAccessFile file = new RandomAccessFile(f,"rw");
String linha = "";
StringBuffer sTxt = new StringBuffer();
while((linha = file.readLine()) != null) {
sTxt.append(linha+"\n");
}
texto.setText(sTxt.toString());
file.seek(0);
}catch(FileNotFoundException ex){}
catch(IOException ex){}
}
});
salvar.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try{
Fsalvar.show();
if (Fsalvar.getFile()==null)
return;
String nome = Fsalvar.getDirectory()+Fsalvar.getFile();
FileWriter out = new FileWriter(nome);
out.write(texto.getText());
out.close();
}catch(java.io.IOException exc){
}
}
});
//Configura o Menu Ajuda
ajuda = new JMenu("Help");
ajuda.setMnemonic('H');

exibir = new JMenuItem("Exibir Ajuda");
sobre = new JMenuItem("Sobre o Bloco de Notas");

ajuda.add(exibir);
arquivo.addSeparator();
ajuda.add(sobre);

//Configura o Menu Formatar

formatar = new JMenu("Formatar");
formatar.setMnemonic('F');

String nomeFonte[] = {"Arial","Comic Sans MS","Verdana"};
String nomeEstilo[] = {"Negrito","Itálico","Negrito/Itálico"};
String tamanhoFonte[] = {"8","12","16","20"};

fonts = new JRadioButtonMenuItem[nomeFonte.length];
grupoFonte = new ButtonGroup();

fonte = new JMenu("Fonte");
formatar.add(fonte);

estiloFonte = new JMenu("Estilo da Fonte");
formatar.add(estiloFonte);

tamFonte = new JMenu("Tamanho");
formatar.add(tamFonte);

for(int i = 0; i<fonts.length; i++) {
fonts[i] = new JRadioButtonMenuItem(nomeFonte[i]);
fonte.add(fonts[i]);
grupoFonte.add(fonts[i]);
}

JMenuBar bar = new JMenuBar();
setJMenuBar(bar);
bar.add(arquivo);
bar.add(formatar);
bar.add(ajuda);

JScrollPane scroll = new JScrollPane(texto);
texto.setFont(new Font("TimesRoman", Font.PLAIN, 14));

scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
texto.setLineWrap(true);
add(scroll);
}
public static void main(String[] args) {

BlocoDeNotas bloco = new BlocoDeNotas();
bloco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
bloco.setSize(630,450);
bloco.setVisible(true);
}
}



  


2. Re: Bloco de Notas

vitor
sonictk

(usa Ubuntu)

Enviado em 04/11/2011 - 14:49h

Acho que vai ser algo assim:


texto.setFont(new java.awt.Font(Font.SANS_SERIF, Font.ITALIC, 20));






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts