Estou com desenvolvendo um sistema de controle ortodontico e preciso de ajuda pra desenvolver um pequeno editor de textos, que seja incorporado na aplicação, com ferramentas como stilo do texto, tamanho, cor, fonte, pra editar e imprimir atestados médicos e outros documentos direto do meu sistema. Se alguem puder ajudar eu agradeço.
certa vez fiz um editor de texto txt bem simples só por diversão rsrsrs
acho que pode ser util
segue o código
importjava.awt.BorderLayout;importjava.awt.Dimension;importjava.awt.FlowLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileWriter;importjava.io.IOException;importjava.util.Scanner;importjavax.swing.JButton;importjavax.swing.JFileChooser;importjavax.swing.JFrame;importjavax.swing.JOptionPane;importjavax.swing.JPanel;importjavax.swing.JScrollPane;importjavax.swing.JTextArea;importjavax.swing.border.TitledBorder;publicclassEditorTxtextendsJFrame{privateJPanelpanelCentral=newJPanel();privateJPanelpanelInferior=newJPanel();privateJScrollPanejscroll=newJScrollPane();privateJTextAreaareaTexto=newJTextArea();privateJButtonsalvar=newJButton("Salvar");privateJButtonabrir=newJButton("Abrir");privateJButtonsair=newJButton("Sair");privateStringarquivo;publicEditorTxt(){initComponents();this.setTitle("Editor Txt Simples");this.setSize(300,250);this.setMinimumSize(newDimension(300,250));this.setLocationRelativeTo(null);this.setVisible(true);}publicvoidinitComponents(){this.setLayout(newBorderLayout());panelCentral.setBorder(newTitledBorder("Texto"));panelCentral.setLayout(newBorderLayout());jscroll.add(areaTexto);jscroll.setViewportView(areaTexto);panelCentral.add(jscroll,BorderLayout.CENTER);panelInferior.setLayout(newFlowLayout(FlowLayout.RIGHT));panelInferior.add(abrir);panelInferior.add(salvar);panelInferior.add(sair);this.add(panelCentral,BorderLayout.CENTER);this.add(panelInferior,BorderLayout.PAGE_END);abrir.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevt){Action(evt);}});salvar.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevt){Action(evt);}});sair.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevt){Action(evt);}});}publicvoidAction(ActionEventevt){if(evt.getSource().equals(abrir)){JFileChooserfileChooser=newJFileChooser();fileChooser.showOpenDialog(this);fileChooser.setVisible(true);ler(fileChooser.getSelectedFile());}elseif(evt.getSource().equals(salvar)){escrever(newFile(arquivo));}elseif(evt.getSource().equals(sair)){System.exit(0);}}publicvoidler(Filefile){arquivo=file.getAbsolutePath();try{areaTexto.setText("");Scannerscanner=newScanner(file);while(scanner.hasNext()){areaTexto.append(scanner.nextLine()+"\n");}scanner.close();}catch(FileNotFoundExceptione){JOptionPane.showMessageDialog(this,"Arquivo não encontrato","ERRO",JOptionPane.ERROR_MESSAGE);}}publicvoidescrever(Filefile){try{FileWriterescrever=newFileWriter(file);escrever.write(areaTexto.getText());escrever.close();}catch(IOExceptione){JOptionPane.showMessageDialog(this,"Não foi possível salvar o arquivo","ERRO",JOptionPane.ERROR_MESSAGE);}}publicstaticvoidmain(Stringargs[]){EditorTxtedit=newEditorTxt();edit.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}
T
thiago_spdvr
até ai tudo bem, mas queria saber se alguem tem alguma referencia de como implementar estilo (negrito, italico e sublinhado), como colocar as fontes dentro de uma combobox, etc. Dei uma olhada na documentação que o “roger_rf” postou, mas ainda não vi como implementar essas funcionalidades.
Seria o que o Marlon Meneses postou com as outras funcionalidades.
D
Don
Amigo dê uma olhada nas classes StyledDocument e StyleConstants vai encontrar o que precisa.
D
Don
Fiz um exemplo alterando cor, fonte, tamanho, negrito,itálico,sublinhado
Quero fazer um editor de texto que insira imagens tbm
Procurando nos foruns eu consegui fazer um bem simples…mas a unica coisa que consigo inserir são botoes. e não uma imagem.
Quero que o usuario escolha uma imagem de qualquer diretorio e a adicione no textpane.
Segue o codigo atual
importjava.awt.BorderLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.ImageIcon;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JPanel;importjavax.swing.JScrollPane;importjavax.swing.JTextPane;publicclassPaneInsertionMethods{publicstaticvoidmain(String[]args){finalJTextPanepane=newJTextPane();// button to insert a buttonJButtonbuttonButton=newJButton("Inserir Imagem");buttonButton.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevent){pane.insertComponent(newJButton("teste"));}});// layout da caixa de TextoJPanelbuttons=newJPanel();buttons.add(buttonButton);JFrameframe=newJFrame("Caixa de Texto");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.getContentPane().add(pane,BorderLayout.CENTER);frame.getContentPane().add(buttons,BorderLayout.BEFORE_FIRST_LINE);frame.setSize(500,600);frame.setVisible(true);JScrollPanescrollPane=newJScrollPane(pane);frame.getContentPane().add(scrollPane,BorderLayout.CENTER);}}
Abraços…
R
riczanca89
Dei uma modificada pra tentar abrir uma janela para selecionar o arquivo desejado mas está dando erro no showOpenDialog
segue codigo:
mportjava.awt.BorderLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.ImageIcon;importjavax.swing.JButton;importjavax.swing.JFileChooser;importjavax.swing.JFrame;importjavax.swing.JPanel;importjavax.swing.JScrollPane;importjavax.swing.JTextPane;publicclassEditorTexto{publicstaticvoidmain(String[]args){finalJTextPanepane=newJTextPane();// button to insert a buttonJButtonbotao=newJButton("Inserir Imagem");botao.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevent){JFileChooserarquivo=newJFileChooser();arquivo.showOpenDialog(this);arquivo.setVisible(true);}});// layout da caixa de TextoJPanelbuttons=newJPanel();buttons.add(botao);JFrameframe=newJFrame("Caixa de Texto");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.getContentPane().add(pane,BorderLayout.CENTER);frame.getContentPane().add(buttons,BorderLayout.BEFORE_FIRST_LINE);frame.setSize(500,600);frame.setVisible(true);JScrollPanescrollPane=newJScrollPane(pane);frame.getContentPane().add(scrollPane,BorderLayout.CENTER);}}