Você está aqui: Java ::: Classes e Componentes ::: JTextArea

Como excluir uma determinada linha de um JTextArea

Quantidade de visualizações: 10318 vezes
// Este exemplo mostra como excluir a terceira
// linha de um JTextArea

import javax.swing.*;
import javax.swing.text.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;

public class Estudos extends JFrame{
  JTextArea textArea;
  JButton btn;

  public Estudos() {
    super("Excluir uma determinada linha de um JTextArea");
    Container c = getContentPane();
    FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
    c.setLayout(layout);
    
    textArea = new JTextArea(10, 20);
    textArea.setLineWrap(true);
    
    btn = new JButton("Excluir a 3ª Linha");
    btn.addActionListener(
       new ActionListener(){
          public void actionPerformed(ActionEvent e){
            int quant = textArea.getLineCount();
            ArrayList lista = new ArrayList();
            
            // obtém todas as linhas de texto do JTextArea
            for(int i = 0; i < quant; i++){
                try{
                    int inicio = textArea.getLineStartOffset(i);
                    int fim = textArea.getLineEndOffset(i);
                    String linha = textArea.getText(inicio, fim - inicio);
                    lista.add(linha);
                }
                catch(BadLocationException ble){
                    // possiveis erros são tratados aqui
                } 
            }
            
            // limpa o JTextArea
            textArea.setText("");
            
            // queremos excluir a linha 3 
            StringBuffer texto = new StringBuffer();
            for(int i = 0; i < lista.size(); i++) { 
                if(i != 2) // (linha a ser excluida - 1)
                texto.append(lista.get(i).toString()); 
            }
            
            textArea.setText(texto.toString());   
          }
       });
       
    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);
  }
}


Link para compartilhar na Internet ou com seus amigos:

Java ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções

Exercícios Resolvidos de Java - Métodos - Um método estático que recebe um vetor de inteiros e o exibe

Quantidade de visualizações: 2359 vezes
Exercício Resolvido de Java - Métodos - Um método estático que recebe um vetor de inteiros e o exibe

Pergunta/Tarefa:

Escreva um método Java que recebe um vetor de inteiros e o exibe. Este método deverá ter a seguinte assinatura:

public static void exibirVetor(int[] vetor){
  // sua implementação aqui
}
Este método deverá, obrigatoriamente, estar na classe principal (aquela que contém o método main()). Para testar o método, declare e construa um vetor de 5 inteiros. Em seguida peça ao usuário para informar os valores do vetor e o passe para o método exibirVetor().

Sua saída deverá ser parecida com:



Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console:

Este código completo faz parte do nosso E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas.
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book



Java ::: Dicas & Truques ::: Programação Orientada a Objetos

Como criar e usar métodos estáticos em suas classes Java - Programação Orientada a Objetos em Java - Java OOP

Quantidade de visualizações: 13415 vezes
Como já vimos em outras dicas desta seção, uma classe Java possui propriedades (variáveis) e métodos (funções). Veja a seguinte declaração de uma classe Produto:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package estudos;

// declaração da classe Produto
public class Produto {
  private String nome;
  private double preco;

  public String getNome() {
    return nome;
  }

  public void setNome(String nome) {
    this.nome = nome;
  }

  public double getPreco() {
    return preco;
  }

  public void setPreco(double preco) {
    this.preco = preco;
  }
}

Aqui cada instância da classe Produto terá suas próprias variáveis nome e preco e os métodos que permitem acesso e alteração destas variáveis também estão disponíveis a cada instância.

Há, porém, situações nas quais gostaríamos que um determinado método estivesse atrelado à classe e não à cada instância individual. Desta forma, é possível chamar um método de uma classe sem a necessidade da criação de instâncias da mesma. O método main() presente em todas as aplicações Java é um bom exemplo deste tipo de método.

Métodos estáticos em Java podem ser criados por meio do uso da palavra-chave static. É comum tais métodos serem declarados com o modificador public, o que os torna acessíveis fora da classe na qual estes foram declarados. Veja um exemplo:

Código para Pessoa.java:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package estudos;

// classe Pessoa com duas variáveis privadas e
// um método estático
public class Pessoa {
  private String nome;
  private int idade;

  // um método estático que permite verificar a validade
  // de um número de CPF
  public static boolean isCPFValido(String cpf){
    // alguns cálculos aqui
    return true;
  }
}

Veja agora como podemos chamar o método isCPFValido() sem a necessidade da criação de uma nova instância da classe Pessoa:

Código para Main.java:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package estudos;

public class Main {
  public static void main(String[] args) {
    // vamos efetuar uma chamada ao método isCPFValido() sem
    // criar uma instância da classe Pessoa
    if(Pessoa.isCPFValido("12345")){
      System.out.println("CPF Válido");
    }
    else{
      System.out.println("CPF Inválido");
    }
  }
}

Note que o método estático isCPFValido() da classe Pessoa foi declarado assim:

public static boolean isCPFValido(String cpf);

Desta forma, podemos chamá-lo a partir de código externo à classe sem a necessidade de criar uma nova instância da mesma. Veja:

if(Pessoa.isCPFValido("12345")){}

É importante notar que métodos estáticos não possuem acesso a variáveis e métodos não estáticos da classe, tampouco ao ponteiro this (que só existe quando criamos instâncias da classe). Assim, o trecho de código abaixo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// um método estático que permite verificar a validade
// de um número de CPF
public static boolean isCPFValido(String cpf){
  // alguns cálculos aqui

  // vamos acessar a variável não estática nome
  nome = "Osmar J. Silva";
    
  return true;
}

vai gerar o seguinte erro de compilação:

Uncompilable source code - non-static variable nome cannot be referenced from a static context.

Se usarmos this.nome a mensagem de erro de compilação será:

Uncompilable source code - non-static variable this cannot be referenced from a static context.

Métodos estáticos são úteis quando precisamos criar classes que atuarão como suporte, nas quais poderemos chamar funções (métodos) auxiliares sem a necessidade de criar novas instâncias a cada vez que estas funções forem necessárias.


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Vetores e Matrizes - Exercícios Resolvidos de Java - Ex. 12 - Declarar e construir um vetor, pedir ao usuário para informar os valores dos elementos e mostrar o maior e o menor valor armazenado no vetor

Quantidade de visualizações: 9987 vezes
Pergunta/Tarefa:

Escreva um programa Java GUI ou console que declara e constrói um vetor de 10 inteiros. Em seguida peça ao usuário para informar os valores para os elementos do vetor e, uma vez preenchida, percorra o vetor e mostre os valores armazenados. Para finalizar varra o vetor novamente e mostre os valores do maior e do menor elemento. A declaração e construção do vetor pode ser feita da seguinte forma:

// declara e constrói um vetor de 10 inteiros
int valores[] = new int[10];
Dica: Na resolução abaixo eu usei um objeto Scanner para ler os valores do vetor. Se preferir, use um objeto da classe JOptionPane para leitura.

Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console:

Este código completo faz parte do nosso E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas.
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book


Uma idéia na resolução deste exercício é assumir que o primeiro elemento do vetor possui tanto o maior quanto o menor valor.


Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 67 usuários muito felizes estudando em nosso site.