Java ::: Classes e Componentes ::: JTextArea |
Java Swing - Como salvar o conteúdo de um JTextArea em um arquivo (usando um JFileChooser para localizar o diretório e arquivo)Quantidade de visualizações: 3 vezes |
|
Nesta dica mostrarei como é possível como salvar o conteúdo de um JTextArea em um arquivo texto. Essa operação é muito frequente em aplicações Java Swing. Note que faremos uso de um JFileChooser para localizar o arquivo no qual o conteúdo será gravado, ou poderemos informar o nome do arquivo. Observe também o uso do método write() da classe FileWriter para escrever o conteúdo no arquivo. Para finalizar, perceba que não fiz os devidos tratamentos de erros e as mensagens de sucesso das operações e coisas. Fica como exercício para você finalizar. Veja o código completo:
package arquivodecodigos;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class Estudos extends JFrame{
JTextArea textArea;
JButton btn;
public Estudos() {
super("Salvando o conteúdo de um JTextArea em um arquivo");
Container c = getContentPane();
FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
c.setLayout(layout);
textArea = new JTextArea(10, 20);
textArea.setLineWrap(true);
btn = new JButton("Salvar Arquivo");
btn.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
JFileChooser fc = new JFileChooser();
if(fc.showSaveDialog(Estudos.this) != JFileChooser.APPROVE_OPTION){
return;
}
File arquivo = fc.getSelectedFile();
if(arquivo == null){
return;
}
FileWriter writer = null;
try {
writer = new FileWriter(arquivo);
writer.write(textArea.getText());
}
catch(IOException ex){
// Possiveis erros aqui
}
finally {
if(writer != null){
try{
writer.close();
}
catch (IOException x){
// trate os erros aqui
}
}
}
}
}
);
c.add(textArea);
c.add(btn);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
|
C ::: Estruturas de Dados ::: Lista Ligada Simples |
Estruturas de Dados em C - Como remover um nó no final de uma lista ligada simples em C - Listas encadeadas em CQuantidade de visualizações: 2231 vezes |
Nesta dica mostraremos como é possível excluir o nó no fim (o último nó) de uma lista encadeada simples (singly linked list) em C. Veja a função:
// função que permite remover um nó no fim
// da lista, ou seja, o último nó da lista.
// A função retorna um ponteiro para o início da lista
struct No *remover_final(struct No *inicio){
struct No *n; // nó que será removido
// nó que antecede o nó a ser removido. Isso
// faz sentido, já que ele será o último nó
// agora
struct No *anterior;
n = inicio; // aponta para o início da lista
// varremos os nós da lista e paramos um nó antes do
// nó a ser excluído
while(n->proximo != NULL){
anterior = n; // anterior assume o lugar de n
n = n->proximo; // e n assume o seu próximo
}
// anterior passa a ser o último nó agora
anterior->proximo = NULL;
// mostra o nó removido
printf("\nNo removido: %d\n", n->valor);
free(n); // libera o nó que antes era o último
return inicio;
}
Note que a função recebe um ponteiro para o início da lista e retorna também um ponteiro para o início da lista. Tenha o cuidado de verificar se a lista não está vazia antes de tentar fazer a exclusão. No exemplo eu fiz isso na função main(). Veja a listagem completa abaixo:
#include <stdio.h>
#include <stdlib.h>
// estrutura Nó
struct No{
int valor;
struct No *proximo;
};
// fim da estrutura Nó
// função que permite exibir os valores de
// todos os nós da lista
void exibir(struct No *n){
if(n != NULL){
do{
printf("%d\n", n->valor);
n = n->proximo;
}while(n != NULL);
}
else
printf("A lista esta vazia\n\n");
}
// função que permite remover um nó no fim
// da lista, ou seja, o último nó da lista.
// A função retorna um ponteiro para o início da lista
struct No *remover_final(struct No *inicio){
struct No *n; // nó que será removido
// nó que antecede o nó a ser removido. Isso
// faz sentido, já que ele será o último nó
// agora
struct No *anterior;
n = inicio; // aponta para o início da lista
// varremos os nós da lista e paramos um nó antes do
// nó a ser excluído
while(n->proximo != NULL){
anterior = n; // anterior assume o lugar de n
n = n->proximo; // e n assume o seu próximo
}
// anterior passa a ser o último nó agora
anterior->proximo = NULL;
// mostra o nó removido
printf("\nNo removido: %d\n", n->valor);
free(n); // libera o nó que antes era o último
return inicio;
}
// função que permite inserir nós no
// final da lista.
// veja que a função recebe o valor a ser
// armazenado em cada nó e um ponteiro para o
// início da lista. A função retorna um
// ponteiro para o início da lista
struct No *inserir_final(struct No *n, int v){
// reserva memória para o novo nó
struct No *novo = (struct No*)malloc(sizeof(struct No));
novo->valor = v;
// verifica se a lista está vazia
if(n == NULL){
// é o primeiro nó...não deve apontar para
// lugar nenhum
novo->proximo = NULL;
return novo; // vamos retornar o novo nó como sendo o início da lista
}
else{ // não está vazia....vamos inserir o nó no final
// o primeiro passo é chegarmos ao final da lista
struct No *temp = n; // vamos obter uma referência ao primeiro nó
// vamos varrer a lista até chegarmos ao último nó
while(temp->proximo != NULL){
temp = temp->proximo;
}
// na saída do laço temp aponta para o último nó da lista
// novo será o último nó da lista...o campo próximo dele deve
// apontar para NULL
novo->proximo = NULL;
// vamos fazer o último nó apontar para o nó recém-criado
temp->proximo = novo;
return n; // vamos retornar o início da lista intacto
}
}
int main(int argc, char *argv[])
{
// declara a lista
struct No *inicio = NULL;
// vamos inserir quatro valores no final
// da lista
inicio = inserir_final(inicio, 45);
inicio = inserir_final(inicio, 3);
inicio = inserir_final(inicio, 98);
inicio = inserir_final(inicio, 47);
// vamos exibir o resultado
printf("Valores presentes na lista ligada antes da remocao:\n");
exibir(inicio);
// vamos remover o nó no fim da lista
if(inicio != NULL){
inicio = remover_final(inicio);
}
// vamos exibir o resultado
printf("\nValores presentes na lista ligada apos a remocao:\n");
exibir(inicio);
system("pause");
return 0;
}
Ao executar esse código você terá o seguinte resultado: Valores presentes na lista ligada antes da remocao: 45 3 98 47 No removido: 47 Valores presentes na lista ligada apos a remocao: 45 3 98 Pressione qualquer tecla para continuar. . . |
VB.NET ::: Dicas & Truques ::: Matemática e Estatística |
Como testar se um número é primo em VB.NETQuantidade de visualizações: 1624 vezes |
|
O Número Primo é o número maior que 1 e que só pode ser dividido por 1 e por ele mesmo, ou seja, números primos não podem ser divididos por outros números, a não ser por ele mesmo e pelo número 1. Dessa forma, 2, 3, 5, 7, 11, 13, 17, etc, são todos números primos. É importante observar que 0 e 1 não são números primos, e que o número 2 é o único número primo par. Veja agora um código VB.NET completo que pede para o usuário informar um número inteiro positivo e mostra uma mensagem indicando se o número informado é primo ou não:
Imports System
Module Program
Sub Main(args As String())
Dim primo As Boolean = True ' Vamos assumir que o número é primo
' vamos solicitar um número inteiro positivo
Console.Write("Informe um número inteiro positivo: ")
Dim numero As Integer = Integer.Parse(Console.ReadLine())
' o número é negativo?
If numero < 0 Then
Console.WriteLine("Número inválido.")
' é 0 ou 1?
ElseIf ((numero = 0) Or (numero = 1)) Then
Console.WriteLine("Número válido, mas não é primo.")
' passou até aqui. Vamos testar se o número é primo
Else
For i As Integer = 2 To (numero / 2) Step 1
' se passar no teste, não é primo
If (numero Mod i = 0) Then
primo = False ' recebe False
Exit For
End If
Next
If (primo) Then
Console.WriteLine("O número informado é primo")
Else
Console.WriteLine("O número informado não é primo")
End If
End If
Console.WriteLine("\nPressione qualquer tecla para sair...")
' pausa o programa
Console.ReadKey()
End Sub
End Module
Ao executar este código VB.NET nós teremos o seguinte resultado: Informe um número inteiro positivo: 9 O número informado não é primo |
Java ::: Classes e Componentes ::: JTree |
Java Swing - Como criar sua primeira JTree usando um vetor de nomes de linguagens de programaçãoQuantidade de visualizações: 13527 vezes |
|
Este exemplo mostra como criar uma JTree bem simples, e que servirá de base para a criação de aplicações Java Swing mais elaboradas. Os itens da JTree são fornecidos como um vetor de objetos, de forma que cada sub-vetor constitui uma seção da árvore. Os elementos (nós) são inseridos em suas devidas posições usando uma função recursiva. Veja o resultado na figura abaixo: ![]() E agora o código Java completo para o exemplo:
package arquivodecodigos;
import javax.swing.*;
import java.awt.*;
import javax.swing.tree.*;
public class Estudos extends JFrame{
public Estudos(){
super("Exemplo de uma JTree simples");
Object[] linguagens = {
"Linguagens",
new Object[]{
"Compiladas",
"C++",
"Delphi"
},
new Object[]{
"Interpretadas",
"JavaScript",
"Python",
"Ruby"
}
};
DefaultMutableTreeNode raiz = montar(linguagens);
JTree arvore = new JTree(raiz);
Container c = getContentPane();
c.setLayout(new FlowLayout());
JScrollPane scrollPane = new JScrollPane(arvore);
c.add(scrollPane);
setSize(400, 300);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private DefaultMutableTreeNode montar(Object[] hier){
DefaultMutableTreeNode no = new DefaultMutableTreeNode(hier[0]), filho;
for(int i = 1; i < hier.length; i++){
Object n_no = hier[i];
if(n_no instanceof Object[]){ // nó possui filhos
filho = montar((Object[])n_no);
}
else{
filho = new DefaultMutableTreeNode(n_no); // folha
}
no.add(filho);
}
return(no);
}
}
|
Nossas 20 dicas & truques de programação mais populares |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Java - Como converter Coordenadas Cartesianas para Coordenadas Polares usando Java - Java para Engenharia |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






