Você está aqui: Java ::: Classes e Componentes ::: JMenuBar, JMenu, JMenuItem e Afins |
Como usar objetos da classe JRadioButtonMenuItem como itens de menuQuantidade de visualizações: 7522 vezes |
/* Este exemplo mostra como usar objetos da classe JRadioButtonMenuItem como itens de um menu. Tais itens podem ser usados quando queremos que apenas um item, de um grupo de itens, possa ser selecionado. */ import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Estudos extends JFrame{ JRadioButtonMenuItem cores[]; ButtonGroup grupoCores; Color valCores[] = {Color.red, Color.white, Color.green}; String nomeCores[] = {"Vermelho", "Branco", "Verde"}; public Estudos(){ super("Menus"); // Cria a barra de menus JMenuBar barra = new JMenuBar(); setJMenuBar(barra); // Cria um menu JMenu formatar = new JMenu("Formatar"); // Cria o menu de cor de fundo JMenu item1 = new JMenu("Cor de Fundo"); // Adiciona o segundo JMenu ao primeiro formatar.add(item1); grupoCores = new ButtonGroup(); cores = new JRadioButtonMenuItem[valCores.length]; Gerenciador gerenciador = new Gerenciador(); for(int i = 0; i < valCores.length; i++){ cores[i] = new JRadioButtonMenuItem(nomeCores[i]); item1.add(cores[i]); grupoCores.add(cores[i]); cores[i].addItemListener(gerenciador); } // Adiciona o menu à barra de menus barra.add(formatar); setSize(300, 150); setVisible(true); } public void alterarCor(Color cor){ this.getContentPane().setBackground(cor); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } private class Gerenciador implements ItemListener{ public void itemStateChanged(ItemEvent e){ for(int i = 0; i < cores.length; i++){ if(cores[i].isSelected()){ alterarCor(valCores[i]); } } } } } |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Tratamento de Erros ::: Erros de Tempo de Execução |
Java para iniciantes - Como tratar o erro OutOfMemoryError no JavaQuantidade de visualizações: 11936 vezes |
O erro OutOfMemoryError é apresentado quando a Java Virtual Machine (JVM) não consegue alocar um objeto por falta de memória e o Garbagge Collector não liberou mais memória ainda. Este é um erro que não deve ser apanhado em um bloco try...catch, ou seja, se não há memória para alocar novos objetos, é fácil entender que não haverá memória para tal procedimento. O melhor a fazer é deixar o programa terminar e verificar a causa do problema. Veja a posição da classe OutOfMemoryError na hierarquia de classes da plataforma Java: java.lang.Object java.lang.Throwable java.lang.Error java.lang.VirtualMachineError java.lang.OutOfMemoryError Esta classe implementa a interface Serializable. Uma das causas mais comuns para o erro OutOfMemoryError é a instanciação exagerada de objetos, principalmente em laços (loops). Uma forma de aumentar a memória RAM a ser usada é definindo opções na linha de comando para o java.exe. Algumas destas opções são -Xss64k -Xoss300k -Xms4m e -Xmx10m. |
Java ::: Fundamentos da Linguagem ::: Tipos de Dados |
Java para iniciantes - Como usar o tipo de dados long da linguagem JavaQuantidade de visualizações: 14427 vezes |
O tipo de dados long pode ser usado quando queremos armazenar valores inteiros na faixa -9.223.372.036.854.775.808 até 9.223.372.036.854.775.807. Veja um exemplo:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Estudos{ static long valor = 545L; public static void main(String args[]){ System.out.println("O valor da variável é: " + valor); System.exit(0); } } Observe o uso do caractere "L" após o valor literal que atribuímos à variável. Isso é feito para que o compilador trate o literal como long e não como int. Você pode usar o "L" minúsculo, mas este se parece muito com o número um, o que torna seu uso pouco recomendável. O tipo de dados long pode ser convertido (sem a necessidade de cast) para os seguintes tipos: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- long -> float -> double Se precisarmos converter o tipo int para os tipos char, byte, short ou int, 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) ---------------------------------------------------------------------- byte valor2 = (byte)(valor); |
Java ::: Fundamentos da Linguagem ::: Modificadores |
Programação Orientada a Objetos em Java - Como usar o modificador static em suas aplicações JavaQuantidade de visualizações: 18798 vezes |
O modificador static pode ser aplicado a métodos e variáveis. Além disso, este modificador pode ser usado para a inicialização de códigos estáticos de uma classe. Um recurso marcado com este modificador pertence à uma classe, e não às suas instâncias. Isso quer dizer que podemos acessar métodos ou variáveis estáticas sem a necessidade de criar uma cópia da classe. Veja por exemplo o método main() usado como ponto de entrada para um aplicativo Java: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public static void main(String args[]){ // } Como o método main é chamado antes mesmo de qualquer cópia de classes serem criadas, o modificador static se torna essencial. Veja o que acontece se o retirarmos: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Estudos{ public void main(String args[]){ System.out.println("Olá"); System.exit(0); } } O código compila sem problemas. Porém, ao tentarmos executar teremos o seguinte erro: Exception in thread "main" java.lang.NoSuchMethodError: main ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Estudos{ String frase = "Estou aqui!"; public static void main(String args[]){ System.out.println(frase); System.exit(0); } } Ao tentarmos compilar este código teremos o seguinte erro: Estudos.java:5: non-static variable frase cannot be referenced from a static context System.out.println(frase); ^ 1 error ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- static String frase = "Estou aqui!"; Execute o programa novamente e veja como o erro desaparece. Para demonstrar como recursos estáticos pertencem mesmo à classe e não às suas cópias, considere o seguinte exemplo: ---------------------------------------------------------------------- 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[]){ for(int i = 0; i < 5; i++){ Cliente cliente = new Cliente(); System.out.println("Sou o cliente número: " + cliente.quant); } System.exit(0); } } class Cliente{ public static int quant = 0; public Cliente(){ quant++; } } Ao compilar e executar este código você terá o seguinte resultado: Sou o cliente número: 1 Sou o cliente número: 2 Sou o cliente número: 3 Sou o cliente número: 4 Sou o cliente número: 5 Veremos agora o uso do modificador static na inicialização de blocos de código estáticos. Observe o código: ---------------------------------------------------------------------- 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[]){ for(int i = 0; i < 5; i++){ Cliente cliente = new Cliente(); System.out.println("Sou o cliente número: " + cliente.quant); } System.exit(0); } } class Cliente{ public static int quant = 0; public Cliente(){ quant++; } static{ System.out.println("Bloco estático"); } } Compile e execute este exemplo. Você terá o seguinte resultado: Bloco estático Sou o cliente número: 1 Sou o cliente número: 2 Sou o cliente número: 3 Sou o cliente número: 4 Sou o cliente número: 5 |
Vamos testar seus conhecimentos em Hidrologia |
Como é chamada a área de relevo mais elevado entre cursos de água contíguos e que serve para delimitação das bacias hidrográficas? A) Vale fluvial. B) Colúvio. C) Interflúvio. D) Planalto. E) Planície pluvial. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fundações |
Fundações profundas Fundações profundas podem ser classificadas de diferentes maneiras. Uma forma de distinguir os diferentes tipos de estaca é pelo material empregado em sua composição. Com base no exposto, assinale com V (verdadeiro) ou F (falso) as proposições a seguir, sobre estacas de madeira. ( ) A madeira em contato com o oxigênio do ar tende a apresentar fungos que inibem a deterioração do material. ( ) As estacas de madeira apodrecem rapidamente se mantidas permanentemente debaixo d'água. ( ) No Brasil, estacas de madeira são amplamente utilizadas de forma permanente em obras comerciais e residenciais. Assinale a alternativa que indica, de cima para baixo, a ordem correta. A) V, F, F. B) V, V, V. C) F, F, F. D) F, F, V. E) V, V, F. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual das formas abaixo é usada para criar uma LIST em Python? A) valores = {5, 1, 9, 4} B) valores = [5, 1, 9, 4] C) valores = (5, 1, 9, 4) D) valores = [5.. 1.. 9.. 4] E) valores = list[5, 1, 9, 4] Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Serviços preliminares e instalações provisórias Precisa-se produzir 600.000 m3 de concreto para a construção de uma barragem no prazo de 3 (três) anos. Para isso, as centrais de concreto deverão produzir durante 2.676,63 h/ano. A alternativa que especifica a capacidade da central de concreto que deverá ser utilizada na obra é (caso não encontre valor igual à capacidade disponível no mercado, considere a de valor imediatamente superior): A) 45 m3/h. B) 30 m3/h. C) 130 m3/h. D) 100 m3/h. E) 80 m3/h. 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 O Programa Brasileiro da Qualidade e Produtividade do Habitat - PBQP-H tem como uma de suas atribuições qualificar fornecedores de materiais para a construção civil, incluindo fabricantes de tubos e conexões de água fria e esgoto, tendo como diretrizes as Normas Técnicas Brasileiras (ABNT), especificamente a ABNT NBR 5626 para instalação predial de água fria e a ABNT NBR 8160 para sistemas prediais de esgoto sanitário. Nesse sentido, quanto à bitola de tubos e conexões para água fria e esgoto, é correto afirmar que: A) cada fabricante segue sua padronização, o que evita o encaixe de seus tubos e conexões com as de outros fabricantes. B) há uma combinação entre fabricantes parceiros, que comunicam o PBQP-H de suas parcerias e, então, fabricam peças com especificações dimensionais diferenciadas da concorrência. C) tubos e conexões são produzidos com diâmetros e tolerâncias conforme as Normas, com definição de espessura de parede, o que permite que sejam encaixados independentemente de fabricante. D) As normas citadas atendem especificamente à questão das cores dos tubos, de acordo com a aplicação. E) Em função das normas citadas, o construtor pode importar tubos de conexões de países que atendam às normas ISO e DIN. 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 |