Você está aqui: Java ::: Classes e Componentes ::: JTextArea |
Java Swing - Como detectar alterações no conteúdo de um JTextAreaQuantidade de visualizações: 8970 vezes |
Nesta dica veremos como é possível escrever uma aplicação Java Swing que detecta quando o conteúdo de um controle JTextArea é alterado. Para isso nós vamos fazer a janela JFrame implementar a interface DocumentListener e fornecer comportamento para seus método insertUpdate(), removeUpdate() e changedUpdate(). O resultado do código é refletido na imagem abaixo: E agora o código Java Swing completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import javax.swing.*; import java.awt.*; import javax.swing.event.*; public class Estudos extends JFrame implements DocumentListener{ JTextArea textArea; JLabel aviso; public Estudos() { super("Detectando alterações em um JTextArea"); Container c = getContentPane(); FlowLayout layout = new FlowLayout(FlowLayout.LEFT); c.setLayout(layout); textArea = new JTextArea(10, 20); textArea.setLineWrap(true); textArea.getDocument().addDocumentListener(this); aviso = new JLabel("Aviso de alterações"); c.add(textArea); c.add(aviso); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void insertUpdate(DocumentEvent e) { aviso.setText("Aviso de Inserção: " + e.toString()); } public void removeUpdate(DocumentEvent e) { aviso.setText("Aviso de Remoção: " + e.toString()); } public void changedUpdate(DocumentEvent e) { // pode obter os dois anteriores aqui // aviso.setText("Aviso de Alteração: " + e.toString()); } } |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Exercício Resolvido de Java - Faça um programa que sorteie um número aleatório entre 0 e 500 e pergunte ao usuário qual é o "número mágico". O programa deveráQuantidade de visualizações: 262 vezes |
Pergunta/Tarefa: Faça um programa que sorteie um número aleatório entre 0 e 500 e pergunte ao usuário qual é o "número mágico". O programa deverá indicar se a tentativa efetuada pelo usuário é maior ou menor que o número mágico e contar o número de tentativas. Quando o usuário conseguir acertar o número o programa deverá classificar o usuário como: De 1 a 3 tentativas: muito sortudo De 4 a 6 tentativas: sortudo De 7 a 10 tentativas: normal > 10 tentativas: tente novamente Sua saída deverá ser parecida com: Adivinhe o número mágico: 100 Tente um número menor. Adivinhe o número mágico: 50 Tente um número maior. Adivinhe o número mágico: 60 Tente um número maior. Adivinhe o número mágico: 80 Tente um número maior. Adivinhe o número mágico: 90 Tente um número maior. Adivinhe o número mágico: 95 Tente um número menor. Adivinhe o número mágico: 94 Tente um número menor. Adivinhe o número mágico: 93 Tente um número menor. Adivinhe o número mágico: 92 Você acertou o número em 9 tentativas. Classificação: Normal Veja a resolução comentada deste exercício usando Java: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.util.Random; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // variáveis usadas na resolução do problema int numero_magico, palpite, tentativas = 0; boolean acertou = false; // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos sortear o número entre 0 e 500 Random rand = new Random(); numero_magico = rand.nextInt(501); // um laço que repete enquanto o usuário não // acertar o número mágico while (!acertou) { System.out.print("Adivinhe o número mágico: "); palpite = Integer.parseInt(entrada.nextLine()); // registra essa tentativa tentativas = tentativas + 1; // o usuário acertou o número mágico? if (palpite == numero_magico) { System.out.println("Você acertou o número em " + tentativas + " tentativas."); // mostra a classificação do usuário if (tentativas <= 3) { System.out.println("Classificação: Muito Sortudo"); } else if ((tentativas >= 4) && (tentativas <= 6)) { System.out.println("Classificação: Sortudo"); } else if ((tentativas >= 7) && (tentativas <= 10)) { System.out.println("Classificação: Normal"); } else { System.out.println("Classificação: Tente Novamente"); } // sai do laço acertou = true; } else { // indica se o palpite é maior ou menor if (palpite < numero_magico) { System.out.println("Tente um número maior.\n"); } else { System.out.println("Tente um número menor.\n"); } } } } } |
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como usar o modificador final em classes, variáveis e métodos Java - Programação Orientada a Objetos em JavaQuantidade de visualizações: 13397 vezes |
O modificador final pode ser usado com classes, variáveis e métodos. É claro que o significado varia dependendo do uso. Por exemplo, ao marcarmos uma variável com o modificador final, estamos na verdade criando uma constante, ou seja, uma variável cujo conteúdo não pode ser alterado durante a execução do programa. Veja:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Estudos{ static final int VALOR = 45; public static void main(String args[]){ // vamos tentar alterar o valor da // constante VALOR = 10; } } Ao tentarmos compilar este programa teremos a seguinte mensagem de erro: Estudos.java:7: cannot assign a value to final variable VALOR VALOR = 10; ^ 1 error Tenha em mente, porém, que quando uma variável marcada como final é uma referência a um objeto, é a referência que não poderá ser alterada. As propriedades do objeto para a qual ela aponta poderão sofrer alterações, exceto se estes também estiverem marcados como final. Quando aplicado a classes, o modificador final garante que a classe não poderá ser extendida, ou seja, não é possível criar uma classe derivada a partir de uma classe marcada como final. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // superclasse final class Pessoa{ public String nome; } // subclasse class Aluno extends Pessoa{ public String matricula; } public class Estudos{ public static void main(String args[]){ // Cria um objeto da classe Aluno Aluno a = new Aluno(); } } Ao tentarmos compilar este código teremos a seguinte mensagem de erro: Estudos.java:7: cannot inherit from final Pessoa class Aluno extends Pessoa{ ^ 1 error Um método marcado como final não pode ser sobrescrito. Veja um exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // superclasse class Pessoa{ protected String nome; public final String getNome(){ return this.nome; } } // subclasse class Aluno extends Pessoa{ // estamos sobrescrevendo o método // herdado da superclasse public final String getNome(){ return "Aluno: " + this.nome; } } public class Estudos{ public static void main(String args[]){ // Cria um objeto da classe Aluno Aluno a = new Aluno(); } } Ao tentarmos compilar este código teremos a seguinte mensagem de erro: Estudos.java:14: getNome() in Aluno cannot override getNome() in Pessoa; overriden method is final public final String getNome(){ ^ 1 error Resumindo: variáveis marcadas com final não poder sofrer alterações. Classes marcadas como final não podem ter classes derivadas. Métodos marcados como final não podem ser sobrescritos. |
Java ::: Pacote java.lang ::: String |
Java para iniciantes - Como usar o método replace() da classe String para efetuar a substituição de caracteres em uma stringQuantidade de visualizações: 9471 vezes |
Em algumas situações gostaríamos de substituir caracteres (não substrings) em uma string. Isso pode ser feito por meio do método replace() da classe String. Veja sua assinatura:public String replace(char oldChar, char newChar) Veja um trecho de código no qual substituímos todas as letras "a" por "e" e retornamos uma nova string com as substituições: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Estudos { public static void main(String[] args) { String frase = "Programar em Java é muito bom"; System.out.println("Frase original: " + frase); // vamos substituir todas as letras "a" por "e" frase = frase.replace('a', 'e'); System.out.println("Depois da substituição: " + frase); } } Após a execução deste código teremos o seguinte resultado: Frase original: Programar em Java é muito bom Depois da substituição: Progremer em Jeve é muito bom |
Vamos testar seus conhecimentos em |
Vigas a flexão simples: seções retangulares As ações permanentes atuam na estrutura durante toda a sua vida útil, podendo apresentar poucas variações. Em vigas de concreto armado, essas ações normalmente são os carregamentos de paredes, das lajes apoiadas sobre elas e do seu próprio peso. Imagine uma viga de concreto V (15x40) que sustenta uma parede com 18cm de espessura e suporta duas lajes. O pé-direito da edificação é de 3,00m e tanto a viga que sustenta a parede quanto a no topo desta têm altura de 40cm. Considere que as reações de apoio das lajes nessa viga são de 3,55kN/m e 5,40kN/m. Nesse cenário, qual é o carregamento dessa viga? A) 10,45kN/m. B) 11,84kN/m. C) 13,89kN/m. D) 15,39kN/m. E) 16,15kN/m. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Materiais empregados para instalação de água fria e esgoto Os materiais utilizados em tubulação de água fria têm evoluído muito nos últimos anos, acompanhando a evolução tecnológica da Ciência dos Materiais. Os canos de água fria HDPE - polietileno - apresentam vantagens significativas. Assinale a alternativa que contém uma delas: A) São rígidos e, por isso, suportam grandes cargas, podendo ser usados com pouca espessura de parede. B) Podem ser pintados na cor desejada, o que reduz o custo na hora da marcação na obra. C) São mais leves do que as tubulações metálicas e flexíveis, além de terem uma vida útil superior quanto à resistência à oxidação. D) Elevada ductilidade e capacidade de serem soldados apenas por fricção, o que aumenta a resistência mecânica da junta. E) São de cor marrom, sendo utilizados para esgoto, a temperaturas de até 20ºC e escoamento de 75m.c.a. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual é a forma correta de se criar funções em Python? A) defun calcular(): B) def calcular(): C) void calcular(): D) def calcular(){} E) function calcular(): Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual o resultado da execução do seguinte código Python?# cria uma string palavra = "BRASIL" print("A letra é: {0}".format(palavra(2))) A) A letra é: A B) Um erro TypeError: 'str' object is not callable C) A letra é: R D) Um erro SyntaxError: EOL while scanning string literal E) A letra é: {0} Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em AutoCAD Civil 3D |
Questões de Certificação em AutoCAD Civil 3D Quando selecionamos um objeto do Civil 3D na janela de desenho, uma nova aba (ou ribbon) é exibida, com opções relacionadas ao tipo de objeto selecionado. Estamos falando da aba: A) Modify tab. B) Insert tab. C) Context tab. D) Manage tab. E) Analyze tab. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Java Servlets - Como compartilhar dados entre um Java Servlet e uma página JSP usando a requisição HttpServletRequest |
Códigos Fonte |
Software 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 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 |