Você está aqui: Java ::: Classes e Componentes ::: JTree |
Entenda a classe DefaultTreeModelQuantidade de visualizações: 8557 vezes |
A classe DefaultTreeModel é a implementação concreta padrão da interface TreeModel. Ela define a raiz e cada nó da JTree como instâncias da interface TreeNode. Esta classe também mantém uma EventListenerList de TreeModelListeners e fornece vários métodos para disparar TreeModelEvents quando qualquer coisa na JTree mudar. Um flag asksAllowedChildren é mantido a fim de saber se um nó permite que nós filhos sejam adicionados antes mesmo de tentarmos efetuar a operação. Outros métodos também definidos por esta classe são:
|
![]() |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercício Resolvido de Java - Escreva um programa Java que informa a quantidade de dias em um determinado mês e ano. Seu código deverá solicitar ao usuário o número correspondenteQuantidade de visualizações: 965 vezes |
Exercícios Resolvidos de Java - Escreva um programa Java que informa o número de dias em um determinado mês e ano. Seu código deverá solicitar ao usuário o número correspondente Pergunta/Tarefa: Escreva um programa Java que informa a quantidade de dias em um determinado mês e ano. Seu código deverá solicitar ao usuário o número correspondente ao mês, na faixa de 1 a 12, e o ano. Verifique também se o ano é bissexto ou não. Sua saída deverá ser parecida com: Informe o mês (1 - 12): 4 Informe o ano: 2022 Abril de 2022 possui 30 dias. Veja a resolução comentada deste exercício usando Java: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // vamos usar a classe Scanner para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // para guardar a quantidade de dias no mês int quantDiasNoMes = 0; // para o nome do mês String nomeMes = ""; // vamos ler o número do mês System.out.print("Informe o mês (1 - 12): "); int mes = Integer.parseInt(entrada.nextLine()); // vamos ler o ano System.out.print("Informe o ano: "); int ano = Integer.parseInt(entrada.nextLine()); // agora usamos um switch para tratar o mês informado switch (mes){ case 1: nomeMes = "Janeiro"; quantDiasNoMes = 31; break; case 2: nomeMes = "Fevereiro"; // é ano bissexto? if ((ano % 400 == 0) || ((ano % 4 == 0) && (ano % 100 != 0))) { quantDiasNoMes = 29; } else { quantDiasNoMes = 28; } break; case 3: nomeMes = "Março"; quantDiasNoMes = 31; break; case 4: nomeMes = "Abril"; quantDiasNoMes = 30; break; case 5: nomeMes = "Maio"; quantDiasNoMes = 31; break; case 6: nomeMes = "Junho"; quantDiasNoMes = 30; break; case 7: nomeMes = "Julho"; quantDiasNoMes = 31; break; case 8: nomeMes = "Agosto"; quantDiasNoMes = 31; break; case 9: nomeMes = "Setembro"; quantDiasNoMes = 30; break; case 10: nomeMes = "Outubro"; quantDiasNoMes = 31; break; case 11: nomeMes = "Novembro"; quantDiasNoMes = 30; break; case 12: nomeMes = "Desembro"; quantDiasNoMes = 31; break; } // mostra o resultado System.out.println(nomeMes + " de " + ano + " possui " + quantDiasNoMes + " dias."); System.out.println("\n"); } } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercício Resolvido de Java - Como calcular o restante de um salário após o pagamento de duas contas com jurosQuantidade de visualizações: 4834 vezes |
Pergunta/Tarefa: Cintia acaba de receber seu salário mas precisa pagar duas contas atrasadas. Por causa do atraso, ela deverá pagar multa de 2% sobre cada conta. Faça um programa que leia o valor do salário e das duas contas e que calcule e mostre quanto restará do salário de Cintia. Sua saída deverá ser parecida com: Informe o salário: 1350 Valor da primeira conta: 140 Valor da segunda conta: 300 Total das contas sem juros: 440.0 Total dos juros: 8.8 Total das contas com juros: 448.8 Sobra do salário: 901.2 Veja a resolução comentada deste exercício usando Java: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos pedir que o usuário informe o valor do salário e das duas contas System.out.print("Informe o salário: "); double salario = Double.parseDouble(entrada.nextLine()); System.out.print("Valor da primeira conta: "); double conta1 = Double.parseDouble(entrada.nextLine()); System.out.print("Valor da segunda conta: "); double conta2 = Double.parseDouble(entrada.nextLine()); // total a ser pago nas duas contas sem os juros double totalContas = conta1 + conta2; // calcula os juros double totalJuros = totalContas * 0.02; // total a ser pago com juros double totalContasComJuros = totalContas + totalJuros; // sobra do salário double sobraSalario = salario - totalContasComJuros; // mostra os resultados System.out.println("\nTotal das contas sem juros: " + totalContas); System.out.println("Total dos juros: " + totalJuros); System.out.println("Total das contas com juros: " + totalContasComJuros); System.out.println("Sobra do salário: " + sobraSalario); System.out.println("\n"); } } |
Java ::: Classes e Componentes ::: JComboBox |
Como retornar a quantidade de itens em um JComboBox do Java SwingQuantidade de visualizações: 8226 vezes |
Nesta dica mostrarei como podemos usar a função getItemCount() da classe JComboBox do Java Swing para obtermos a quantidade de itens no controle. Note que usei um botão JButton no exemplo também. Ao clicarmos no botão, uma mensagem JOptionPane.showMessageDialog será exibida contendo a quantidade de itens no JComboBox. Veja o código Java Swing completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Estudos extends JFrame{ JComboBox combo; public Estudos(){ super("A classe JComboBox"); Container c = getContentPane(); c.setLayout(new FlowLayout(FlowLayout.LEFT)); // Cria os itens da lista String nomes[] = {"Carlos", "Marcelo", "Fabiana", "Carolina", "Osmar"}; // Cria o JComboBox combo = new JComboBox(nomes); // Um botão que permite obter a quantidade de itens JButton btn = new JButton("Quantidade de itens"); btn.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ int quant = combo.getItemCount(); JOptionPane.showMessageDialog(null, "O JComboBox contém " + quant + " itens"); } } ); // Adiciona o JComboBox à janela c.add(combo); // Adiciona o botão à janela c.add(btn); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } |
Java ::: Coleções (Collections) ::: LinkedList |
Java Collections - Como adicionar elementos no final de uma LinkedList usando os métodos add() e addLast()Quantidade de visualizações: 9213 vezes |
O trecho de código a seguir mostra como adicionar elementos no final de um lista ligada (objeto da classe LinkedList). Para isso podemos usar os métodos add() e addLast(). Ambos possuem a mesma funcionalidade. É claro que addLast() representa melhor a idéia de adicionar elementos no final da lista ligada. Veja ainda como usar um ListIterator para percorrer a lista e exibir os elementos. Outra técnica que você perceberá é o uso de unboxing dentro do laço while:---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- import java.util.*; public class Estudos{ public static void main(String args[]){ // Cria uma LinkedList de inteiros LinkedList<Integer> valores = new LinkedList<Integer>(); // adiciona valores no final da lista ligada // usando os métodos add() e addLast(). Lembre-se // de que ambos fornecem a mesma funcionalidade valores.add(56); valores.addLast(3); valores.add(28); // obtém um ListIterator para percorrer toda a // lista ligada, começando no primeiro elemento ListIterator<Integer> iterador = valores.listIterator(0); while(iterador.hasNext()){ // note o unboxing aqui int valor = iterador.next(); System.out.println(valor); } } } Ao executar este código Java nós teremos o seguinte resultado: 56 3 28 |
Java ::: Dicas & Truques ::: Mouse e Teclado |
Computação Gráfica em Java - Código completo Java Swing para um programa de desenho usando eventos do mouseQuantidade de visualizações: 31460 vezes |
Nesta dica apresento um código completo para um programa de desenho usando os eventos os mouse, feito em Java Swing. Veja que o único evento que tivemos que implementar foi mouseDragged, que é disparado quando o usuário arrasta o mouse com o botão direito ou esquerdo pressionado. Observe também a criação de uma classe JPanel personalizada que servirá como painel de desenho. Fique atento à forma como subscrevemos o método paintComponent() na classe PainelDesenho para obtermos o objeto Graphics que nos permitirá desenhar na superfície do JPanel. O resultado é exibido na imagem abaixo: ![]() E aqui está o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package arquivodecodigos; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Estudos extends JFrame{ public Estudos(){ super("Eventos do Mouse e Teclado"); Container c = getContentPane(); PainelDesenho painel = new PainelDesenho(); c.add(painel, BorderLayout.CENTER); c.add(new JLabel("Arraste o mouse para desenhar..." ), BorderLayout.SOUTH ); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } class PainelDesenho extends JPanel{ private int quantPontos = 0; private Point pontos[] = new Point[10000]; public PainelDesenho(){ this.setBackground(Color.WHITE); this.addMouseMotionListener( new MouseMotionAdapter(){ public void mouseDragged(MouseEvent e){ if(quantPontos < pontos.length){ pontos[quantPontos] = e.getPoint(); quantPontos++; repaint(); } } } ); } @Override public void paintComponent(Graphics g){ super.paintComponent(g); for(int i = 0 ; i < quantPontos; i++) g.fillOval(pontos[i].x, pontos[i].y, 4, 4); } } |
Java ::: Dicas & Truques ::: Data e Hora |
Como retornar a diferença de dias entre duas datas em Java - Datas e horas em JavaQuantidade de visualizações: 10152 vezes |
Algumas vezes precisamos obter a diferença de dias entre duas datas em Java. Esta dica mostra como isso pode ser feito usando dois objetos da classe Date. Veja que usamos o método parse() da classe SimpleDateFormat para construir as duas datas e o método getTime() da classe Date para obter a quantidade de milisegundos desde 1º de janeiro de 1970 GMT armazenada em cada um dos objetos Date. O resto é um cálculo matemático bem simples:---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package arquivodecodigos; import java.util.*; import java.text.*; public class Estudos{ public static void main(String args[]){ try{ // constrói a primeira data DateFormat fm = new SimpleDateFormat("dd/MM/yyyy"); Date data1 = (Date)fm.parse("20/12/2019"); // constrói a segunda data fm = new SimpleDateFormat("dd/MM/yyyy"); Date data2 = (Date)fm.parse("25/01/2020"); // vamos obter a diferença em dias long diff = data2.getTime() - data1.getTime(); // exibe o resultado System.out.println("Primeira data: " + data1.toString()); System.out.println("Segunda data: " + data2.toString()); System.out.println("Diferença em dias = " + diff / (1000 * 60 * 60 * 24)); } catch(ParseException e){ System.out.println("Erro: " + e.getMessage()); } } } Ao executarmos este código Java nós teremos o seguinte resultado: Primeira data: Fri Dec 20 00:00:00 BRST 2019 Segunda data: Sat Jan 25 00:00:00 BRST 2020 Diferença em dias = 36 |
Java ::: Dicas & Truques ::: Threads |
Threads em Java - Como definir as prioridades das threads JavaQuantidade de visualizações: 12480 vezes |
Quando estamos trabalhando com threads em Java, precisamos estar cientes de que cada thread possui uma prioridade de execução. É por meio da prioridade de cada uma que o gerenciador de threads decidirá qual thread deverá ser executada primeiro. Por padrão, todas as threads possuem prioridade NORM_PRIORITY. Esta é uma constante que possui o valor 5 e está declarada na classe Thread. Além disso, cada thread herda automaticamente a prioridade da thread que a criou. As constantes MAX_PRIORITY (prioridade máxima), MIN_PRIORITY (prioridade mínima) e NORM_PRIORITY (prioridade normal) são usadas para definir as prioridades das threads Java. Veja um exemplo no qual temos duas threads. A primeira possui a prioridade máxima enquanto a segunda possui a prioridade mínima: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- // criamos uma classe que servirá como thread class MinhaThread extends Thread{ private String nome; public MinhaThread(String nome){ this.nome = nome; } public void run(){ for(int i = 1; i <= 20; i++){ System.out.println(nome + ": " + i); } } } public class Estudos{ public static void main(String[] args){ // vamos criar duas threads MinhaThread t1 = new MinhaThread("Thread 1"); t1.setPriority(Thread.MAX_PRIORITY); // prioridade máxima t1.start(); MinhaThread t2 = new MinhaThread("Thread 2"); t2.setPriority(Thread.MIN_PRIORITY); // prioridade mínima t2.start(); } } Execute este exemplo e veja como a segunda thread só é executada quando a primeira finaliza. Remova as linhas que definem a prioridade e note como o tempo de cada thread é novamente fracionado. É importante ter em mente que aqui estamos falando de um ambiente de processador único. Em ambientes de múltiplos processadores o comportamento pode ser diferente do abordado na dica. Não devemos confiar em prioridades de threads quando o objetivo é aguardar a finalização de uma thread e só então permitir o processamento das instruções contidas no método run() de outra thread. Para estes casos o recomendável é usar alguma forma para sinalizar as demais threads de que a thread atual concluiu sua tarefa. |
Java ::: Dicas & Truques ::: Sistema |
Java Avançado - Como obter a largura e altura da tela do seu computador em pixels usando o método getScreenSize() da classe Toolkit do JavaQuantidade de visualizações: 15331 vezes |
A classe Toolkit da linguagem Java nos fornece o método getScreenSize(), que retorna um objeto da classe Dimension contendo a largura e a altura da tela do nosso computador, em pixels. Veja o código Java completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package arquivodecodigos; import java.awt.*; public class Estudos{ public static void main(String[] args){ // obtém o tamanho da tela Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); System.out.println("O tamanho da tela é: " + dim.width + " pixels de largura por " + dim.height + " pixels de altura."); } } Ao executar este código nós teremos o seguinte resultado: O tamanho da tela é: 1366 pixels de largura por 768 pixels de altura. |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Responsabilidade civil no código de defesa do consumidor Um consumidor compra um ferro de passar roupa e quando está manejando o ferro pela primeira vez ele explode e o atinge, causando-lhe danos morais e estéticos. O consumidor é levado ao hospital para tratar alguns ferimentos. Nesse caso, a ação indenizatória deverá ser proposta em face do fabricante no prazo de: A) prazo decadencial de 5 anos. B) prazo prescricional de 30 dias. C) prazo decadencial de 90 dias. D) prazo prescricional de 5 anos. E) prazo prescricional de 90 dias. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Qual é a forma correta de se invocar uma função JavaScript chamada "calcular"? A) call function calcular(); B) calcular(); C) def call calcular(); D) call calcular(); Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira |
Evolução das estruturas Os materiais e os sistemas construtivos e estruturais têm, no último século, apresentado uma enorme evolução, com inúmeras tecnologias inovadoras. Contudo, se recuarmos há 125 anos atrás, a história da arquitetura anterior a esta época estaria restrita às construções utilizando poucos materiais. Assinale abaixo a opção que melhor representa estes materiais: Selecione a resposta: A) Alvenaria e madeira. B) Madeira e aço. C) Madeira e pedra. D) Tijolo e madeira. E) Tijolo e aço. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Perfil de velocidade turbulento A Lei da Parede para a determinação do perfil de velocidade empírico-turbulento envolve a determinação da velocidade de atrito na subcamada viscosa. Além do método da Lei da Parede, quais outros métodos existem para estimar o perfil de velocidade turbulento? A) Fator de atrito de Darcy, Lei da Potência e Lei Logarítmica. B) Princípio de Arquimedes, Lei da Potência e Lei do Defeito da Velocidade. C) Lei Logarítmica, Lei do Defeito da Velocidade e Lei da Potência. D) Lei da Potência, Lei de Hooke e Lei do Defeito da Velocidade. E) Fator de atrito de Darcy, Lei Logarítmica e Princípio de Arquimedes. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira |
Estrutura e propriedade dos materiais A compreensão de muitas propriedades físicas dos materiais baseia-se no entendimento das forças existentes entre as moléculas. Em relação às ligações atômicas, assinale a alternativa correta. A) Cada ligação tem por objetivo fazer com que os átomos adquiram ligações metálicas. B) As ligações não costumam ocorrer concomitantemente em um mesmo material. C) Há três tipos de ligações diferentes: iônica, covalente e a força de Van der Waals. D) As ligações atômicas em alguns materiais podem ser puramente iônicas ou covalentes. E) A ligação metálica se dá por meio de uma aproximação muito intensa dos elementos. 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 |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |