Você está aqui: Cards de Engenharia Civil - Estruturas de Aço e Madeira |
||
|
||
|
|
||
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: 1 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);
}
}
|
Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como converter Coordenadas Cartesianas para Coordenadas Polares usando PythonQuantidade de visualizações: 6315 vezes |
|
Nesta nossa série de Python para Geometria Analítica e Álgebra Linear, mostrarei um código 100% funcional para fazer a conversão entre coordenadas cartesianas e coordenadas polares. Esta operação é muito frequente em computação gráfica e é parte integrante das disciplinas dos cursos de Engenharia (com maior ênfase na Engenharia Civil). Na matemática, principalmente em Geometria e Trigonometria, o sistema de Coordenadas no Plano Cartesiano, ou Espaço Cartesiano, é um sistema que define cada ponto em um plano associando-o, unicamente, a um conjuntos de pontos numéricos. Dessa forma, no plano cartesiano, um ponto é representado pelas coordenadas (x, y), com o x indicando o eixo horizontal (eixo das abscissas) e o y indicando o eixo vertical (eixo das ordenadas). Quando saímos do plano (espaço 2D ou R2) para o espaço (espaço 3D ou R3), temos a inclusão do eixo z (que indica profundidade). Já o sistema de Coordenadas Polares é um sistema de coordenadas em duas dimensões no qual cada ponto no plano é determinado por sua distância a partir de um ponto de referência conhecido como raio (r) e um ângulo a partir de uma direção de referência. Este ângulo é normalmente chamado de theta (__$\theta__$). Assim, um ponto em Coordenadas Polares é conhecido por sua posição (r, __$\theta__$). Antes de prosseguirmos, veja uma imagem demonstrando os dois sistemas de coordenadas: ![]() A fórmula para conversão de Coordenadas Cartesianas para Coordenadas Polares é: __$r = \sqrt{x^2+y2}__$ __$\theta = \\arctan\left(\frac{y}{x}\right)__$ E aqui está o código Python completo que recebe as coordenadas cartesianas (x, y) e retorna as coordenadas polares (r, __$\theta__$):
# importamos a bibliteca NumPy
import numpy as np
import math as math
def main():
# vamos ler as coordenadas cartesianas
x = float(input("Valor de x: "))
y = float(input("Valor de y: "))
# vamos calcular o raio
raio = math.sqrt(math.pow(x, 2) + math.pow(y, 2))
# agora calculamos o theta (ângulo) em radianos
theta = np.arctan2(y, x)
# queremos o ângulo em graus também
angulo_graus = 180 * (theta / math.pi)
# e exibimos o resultado
print("As Coordenadas Polares são:")
print("raio = %0.4f, theta = %0.4f, ângulo em graus = %0.2f"
% (raio, theta, angulo_graus))
if __name__== "__main__":
main()
Ao executar este código nós teremos o seguinte resultado: Valor de x: -1 Valor de y: 1 As Coordenadas Polares são: raio = 1.4142, theta = 2.3562, ângulo em graus = 135.00 Veja que as coordenadas polares equivalentes são (__$\sqrt{2}__$, __$\frac{3\pi}{4}__$), com o theta em radianos. Sim, os professores das disciplinas de Geometria Analítica e Álgebra Linear, Física e outras gostam de escrever os resultados usando raízes e frações em vez de valores reais. |
Portugol ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercício Resolvido de Portugol - Um programa que lê três números inteiros e mostra o maiorQuantidade de visualizações: 3875 vezes |
|
Pergunta/Tarefa: Faça um algoritmo em Portugol que solicita três números inteiros e mostra o maior deles. Exiba uma mensagem caso os três números não forem diferentes. Sua saída deverá ser parecida com: Informe o primeiro número: 5 Informe o segundo número: 8 Informe o terceiro número: 3 O segundo número é o maior Veja a resolução comentada deste exercício usando Portugol Webstudio:
// Um programa que lê três números inteiros e mostra o maior
programa {
funcao inicio() {
// variáveis usadas na resolução do problema
inteiro num1, num2, num3
// vamos solicitar os três números inteiros
escreva("Informe o primeiro número: ")
leia(num1)
escreva("Informe o segundo número: ")
leia(num2)
escreva("Informe o terceiro número: ")
leia(num3)
// o primeiro número é o maior?
se (num1 > num2 e num1 > num3) {
escreva("O primeiro número é o maior")
}
senao {
// o segundo número é o maior?
se (num2 > num1 e num2 > num3) {
escreva("O segundo número é o maior")
}
senao{
// o terceiro número é o maior?
se (num3 > num1 e num3 > num2) {
escreva("O terceiro número é o maior")
}
// os número não são diferentes
senao {
escreva("Os três números não são diferentes")
}
}
}
}
|
C# ::: Windows Forms ::: DataGridView |
Como retornar a célula atual em um DataGridView do C# Windows Forms como um objeto da classe DataGridViewCellQuantidade de visualizações: 13423 vezes |
|
A célula atual de um DataGridView pode ser obtida por meio da propriedade CurrentCell. Esta propriedade retorna um objeto da classe DataGridViewCell. Por meio de propriedades e métodos desta classe podemos obter os índices da coluna e da linha às quais a célula pertence, seu valor, estilo, etc. Veja um trecho de código no qual obtemos o valor da célula atual de um DataGridView:
private void button3_Click(object sender, EventArgs e){
// vamos obter a célula atual (que possui o foco)
DataGridViewCell celulaAtual = dataGridView1.CurrentCell;
// vamos exibir o valor da célula atual
string valor = celulaAtual.Value.ToString();
MessageBox.Show("O valor da célula atual é: "
+ valor);
}
Se não houver célula atual no DataGridView, o retorno da propriedade CurrentCell será null. |
Java ::: Pacote java.lang ::: String |
Como verificar se uma string Java contém uma determinada sequencia de caracteres (ou substring) usando o método contains()Quantidade de visualizações: 12012 vezes |
Em algumas situações precisamos verificar se uma sequencia de caracteres ou substring está contida em uma string. Para isso podemos usar o método contains() da classe String. Veja sua assinatura:public boolean contains(CharSequence s) Note que o método recebe um argumento do tipo CharSequence, que é uma interface implementada pelas classes CharBuffer, Segment, String, StringBuffer e StringBuilder. O método retorna true se a sequencia de caracteres for encontrada e false em caso contrário. Veja um trecho de código no qual usamos este método para verificar se uma palavra está contida em uma frase:
public class Main {
public static void main(String[] args) {
// vamos declarar uma string
String frase = "Gosto muito de Java e PHP";
// vamos verificar se a string contém a palavra "Java"
if(frase.contains("Java")){
System.out.println("A frase contém a substring informada");
}
else{
System.out.println("A frase não contém a substring informada");
}
}
}
Este método pode atirar uma exceção do tipo NullPointerException se o argumento fornecido for null. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
|
Laravel - Como criar um CRUD completo em Laravel 8 - CRUD em Laravel usando PHP e MySQL (MariaDB) - Parte 2 |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






