Você está aqui: Cards de Hidrostática |
||
|
||
|
|
||
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: 4 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);
}
}
|
JavaScript ::: Dicas & Truques ::: Set (Conjunto) |
Como remover elementos duplicados de um array em JavaScript usando um Set e o método Array.from()Quantidade de visualizações: 1514 vezes |
|
Sabemos de outras dica de JavaScript que o objeto Set nos permite criar conjuntos únicos, ou seja, sem repetições. Sabemos também que a função Array.from() possibilita a conversão de um Set em um Array JavaScript. Dessa forma, é possível usar essa combinação para escrever uma função personalizada que recebe um vetor (array) e retorna um outro vetor, sem elementos repetidos. Veja o código JavaScript completo para o exemplo:
<!doctype html>
<html>
<head>
<title>O objeto Set do JavaScript</title>
</head>
<body>
<script type="text/javascript">
// função que permite remover os elementos
// duplicados de um array
function semRepeticoes(vetor){
// primeiro criamos um novo Set a partir do
// vetor fornecido
// Em seguida usamos o método Array.from() para
// converter o Set em um Array
return Array.from(new Set(vetor));
}
// aqui declaramos um array de String
// com nomes repetidos
var nomes = ["Osmar", "Maria", "Carlos", "Maria",
"Fernanda", "Fernanda", "Osmar"];
// e aqui estão os resultados
document.writeln("Com repetição: " + nomes);
document.writeln("<br>Sem repetições: " +
semRepeticoes(nomes));
</script>
</body>
</html>
Ao executar este código JavaScript nós teremos o seguinte resultado: Com repetição: Osmar, Maria, Carlos, Maria, Fernanda, Fernanda, Osmar Sem repetições: Osmar, Maria, Carlos, Fernanda |
C ::: Dicas & Truques ::: Arquivos e Diretórios |
Como excluir arquivos em C usando a função remove()Quantidade de visualizações: 19561 vezes |
A função remove(), disponível no header stdio.h, pode ser usada para excluir arquivos. Veja sua assinatura:int remove(const char *filename); Veja que esta função recebe o caminho e nome do arquivo a ser excluído e retorna um valor inteiro. Se o arquivo for excluído com sucesso, o valor 0 será retornado. Veja um exemplo:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
// nome do arquivo a ser excluído
char *arquivo = "c:\\testes.txt";
// vamos excluir
if(remove(arquivo) == 0)
printf("Arquivo foi excluido com sucesso.");
else
printf("Nao foi possivel excluir o arquivo.");
printf("\n\n");
system("PAUSE");
return 0;
}
|
JavaScript ::: Dicas & Truques ::: Strings e Caracteres |
Como adicionar zeros (ou outro caractere) no início de uma string usando o método padStart() da linguagem JavaScriptQuantidade de visualizações: 3232 vezes |
|
Como adicionar zeros (ou outro caractere) no início de uma string usando o método padStart() da linguagem JavaScript O método padStart(), adicionado ao objeto String no ES2017 (ECMAScript 8) é usado quando queremos preencher o início de uma string com zeros ou qualquer outro caractere até alcançarmos um comprimento determinado. Veja, por exemplo, como adicionar zeros na frente de uma string para alcançar o tamanho de cinco caracteres:
<script type="text/javascript">
var valor = 17;
// vamos mostrar o valor com o tamanho de cinco caracteres
document.write("O valor é: " + valor.toString().padStart(5, "0"));
</script>
Ao executar o exemplo você verá o valor "00017" ser exibido. Porém, como o método padStart() foi adicionado no ES2017, pode ser que você encontre navegadores que ainda não o suportem. Assim, é sempre uma idéia testar a sua existência. Veja:
<script type="text/javascript">
if(String.prototype.padStart){
window.alert("Seu browser já suporta a função padStart().");
}
else{
window.alert("Seu browser NÃO suporta a função padStart().");
}
</script>
Se o navegador não oferecer suporte a este método, você poderá usar um Polyfill, de terceiros ou uma solução que você mesmo poderá desenvolver. |
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercício Resolvido de C++ - Um método recursivo que conta de 0 até 10Quantidade de visualizações: 1099 vezes |
|
Pergunta/Tarefa: Escreva um método recursivo que conta e exibe os valores de 0 até 10. Seu método deverá possuir a seguinte assinatura:
void contar_recursivamente(int n){
// sua implementação aqui
}
Sua saída deverá ser parecida com: 0 1 2 3 4 5 6 7 8 9 10 Veja a resolução comentada deste exercício usando C++:
#include <iostream>
#include <cstdlib>
using namespace std;
// método recursivo que conta de 0 até 10;
void contar_recursivamente(int n){
// vamos exibir o número atual
cout << n << " ";
// devemos prosseguir com a recursividade?
if(n < 10){
// incrementa o valor de n
n++;
contar_recursivamente(n); // e faz uma nova chamada recursiva
}
}
// função principal do programa
int main(int argc, char *argv[]){
// efetua uma chamada ao método recursivo fornecendo o primeiro valor
contar_recursivamente(0);
cout << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





