Você está aqui: Java ::: Classes e Componentes ::: JList |
Exemplo completo de como adicionar JCheckBoxes como itens de uma JList e retornar os itens marcadosQuantidade de visualizações: 12171 vezes |
/* Este exemplo mostra como criar uma JList contendo JCheckBoxes. Aprenda a marcar os itens e obter quais itens estão marcados. */ import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; public class Estudos extends JFrame{ JList lista; public Estudos() { super("A classe JList"); Container c = getContentPane(); c.setLayout(new FlowLayout(FlowLayout.LEFT)); // Cria a JList lista = new JList(); // Define o renderizador de células lista.setCellRenderer(new CheckBoxCellRenderer()); // Define os valores da lista Object[] cbArray = new Object[4]; cbArray[0] = new JCheckBox("Goiânia"); cbArray[1] = new JCheckBox("Brasília"); cbArray[2] = new JCheckBox("Barra do Garças"); cbArray[3] = new JCheckBox("Curitiba"); // Atribue os itens à lista lista.setListData(cbArray); // Define a seleção única para a lista lista.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); // Aqui nós permitimos que as checkboxes sejam marcadas // ou desmarcadas com a barra de espaço lista.addKeyListener(new KeyAdapter(){ public void keyPressed(KeyEvent e){ if(e.getKeyCode() == KeyEvent.VK_SPACE){ int index = lista.getSelectedIndex(); if(index != -1){ JCheckBox checkbox = (JCheckBox) lista.getModel().getElementAt(index); checkbox.setSelected(!checkbox.isSelected()); repaint(); } } } }); // Aqui nós permitimos que as checkboxes sejam marcadas // ou desmarcadas com o mouse lista.addMouseListener(new MouseAdapter(){ public void mousePressed(MouseEvent e){ int index = lista.locationToIndex(e.getPoint()); if(index != -1){ JCheckBox checkbox = (JCheckBox) lista.getModel().getElementAt(index); checkbox.setSelected(!checkbox.isSelected()); repaint(); } } }); // Um botão que permite obter os itens marcados JButton btn = new JButton("Obter itens marcados"); btn.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ String itens = ""; for(int i = 0; i < lista.getModel().getSize(); i++){ JCheckBox checkbox = (JCheckBox) lista.getModel().getElementAt(i); if(checkbox.isSelected()) itens += "Item com índice " + i + " está marcado\n"; else itens += "Item com índice " + i + " está desmarcado\n"; } JOptionPane.showMessageDialog(null, itens); } } ); // Adiciona a lista à janela c.add(new JScrollPane(lista)); // 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); } } // Classe personalizada que permite que os itens // da lista sejam exibidos como JCheckBoxes class CheckBoxCellRenderer implements ListCellRenderer{ Border noFocusBorder = new EmptyBorder(1, 1, 1, 1); public Component getListCellRendererComponent( JList list, Object value, int index, boolean isSelected, boolean cellHasFocus){ JCheckBox checkbox = (JCheckBox) value; checkbox.setBackground(isSelected ? list.getSelectionBackground() : list.getBackground()); checkbox.setForeground(isSelected ? list.getSelectionForeground() : list.getForeground()); checkbox.setEnabled(list.isEnabled()); checkbox.setFont(list.getFont()); checkbox.setFocusPainted(false); checkbox.setBorderPainted(true); checkbox.setBorder(isSelected ? UIManager.getBorder( "List.focusCellHighlightBorder") : noFocusBorder); return checkbox; } } |
![]() |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Exercício Resolvido de Java - Escreva um método chamado inverter() que recebe um número inteiro e retorna este mesmo número invertidoQuantidade de visualizações: 7189 vezes |
Pergunta/Tarefa: Escreva um método Java chamado inverter() que recebe um número inteiro e retorna este mesmo número invertido. Este método deverá ter a seguinte assinatura: public static int inverter(int numero){ // sua implementação aqui } ATENÇÃO: Para a resolução deste exercício é permitido usar apenas os operadores aritméticos. Sua saída deverá ser parecida com: Informe um número inteiro: 487 O valor invertido é: 784 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 fazer a leitura usando a classe Scanner Scanner entrada = new Scanner(System.in); // vamos pedir ao usuário que informe um número inteiro System.out.print("Informe um número inteiro: "); int numero = Integer.parseInt(entrada.nextLine()); // fazer efetuar uma chamada ao método inverter() e obter o valor invertido int invertido = inverter(numero); // e exibir o resultado System.out.println("O valor invertido é: " + invertido); } // método estático que recebe um número inteiro e o devolve invertido public static int inverter(int numero){ int resultado = 0; // guarda o resultado da inversão // enquanto número for diferente de 0 while(numero != 0){ // obtém resto da divisão de número por 10 int resto = numero % 10; // resultado recebe ele mesmo multiplicado por 10 mais o resto resultado = resultado * 10 + resto; // finalmente número recebe ele mesmo dividido por 10 numero = numero / 10; } return resultado; // retorna o resultado } } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Exercício Resolvido de Java - Um programa que solicita ao usuário que informe um número e verifica se tal número é um número perfeitoQuantidade de visualizações: 2717 vezes |
Exercícios Resolvidos de Java - Um programa que solicita ao usuário que informe um número e verifica se tal número é um número perfeito Pergunta/Tarefa: Em Matemática, um número perfeito é um número inteiro para o qual a soma de todos os seus divisores positivos próprios (excluindo ele mesmo) é igual ao próprio número. Por exemplo, o número 6 é um número perfeito, pois: 6 = 1 + 2 + 3. O próximo número perfeito é o 28, pois 28 = 1 + 2 + 4 + 7 + 14. Todo número perfeito é um número triangular, bem como um número hexagonal. Escreva um programa Java que solicita um número inteiro ao usuário e verifica se tal número é um número perfeito. Sua saída deve ser parecida com: Informe um número: 6 O número informado é um número perfeito. Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- 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) { Scanner entrada = new Scanner(System.in); // vamos pedir que o usuário informe um número System.out.print("Informe um número: "); int numero = Integer.parseInt(entrada.nextLine()); // vamos verificar se o número informado é um número perfeito int soma = 0; // vamos contar de 1 até a metade do número informado for(int i = 1; i <= numero / 2; i++){ if(numero % i == 0){ // o número informado é divisível pelo valor de i? soma = soma + i; } } // a soma é igual ao numero informado? if(soma == numero){ System.out.println("O número informado é um número perfeito."); } else{ System.out.println("O número informado não é um número perfeito."); } System.out.println("\n"); } } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Geometria, Trigonometria e Figuras Geométricas |
Exercícios Resolvidos de Java - Como calcular o volume e a área de um cilindro em Java - Geometria Espacial em JavaQuantidade de visualizações: 854 vezes |
Pergunta/Tarefa: O Cilindro ou Cilindro Circular é um sólido geométrico alongado e arredondado que possui o mesmo diâmetro ao longo de todo o comprimento. Essa figura geométrica, que faz parte dos estudos de geometria espacial, apresenta dois círculos com raios de medidas equivalentes os quais estão situados em planos paralelos. Veja a imagem a seguir: ![]() Escreva um programa Java que pede para o usuário informar o raio e a altura de um cilindro e calcule e mostre o seu volume e sua área de superfície. Os valores informados pelo usuário deverão ser do tipo double e os resultados deverão também ser do tipo double. Para auxiliar nos cálculos, a fórmula do volume do cilindo é: \[ \text{V} = \pi \cdot r^2 \cdot \text{h} \] Já a fórmula da área do cilindro é: \[ \text{A} = \text{2} \cdot \pi \cdot r \cdot (r + h) \] Sua saída deve ser parecida com: Informe o raio do cilindro: 5 Informe a altura do cilindro: 8 O volume do cilindro é: 628.3185307179587 A área do cilindro é: 408.4070449666731 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) { // variáveis usadas na resolução do problema double raio, altura, volume, area; // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos ler o raio e a altura do cilindro System.out.print("Informe o raio do cilindro: "); raio = Double.parseDouble(entrada.nextLine()); System.out.print("Informe a altura do cilindro: "); altura = Double.parseDouble(entrada.nextLine()); // vamos calcular o volume do cilindro volume = Math.PI * Math.pow(raio, 2) * altura; // agora vamos calcular a área do cilindro area = 2 * Math.PI * raio * (raio + altura); // e mostramos o resultado System.out.println("O volume do cilindro é: " + volume); System.out.println("A área do cilindro é: " + area); } } |
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 |
![]() 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 |
![]() 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 |