Você está aqui: Java ::: Classes e Componentes ::: JTable

Exibir uma tabela sem o uso da classe JScrollPane

Quantidade de visualizações: 8328 vezes
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Estudos extends JFrame{
  public Estudos(){
    super("Exemplo de uma tabela simples");
		
    // colunas da tabela
    String[] colunas = {"Cidade", "Estado", "Habitantes"};
		
    // conteúdo da tabela	
    Object[][] conteudo = {
        {"Goiânia", "GO", "43.023.432"},
        {"São Paulo", "SP", "5.343.234"},
        {"Rio de Janeiro", "RJ", "6.434.212"},
        {"Jussara", "GO", "87.454"},
        {"Barra do Garças", "MT", "64.344"}
    };
        
    // constrói a tabela
    final JTable tabela = new JTable(conteudo, colunas);
    tabela.setPreferredScrollableViewportSize(new Dimension(350, 50));
	
    Container c = getContentPane();
    c.setLayout(new BorderLayout());
    c.add(tabela.getTableHeader(), BorderLayout.PAGE_START);
    c.add(tabela, BorderLayout.CENTER);	
		
    setSize(400, 300);
    setVisible(true);
  }
	
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}


Link para compartilhar na Internet ou com seus amigos:

Java ::: Classes e Componentes ::: JTable

Java Swing - Como colorir as células de uma JTable individualmente ao passar o mouse sobre elas

Quantidade de visualizações: 2 vezes
Nesta dica eu mostro como é possível aplicar uma cor diferente às células individuais de uma JTable ao passar o mouse em cima delas. O efeito visual é muito interessante, principalmente quando temos uma JTable com muitos dados.

No exemplo eu construí a aplicação Java Swing na mão mesmo, sem usar nenhum editor visual. É um ótimo exercício para realmente entender as partes que compoem uma aplicação Java Swing.

Veja o código Java completo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.table.*;
import javax.swing.event.*;
 
public class Estudos extends JFrame{
  int linha, coluna;
   
  public Estudos(){
    super("JTable");
         
    // colunas da tabela
    String[] colunas = {"Cidade", "Estado", "Habitantes"};
         
    // conteúdo da tabela   
    Object[][] conteudo = {
        {"Goiânia", "GO", "43.023.432"},
        {"São Paulo", "SP", "5.343.234"},
        {"Rio de Janeiro", "RJ", "6.434.212"},
        {"Jussara", "GO", "87.454"},
        {"Barra do Garças", "MT", "64.344"}
    };
         
    // constrói a tabela
    final JTable tabela = new JTable(conteudo, colunas);
    tabela.setPreferredScrollableViewportSize(new 
      Dimension(350, 50));
     
    class CellListener extends MouseMotionAdapter{
      public void mouseMoved(MouseEvent e){
    JTable tb = (JTable)e.getSource();
        linha = tb.rowAtPoint(e.getPoint());
        coluna = tb.columnAtPoint(e.getPoint());
        tb.repaint();
      }
    }
     
    class ColorirCelula extends JLabel 
         implements TableCellRenderer{
      public ColorirCelula(){
        setOpaque(true);
      }
 
      public Component getTableCellRendererComponent(
                 JTable table, Object value,
                 boolean isSelected, boolean hasFocus, 
                 int row, int column){
        if(row == linha && column == coluna){
          this.setBackground(Color.yellow);
        }
        else{
          this.setBackground(table.getBackground());
        }
         
        this.setText(value.toString());
        return this;
      }
    }
     
    Container c = getContentPane();
    c.setLayout(new FlowLayout());
     
    tabela.addMouseMotionListener(new CellListener());
     
    tabela.setDefaultRenderer(Object.class, 
       new ColorirCelula());
 
             
    JScrollPane scrollPane = new JScrollPane(tabela);
    c.add(scrollPane);
         
    setSize(400, 300);
    setVisible(true);
  }
     
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

Ao executarmos esta aplicação Java Swing nós teremos o seguinte resultado:




Java ::: Pacote java.lang ::: String

Java Avançado - Como usar o método getBytes() da classe String para obter uma sequência de valores do tipo byte

Quantidade de visualizações: 8458 vezes
Em algumas situações gostaríamos de obter os caracteres de uma string como uma representação de inteiros em bytes. Para isso podemos usar o método getBytes(). Veja sua assinatura:

public byte[] getBytes()
Este método é chamado em uma instância da classe String e seu retorno é um array (matriz) do tipo byte. Veja um exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

public class Main {
  public static void main(String[] args) {
    // vamos declarar um objeto da classe String
    String palavra = "Arquivo";
	
    // vamos obter os bytes usados na palavra anterior
    byte bytes[] = palavra.getBytes();

    // vamos percorrer a matriz de bytes e mostrá-los individualmente
    for(int i = 0; i < bytes.length; i++){
       System.out.print(bytes[i] + "   ");
    }
  }
}

Ao executarmos este código teremos o seguinte resultado:

65 114 113 117 105 118 111

De fato, o valor 65 é o código inteiro para o caractere "A". É importante observar que alguns caracteres não cabem em um byte (que possui o valor 127 como maior valor inteiro). Isso resulta na conversão para valores negativos.

Há outras duas sobrecargas do método getBytes() da classe String. A primeira:

byte[] getBytes(Charset charset)
nos permite especificar o conjunto de caracteres a ser usado na conversão como um objeto da classe Charset. A segunda:

byte[] getBytes(String charsetName)
nos permite especificar o nome do conjunto de caracteres como uma String.


Java ::: Dicas & Truques ::: Data e Hora

Como converter um objeto Calendar em um objeto Date em Java

Quantidade de visualizações: 11089 vezes
Muitas vezes precisamos converter um objeto Calendar em um objeto Date em Java. Isso pode ser feito usando-se o método getTime() da classe Calendar.

Este método retorna um objeto da classe Date representando o estado atual do objeto Calendar em milisegundos desde o Epoch. Veja um exemplo dessa conversão e o uso da classe SimpleDateFormat para formatar o resultado:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package estudos;

import java.util.*;
import java.text.*;

public class Estudos{ 
  public static void main(String args[]){ 
    Calendar cal = Calendar.getInstance();
    Date data = cal.getTime();
    
    // formata e exibe a data e hora
    Format formato = new SimpleDateFormat(
      "dd/MM/yyyy - HH:mm:ss");
    System.out.println(formato.format(data));
  } 
}

Ao executar este código Java nós teremos o seguinte resultado:

09/09/2022 - 14:39:53


Vamos testar seus conhecimentos em Hidrologia

Qual das alternativas abaixo apresenta o conceito correto de bacia hidrográfica?

A) Unidade espacial que comporta a rede de drenagem delimitada pelo relevo.

