Você está aqui: Java ::: Classes e Componentes ::: JMenuBar, JMenu, JMenuItem e Afins |
Criando uma classe personalizada para tratar eventos de itens de menuQuantidade de visualizações: 10699 vezes |
/* Este exemplo mostra como criar uma classe personalizada para tratar as interações com os itens de menu. */ import javax.swing.*; import java.awt.event.*; public class Estudos extends JFrame{ JMenuItem item1, item2, item3; public Estudos(){ super("Menus"); // Cria a barra de menus JMenuBar barra = new JMenuBar(); setJMenuBar(barra); // Cria um menu JMenu opcoes = new JMenu("Opções"); // Gerenciador de eventos para os itens // do menu Gerenciador gerenciador = new Gerenciador(); // Cria três itens de menu item1 = new JMenuItem("Item 1"); item1.addActionListener(gerenciador); item2 = new JMenuItem("Item 2"); item2.addActionListener(gerenciador); item3 = new JMenuItem("Item 3"); item3.addActionListener(gerenciador); opcoes.add(item1); opcoes.add(item2); opcoes.add(item3); // Adiciona o menu à barra de menus barra.add(opcoes); setSize(300, 150); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } // classe personalizada para tratar as interações // com os itens de menu private class Gerenciador implements ActionListener{ public void actionPerformed(ActionEvent e){ String item = null; if(e.getSource() == item1) item = "Item 1"; else if(e.getSource() == item2) item = "Item 2"; else item = "Item 3"; String texto = "Sou o ítem \"" + item + "\" e acabei de ser selecionado pelo usuário"; JOptionPane.showMessageDialog(null, texto); } } } |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Ordenação e Pesquisa (Busca) |
Exercícios Resolvidos de Java - Como usar a Ordenação da Bolha em Java para ordenar os valores de um vetor em ordem crescente ou decrescenteQuantidade de visualizações: 3365 vezes |
Pergunta/Tarefa: A Ordenação da Bolha, ou ordenação por flutuação (literalmente "por bolha"), também chamada de Bubble Sort, é um algoritmo de ordenação dos mais simples. A ideia é percorrer o array diversas vezes, a cada passagem fazendo flutuar para o topo o maior elemento da sequência. Essa movimentação lembra a forma como as bolhas em um tanque de água procuram seu próprio nível, e disso vem o nome do algoritmo. No melhor caso, o algoritmo executa n operações relevantes, onde n representa o número de elementos do vetor. No pior caso, são feitas n2 operações. A complexidade desse algoritmo é de ordem quadrática. Por isso, ele não é recomendado para programas que precisem de velocidade e operem com quantidade elevada de dados. Escreva um programa Java que declara, constrói um vetor de 10 inteiros e peça para o usuário informar os valores de seus elementos. Em seguida use a ordenação da bolha para ordenar os elementos em ordem crescente. Sua saída deverá ser parecida com: Informe o valor para o índice 0: 84 Informe o valor para o índice 1: 23 Informe o valor para o índice 2: 9 Informe o valor para o índice 3: 5 Informe o valor para o índice 4: 11 Informe o valor para o índice 5: 3 Informe o valor para o índice 6: 50 Informe o valor para o índice 7: 7 Informe o valor para o índice 8: 2 Informe o valor para o índice 9: 73 O array informado foi: 84 23 9 5 11 3 50 7 2 73 O array ordenado é: 2 3 5 7 9 11 23 50 73 84 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.Scanner; public class Estudos { public static void main(String[] args) { // vamos declarar e construir um vetor de 10 elementos int valores[] = new int[10]; // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos pedir que o usuário informe os valores for(int i = 0; i < valores.length; i++){ System.out.print("Informe o valor para o índice " + i + ": "); valores[i] = Integer.parseInt(entrada.nextLine()); } // vamos mostrar o vetor informado System.out.println("\nO array informado foi:\n"); for(int i = 0; i < valores.length; i++){ System.out.print(valores[i] + " "); } // vamos ordenar os elementos do vetor usando a ordenação da bolha // laço externo de trás para frente for(int i = valores.length - 1; i > 1; i--){ for(int j = 0; j < i; j++){ // laço interno vai no fluxo normal if(valores[j] > valores[j + 1]){ // temos que trocá-los de lugar int temp = valores[j]; valores[j] = valores[j + 1]; valores[j + 1] = temp; } } } // vamos exibir o vetor já ordenado System.out.println("\n\nO array ordenado é:\n"); for(int i = 0; i < valores.length; i++){ System.out.print(valores[i] + " "); } System.out.println("\n"); } } |
Java ::: Coleções (Collections) ::: ArrayList |
Como obter o índice da primeira ocorrência de um elemento no ArrayList do Java usando o método indexOf()Quantidade de visualizações: 12288 vezes |
Este exemplo mostra como usar o método indexOf() para obter o índice da primeira ocorrência de um item na ArrayList. Se o ítem não for encontrado, o valor retornado é -1. Veja o código completo para a dica: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.util.ArrayList; public class Estudos{ public static void main(String[] args){ // cria uma ArrayList que conterá strings ArrayList<String> nomes = new ArrayList<String>(); // adiciona itens na lista nomes.add("Carlos"); nomes.add("Maria"); nomes.add("Fernanda"); nomes.add("Osmar"); nomes.add("Maria"); // obtém o índice da primeira ocorrência do // nome "Maria" int indice = nomes.indexOf("Maria"); System.out.println("O índice do nome pesquisado é: " + indice); System.exit(0); } } Ao executar este código nós teremos o seguinte resultado: O índice do nome pesquisado é: 1 |
Java ::: Fundamentos da Linguagem ::: Tipos de Dados |
Apostila Java - Como usar o tipo de dados double da linguagem JavaQuantidade de visualizações: 21820 vezes |
O tipo de dados double é usado quando precisamos armazenar números de ponto-flutuante (com parte fracionária) na faixa 4.94065645841246544e-324 até 1.79769313486231570e+308. Este tipo ocupa 64 bits na memória (o mesmo que um long) e possui precisão de 14 ou 15 dígitos significativos. Veja um exemplo de seu uso:---------------------------------------------------------------------- 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[]){ double valor = 54.5; System.out.println("O valor da variável é: " + valor); System.exit(0); } } É importante observar que a maioria dos métodos numéricos das classes Java (principalmente Math) possuem parâmetros do tipo double. Isso é feito de modo que possamos fornecer argumentos do tipo byte, short, int, long, float, etc. Como todos os tipos primitivos (exceto boolean) podem ser convertidos para double sem a necessidade de cast, esta é sem dúvida uma escolha bem acertada dos arquitetos da linguagem. Observe ainda que o tipo double não pode ser convertido implicitamente para nenhum outro tipo de dados primitivo. Se precisarmos convertê-lo para os tipos char, byte, short, int, long ou float, teremos que lançar mão de uma coerção (cast). Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- double valor = 54.5; int valor2 = (int)(valor); É preciso ficar atento ao fato de que uma coerção de um tipo de ponto-flutuante para um tipo integral (inteiro) resulta na perda da parte fracionária do valor que está sofrendo o cast. Não é recomendável usar o tipo double (ou float) para aplicações financeiras nas quais a precisão dos valores numéricos é de muita importância. Para estes casos recomenda-se usar a classe BigDecimal. |
Vamos testar seus conhecimentos em AutoCAD Civil 3D |
COGO Points no AutoCAD Civil 3D Qual das ordens de fluxo de trabalho abaixo é a correta para definir o estilo da label de um COGO point na janela Panorama? A) Selecione Edit Points na aba Toolpace -> Prospector, botão direito no título da coluna Point Label Style, selecione o Point Label Style na lista e clique o botão OK. B) Selecione Edit Points na aba Toolpace -> Prospector, duplo-clique na célula desejada na coluna Point Label Style, selecione o Point Label Style na lista e clique o botão OK. C) Selecione Refresh na aba Toolpace -> Prospector, duplo-clique na célula desejada na coluna Point Label Style, selecione o Point Label Style na lista e clique o botão OK. D) Selecione Edit Points na aba Toolpace -> Toolbox, duplo-clique no título da coluna Point Label Style, selecione o Point Label Style na lista e clique o botão OK. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira |
Ações em estruturas: apresentação dos principais carregamentos na análise de estruturas convencionais É exemplo de ação permanente direta: A) Peso próprio da estrutura. B) Vento. C) Terremoto. D) Deslocamentos de apoios. E) Mobiliário. 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 lista valores = [1, 2, 3, 4] valores[1], valores[2] = 5, 7 print(valores) A) Um erro de execução na linha 2 B) [5, 7, 5, 7] C) [4, 2, 3, 1] D) TypeError: cannot unpack non-iterable int object E) [1, 5, 7, 4] Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
A coleção Set da linguagem Python permite itens repetidos. A) Verdadeiro B) Falso Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fundações |
Fundações diretas ou rasas As fundações diretas ou rasas são utilizadas em situações em que as camadas do solo sejam resistentes de forma suficiente para suportar as cargas da estrutura. Elas tornam possível a transmissão dessas cargas diretamente ao solo, pela base da fundação, que é dimensionada de forma a distribuir o peso da construção no solo para que a pressão sobre ele seja compatível com a sua resistência. Analise as sentenças a respeito das fundações rasas ou diretas: I - Transferem as cargas das estruturas para camadas subsuperficiais da terra. II - Em uma mesma edificação, é possível encontrar mais do que dois tipos diferentes de fundações, mesmo que sejam rasas ou profundas. III - O uso de fundações rasas será considerado uma técnica adequada quando o número de golpes do SPT for maior ou igual a 8 e a profundidade não ultrapassar 2m. Qual(is) está(ão) correta(s)? A) II. B) I. C) II e III. D) I e III. E) III. 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 |
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 |