Você está aqui: Cards de Cards de Hidrologia |
||
|
||
|
|
||
Java ::: Classes e Componentes ::: JTable |
Java Swing Avançado - Como exibir imagens nas células de uma JTable em suas aplicações Java SwingQuantidade de visualizações: 15510 vezes |
|
Nesta dica mostrarei como criar uma classe personalizada que estende a classe JLabel e implementa a interface TableCellRenderer. O objetivo é fornecer esta JLabel ao método setCellRenderer() de uma das colunas da JTable e exibir uma imagem ou foto ao lado do conteúdo da célula. Veja o resultado da figura abaixo: ![]() E aqui está o código Java Swing completo para o exemplo:
package arquivodecodigos;
import javax.swing.*;
import java.awt.*;
import javax.swing.table.*;
public class Estudos extends JFrame{
public Estudos(){
super("Exemplo de uma tabela simples");
// colunas da tabela
String[] colunas = {"Nome", "Idade", "Sexo"};
// conteúdo da tabela
Object[][] conteudo = {
{"Osmar J. Silva", "32", "Masculino"},
{"Maria Clara Gomes", "19", "Feminino"},
{"Fernando Gomes", "15", "Masculino"},
{"Carlos Vieira", "40", "Masculino"}
};
// constrói a tabela
JTable tabela = new JTable(conteudo, colunas);
// quero exibir imagens ao lado do texto da primeira coluna
TableCellRenderer tcr = new Imagem();
TableColumn column = tabela.getColumnModel().getColumn(0);
column.setCellRenderer(tcr);
tabela.setPreferredScrollableViewportSize(new Dimension(350, 50));
Container c = getContentPane();
c.setLayout(new FlowLayout());
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);
}
}
class Imagem extends JLabel implements TableCellRenderer{
public Imagem(){
setOpaque(true);
}
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus, int row,
int column){
Icon imagem = new ImageIcon("C:\\estudos_java\\icon.gif");
// certifique-se da existencia da imagem "icon.gif" antes de executar
if(isSelected)
setBackground(table.getSelectionBackground());
else
setBackground(table.getBackground());
setIcon(imagem);
setText(value.toString());
return this;
}
public void validate() {}
public void revalidate() {}
protected void firePropertyChange(String propertyName,
Object oldValue, Object newValue) {}
public void firePropertyChange(String propertyName,
boolean oldValue, boolean newValue) {}
}
|
Python ::: Pandas Python Library (Biblioteca Python Pandas) ::: DataFrame |
Como retornar a quantidade de linhas em um DataFrame do Pandas usando a função len() e a propriedade indexQuantidade de visualizações: 2302 vezes |
|
Podemos tirar proveito da função len() do Python e da propriedade index do DataFrame do Pandas para contarmos as linhas do DataFrame. Lembre-se de que a propriedade index representa os rótulos das linhas. Veja o código completo para o exemplo:
# importamos a biblioteca Pandas
import pandas as pd
def main():
# vamos carregar os dados do arquivo .csv
df = pd.read_csv("C:\\estudos_python\\carros.csv",
delimiter=";")
# vamos mostrar o DataFrame resultante
print("Os dados do DataFrame são:\n")
print(df)
# agora vamos retornar a quantidade de linhas no DataFrame
quant_linhas = len(df.index)
# e mostramos o resultado
print("\nO DataFrame contém {0} linhas".format(quant_linhas))
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado:
Os dados do DataFrame são:
Marca Modelo Ano Valor Vendido
0 Fiat Sienna 2010.0 23500.0 S
1 Volkswagen Polo NaN 31453.0 N
2 Volkswagen NaN 2001.0 19200.0 S
3 Fiat Palio 1995.0 7500.0 S
4 Honda Civic NaN 42000.0 S
5 Renault Sandero 2010.0 52000.0 N
6 Ford Focus 2009.0 42700.0 N
O DataFrame contém 7 linhas
|
GNU Octave ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em GNU OctaveQuantidade de visualizações: 1305 vezes |
|
Todos estamos acostumados com o Teorema de Pitágoras, que diz que "o quadrado da hipotenusa é igual à soma dos quadrados dos catetos". Baseado nessa informação, fica fácil retornar a medida do cateto oposto quando temos as medidas da hipotenusa e do cateto adjascente. Isso, claro, via programação em linguagem GNU Octave. Comece observando a imagem a seguir: ![]() Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados. A medida da hipotenusa é, sem arredondamentos, 36.056 metros. Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras): \[c^2 = a^2 + b^2\] Tudo que temos que fazer é mudar a fórmula para: \[a^2 = c^2 - b^2\] Veja que agora o quadrado do cateto oposto é igual ao quadrado da hipotenusa menos o quadrado do cateto adjascente. Não se esqueça de que a hipotenusa é o maior lado do triângulo retângulo. Veja agora como esse cálculo é feito em linguagem GNU Octave (script GNU Octave):
c = 36.056 # medida da hipotenusa
b = 30 # medida do cateto adjascente
# agora vamos calcular o comprimento da cateto oposto
a = sqrt(power(c, 2) - power(b, 2))
# e mostramos o resultado
fprintf("A medida do cateto oposto é: %f\n", a);
Ao executar este código GNU Octave nós teremos o seguinte resultado: A medida do cateto oposto é: 20.000878 Como podemos ver, o resultado retornado com o código GNU Octave confere com os valores da imagem apresentada. |
MySQL ::: Dicas & Truques ::: Chaves, Índices e Restrições de Integridade Referencial |
Como adicionar uma chave primária a uma tabela MySQL usando o comando ALTER TABLE ADD PRIMARY KEYQuantidade de visualizações: 8451 vezes |
|
Em algumas situações poderá ocorrer a necessidade, talvez por motivos de manutenção na base de dados, de criar uma chave primária para uma tabela MySQL já existente. Isso pode ser feito com o auxílio do comando DDL ALTER TABLE ADD PRIMARY KEY. Comece criando uma tabela livros sem chave primária. Veja o comando CREATE TABLE: CREATE TABLE livros( id int(11) unsigned NOT NULL, titulo varchar(45) NOT NULL, paginas int(10) unsigned NOT NULL )ENGINE=InnoDB; Se dispararmos um comando DESCRIBE livros veremos a seguinte estrutura: Field Type Null Key Default Extra id int(11) unsigned NO - - - titulo varchar(45) NO - - - paginas int(10) unsigned NO - - - ALTER TABLE livros ADD PRIMARY KEY(id); Dispare o comando DESCRIBE livros novamente e veja o resultado. Agora o campo id está marcado como chave primária: Field Type Null Key Default Extra id int(11) unsigned NO PRI - - titulo varchar(45) NO - - - paginas int(10) unsigned NO - - - |
C# ::: Coleções (Collections) ::: ArrayList |
Como percorrer os elementos de uma ArrayList do C# usando um objeto da interface IEnumeratorQuantidade de visualizações: 8787 vezes |
|
Um objeto da interface IEnumerator (no namespace System.Collections) pode ser usado para percorrer os elementos de uma coleção não-genérica, como é o caso da classe ArrayList. Podemos usar um enumerador para acessar os itens da lista individualmente, mas estes não poderão sofrer modificações por meio do enumerador. Um enumerador para uma ArrayList é obtido por meio do método GetEnumerator(). Veja: // vamos obter um enumerador para a lista IEnumerator enumerador = lista.GetEnumerator(); Observe agora um trecho de código no qual temos uma lista contendo 5 inteiros. Note o uso de um IEnumerator para percorrer os elementos e exibir o valor contido no elemento atual:
static void Main(string[] args){
// não se esqueça
// using System.Collections;
// Cria o ArrayList
ArrayList lista = new ArrayList();
// Adiciona 5 inteiros
lista.Add(65);
lista.Add(2);
lista.Add(13);
lista.Add(97);
lista.Add(4);
// vamos obter um enumerador para a lista
IEnumerator enumerador = lista.GetEnumerator();
// vamos percorrer a lista usando o enumerador
while(enumerador.MoveNext()){
Console.WriteLine(enumerador.Current);
}
Console.Write("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
Para saber mais sobre os enumeradores, consulte minhas dicas sobre a interface IEnumerator. |
Desafios, 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 |







