Você está aqui: Java ::: Java Swing - JTable e classes relacionadas ::: JTable |
|
Como aplicar uma borda colorida a uma célula da JTable do Java Swing ao passar o mouseQuantidade de visualizações: 11497 vezes |
|
Nesta dica mostrarei como podemos exibir uma borda colorida às células de uma tabela JTable do Java Swing ao passar o mouse sobre ela. Para isso nós vamos criar uma classe personalizada que herda da classe TableCellRenderer. Em seguida nós usamos o evento mouseMoved da classe MouseMotionAdapter para aplicar a borda colorida às células. Veja o código completo para o exemplo: package estudos; import javax.swing.*; import javax.swing.border.*; import java.awt.*; import java.awt.event.*; import javax.swing.table.*; public class Estudos extends JFrame{ int linha, coluna; Border vermelho = BorderFactory.createLineBorder(Color.red); Border vazia = BorderFactory.createEmptyBorder(); 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 BordaCelula extends JLabel implements TableCellRenderer{ public BordaCelula(){ setOpaque(true); } public Component getTableCellRendererComponent ( JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column){ if(row == linha && column == coluna){ this.setBorder(vermelho); } else{ this.setBorder(vazia); } this.setText(value.toString()); return this; } } Container c = getContentPane(); c.setLayout(new FlowLayout()); tabela.addMouseMotionListener(new CellListener()); tabela.setDefaultRenderer(Object.class, new BordaCelula()); 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); } } |
|
Link para compartilhar na Internet ou com seus amigos: | |
Anúncio Patrocinado | |
C ::: C para Engenharia ::: Física - Mecânica |
Como calcular a massa de um corpo dada sua energia cinética e sua velocidade usando a linguagem CQuantidade de visualizações: 2280 vezes |
Na Física, a energia cinética em um objeto é a energia que ele possui devido ao seu movimento. Isso é definido como o trabalho necessário para acelerar um corpo de massa em repouso para que este adquira velocidade. Tendo ganho essa energia durante a aceleração, o corpo mantém essa energia cinética a menos que a sua velocidade mude. A mesma quantidade de trabalho é produzida por um corpo desacelerando da sua velocidade atual para um estado de repouso. Os carros de uma montanha-russa atingem sua energia cinética máxima quando estão no fundo de sua trajetória. Quando eles começam a subir, a energia cinética começa a ser convertida em energia potencial gravitacional, mas, se forem assumidos atritos insignificantes e outros fatores de atraso, a quantidade total de energia no sistema permanece constante. A fórmula para obtenção da massa de um corpo, quando temos a sua energia cinética e a sua velocidade é: \[ \text{m} = \frac{\text{2} \cdot E_c}{v^2} \] Onde: m ? massa do corpo (em kg). Ec ? energia cinética (em joule, J). v ? velocidade do corpo (em m/s). Vamos ver um exemplo agora? Observe o seguinte enunciado: 1) Uma bola de golfe está viajando a uma velocidade de 50m/s, e possui energia cinética de 75J. Qual é a sua massa? Note que o exercício nos dá a velocidade já em m/s, evitando a necessidade da conversão de km/h para m/s. Temos também a energia cinética já em sua medida apropriada. Assim, só precisamos jogar na fórmula. Veja o código C completo para este cálculo: #include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc, char *argv[]){ // velocidade (em m/s) float velocidade = 50; // em m/s // energia cinética float energia_cinetica = 75; // em joule // e então calculamos a massa do corpo float massa = (2 * energia_cinetica) / pow(velocidade, 2); // mostramos o resultado printf("A massa do corpo é: %fkg", massa); printf("\n\n"); system("PAUSE"); return 0; } Ao executar este código C nós teremos o seguinte resultado: A massa do corpo é: 0.060000kg (ou 0.060000 x 1000 = 60 gramas). |
VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Exercícios Resolvidos de VisuAlg - A concessionária de veículos "CARANGO VELHO" está vendendo os seus veículos com descontos. Faça um algoritmo VisuAlgQuantidade de visualizações: 145 vezes |
Pergunta/Tarefa: A concessionária de veículos "CARANGO VELHO" está vendendo os seus veículos com descontos. Faça um algoritmo VisuAlg que calcule e exiba o valor do desconto e o valor a ser pago pelo cliente de vários carros. O desconto deverá ser calculado de acordo com o ano do veículo. Até o ano 2000 o desconto é 12%, e acima de 2000 o desconto é de 7%. Seu código deverá solicitar o valor do carro e o seu ano e aplicar o desconto correspondente. Além disso o sistema deverá perguntar se deseja continuar calculando descontos até que a resposta seja: "(N) Não". Informar o total de carros com ano até 2000 e o total geral a ser pago pelo cliente. Sua saída deve ser parecida com: Informe o valor do carro sem desconto: 25000 Informe o ano do carro: 2010 Desconto concedido: 1750 Valor do carro com desconto: 23250 Deseja adicionar mais carros? [S, N]: S Informe o valor do carro sem desconto: 30500 Informe o ano do carro: 1985 Desconto concedido: 3660 Valor do carro com desconto: 26840 Deseja adicionar mais carros? [S, N]: S Informe o valor do carro sem desconto: 16800 Informe o ano do carro: 1990 Desconto concedido: 2016 Valor do carro com desconto: 14784 Deseja adicionar mais carros? [S, N]: N Total de carros com ano até 2000: 2 Total geral a pagar: 64874 Veja a resolução comentada deste exercício usando VisuAlg: algoritmo "Cálculo de desconto nos preços de vários veículos" var // variáveis usadas na resolução do problema valor_carro, valor_desconto, valor_carro_desconto: real total_geral: real ano: inteiro total_carros_ano_2000: inteiro resposta: caractere inicio // vamos inicializar os valores de algumas variáveis total_geral <- 0 total_carros_ano_2000 <- 0 // repete até que o usuário informe o valor "N" repita // vamos ler o valor do carro sem desconto escreva("Informe o valor do carro sem desconto: ") leia(valor_carro) // vamos ler o ano do carro escreva("Informe o ano do carro: ") leia(ano) // o ano é menor ou igual a 2000 se ano <= 2000 entao valor_desconto <- valor_carro * (12.0 / 100.0) // vamos somar mais este carro total_carros_ano_2000 <- total_carros_ano_2000 + 1 senao valor_desconto <- valor_carro * (7.0 / 100.0) fimse // calculamos o valor do carro com o desconto valor_carro_desconto <- valor_carro - valor_desconto escreval("Desconto concedido: ", valor_desconto) escreval("Valor do carro com desconto: ", valor_carro_desconto) // somamos mais este valor ao total geral total_geral <- total_geral + valor_carro_desconto // perguntamos se o usuário deseja adicionar mais carros escreva("Deseja adicionar mais carros? [S, N]: ") leia(resposta) // adiciona uma quebra de linha escreval() ate resposta = "N" // mostramos os resultados escreval("Total de carros com ano até 2000: ", total_carros_ano_2000) escreval("Total geral a pagar: ", total_geral) fimalgoritmo |
C# ::: Windows Forms ::: TextBox |
C# Windows Forms - Como criar uma caixa de texto TextBox do tipo senha (password)Quantidade de visualizações: 14035 vezes |
Algumas vezes precisamos fazer com que um TextBox se comporte como uma caixa de texto do tipo senha. Para isso só precisamos manipular sua propriedade PasswordChar. Esta propriedade pode ser definida em tempo de design (usando a janela de propriedades Properties) ou em tempo de execução. Veja:private void button2_Click(object sender, EventArgs e){ // vamos definir o caractere a ser usado como máscara para a // digitação dos caracteres de senha textBox1.PasswordChar = '*'; } Em tempo de execução o valor da propriedade PasswordChar pode ser obtido da seguinte forma: private void button2_Click(object sender, EventArgs e){ // vamos definir o caractere a ser usado como máscara para a // digitação dos caracteres de senha textBox1.PasswordChar = '*'; // vamos obter o caractere usado como máscara para a digitação // dos caracteres de senha char letra = textBox1.PasswordChar; MessageBox.Show("O caractere usado para a propriedade PasswordChar é: " + letra); } É possível também forçar o TextBox a usar o caractere de senha usado pelo Windows. Para isso só precisamos fornecer o valor true para a propriedade UseSystemPasswordChar. Veja: private void button2_Click(object sender, EventArgs e){ // queremos que o caractere usado como máscara para a digitação // de senhas seja o mesmo do sistema textBox1.UseSystemPasswordChar = true; } |
C# ::: LINQ ::: LINQ to Objects |
Como retornar o primeiro elemento de um array de strings em C# usando a função First() do LINQQuantidade de visualizações: 705 vezes |
Nesta dica mostrarei um exemplo bem simples do uso do método First() do LINQ (Language-Integrated Query) do C# para retornar o primeiro elemento de um vetor de strings. É claro que este método funciona com qualquer coleção, mas um exemplo simples nos ajudará a entender melhor o seu funcionamento. Em outras dicas eu aprofundo o uso deste método. Vamos ao código então. Veja: using System; using System.Linq; namespace Estudos { class Principal { static void Main(string[] args) { // vamos construir um vetor de strings string[] linguagens = {"Java", "Python", "PHP", "Ruby"}; // vamos obter o primeiro elemento do vetor string primeira = linguagens.First(); // vamos mostrar o resultado Console.WriteLine("A primeira linguagem é: {0}", primeira); Console.WriteLine("Pressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: A primeira linguagem é: Java Fique atento ao fato de que o método First() pode atirar uma exceção do tipo InvalidOperation se o array ou coleção estiver vazia ou não incluir nenhum elemento que se encaixe nas condições testadas. Veja o resultado ao chamarmos este método em um vetor vazio: System.InvalidOperationException HResult=0x80131509 Message=Sequence contains no elements Source=System.Linq StackTrace: at System.Linq.ThrowHelper.ThrowNoElementsException() at System.Linq.Enumerable.First[TSource](IEnumerable`1 source) at Estudos.Principal.Main(String[] args) in C:\estudos_c#\Estudos\Principal.cs:line 11 |
PHP ::: Dicas & Truques ::: Strings e Caracteres |
PHP para iniciantes - Como contar a quantidade de palavras em uma string usando as funções explode() e count() do PHPQuantidade de visualizações: 20857 vezes |
Em algumas situações nós precisamos obter a quantidade de palavras em uma frase ou texto. Para isso nós podemos combinar as funções explode() e count() da linguagem PHP. É importante, antes de efetuarmos esta tarefa, nos certificarmos de que a string sendo analisada não possui espaços em excesso. Se esse for o caso, veja nossas dicas e truques a respeito da remoção de espaços em excesso de uma frase ou texto. Veja o código completo para o exemplo: <html> <head> <title>Estudando PHP</title> </head> <body> <?php $frase = "Gosto de programar em PHP"; $palavras = explode(" ", $frase); echo "A frase \"" . $frase . "\" contém " . count($palavras) . " palavras"; ?> </body> </html> Ao executarmos este código nós teremos o seguinte resultado: A frase "Gosto de programar em PHP" contém 5 palavras |
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
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 |