B) Território marcado apenas pela presença de córregos de regime intermitente.

C) Classificação geológica formada pelo conjunto de rios com a mesma nascente.

D) Categoria de análise que é fruto da diminuição da rede de drenagem regional.

E) Categorização hidráulica dos rios que possuem a mesma vazão na jusante.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

Postura ética profissional

Os princípios éticos que norteiam a prática profissional dos engenheiros não são definidos por uma única entidade ou indivíduo específico. Há diferentes fontes e organizações que estabelecem a conduta ética a ser seguida por esses profissionais.

Assinale a alternativa que melhor apresenta essas fontes e organizações, segundo Cocian (2016):

A) Organizações profissionais, legislação e regulamentações, instituições de ensino, experiência profissional.

B) A Associação Mundial de Engenheiros, o Conselho de Ética, a Sociedade Internacional de Engenheiros e a Federação Internacional de Engenharia (FIE).

C) Os códigos de ética redigidos pelas empresas Apple, Microsoft, Google e Amazon.

D) As diretrizes éticas de partidos políticos, organizações ambientais, grupos de consumidores e clubes esportivos.

E) Os princípios éticos estabelecidos por escritores famosos, celebridades, filósofos antigos e artistas renomados.
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?

valor = 5
for i in range(0, 4):
  valor++
  
print("O valor final é: {0}  ".format(valor))

A) O valor final é: 8

B) O valor final é: 9

C) Erro de SyntaxError: invalid syntax na linha 3

D) O valor final é: 7

E) Erro de SyntaxError: invalid syntax na linha 2
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Qual a saída do seguinte programa Python?

valor = 0.0043563
print("Valor: %e" % valor)

A) Erro de execução na linha 2

B) Valor: 0.004356

C) Valor: 4.356300e-03

D) Valor: 0

E) Valor: 0.0044
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?

soma = 0
for i in range(0, 10):
  soma = soma + 3
  if i > 4:
    break
  
print("A soma é: {0}".format(soma))

A) A soma é: 9

B) A soma é: 19

C) A soma é: 24

D) A soma é: 18

E) A soma é: 28
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

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware 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 funcionalidadesControle 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
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 42 usuários muito felizes estudando em nosso site.