![]() |
|
|
Planilha de Dimensionamento de Tubulações
Hidráulicas Água Fria e Água Quente CompletaNossa planilha automática de dimensionamento de tubulações de água fria e quente é uma ferramenta desenvolvida para auxiliar engenheiros e projetistas no cálculo rápido e preciso das redes hidráulicas de edificaçoes. Por meio da inserçao de dados como vazao, diâmetro da tubulaçao, comprimento da rede, material do tubo e coeficientes hidráulicos, a planilha realiza automaticamente os cálculos necessários para verificar velocidade da água, perda de carga e dimensionamento adequado das tubulaçoes. |
||
Java ::: Aplicativos Completos ::: Fontes |
Como criar um visualizador de fontes em Java Swing - Código fonte completoQuantidade de visualizações: 11183 vezes |
|
Código completo Java: Como escrever um visualizador de fontes em Java Swing Nesta dica eu mostro o código completo para uma aplicação GUI usado Java Swing e que permite visualizar as fontes instaladas no sistema. Ao clicar em uma das fontes exibidas em uma JList, o texto da JLabel é formatado de acordo com a fonte escolhida. Note que montei toda a GUI em código mesmo, ou seja, sem usar o editor visual do Netbeans ou outra IDE. Esse é um bom exercício para entender os elementos que compõem interfaces gráficas do Java Swing. Eis o código completo para o exemplo:
package arquivodecodigos;
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;
public class Estudos extends JFrame
implements ListSelectionListener{
JLabel label = new JLabel("Observe este texto");
public Estudos(){
super("Visualizados de Fontes");
String[] fontNames; // nomes das fontes
Toolkit toolkit = Toolkit.getDefaultToolkit();
fontNames =
GraphicsEnvironment.getLocalGraphicsEnvironment().
getAvailableFontFamilyNames();
Vector fonts = new Vector();
for(int i = 0; i < fontNames.length; i++){
fonts.add(new Font(fontNames[i], Font.PLAIN, 16));
}
JList fontList = new JList(fonts);
fontList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
fontList.setCellRenderer(new FontCellRenderer());
JScrollPane scrollPane = new JScrollPane(fontList);
JPanel p = new JPanel();
p.add(scrollPane);
fontList.addListSelectionListener(this);
getContentPane().add(p, "Center");
getContentPane().add(label, "South");
setSize(500, 250);
setVisible(true);
}
@Override
public void valueChanged(ListSelectionEvent evt){
JList source = (JList) evt.getSource();
Font font = (Font) source.getSelectedValue();
label.setFont(font);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
// Classe personalizada que implementa ListCellRenderer
class FontCellRenderer implements ListCellRenderer{
@Override
public Component getListCellRendererComponent(
final JList list, final Object value,
final int index, final boolean isSelected,
final boolean cellHasFocus){
return new JPanel(){
@Override
public void paintComponent(Graphics g){
super.paintComponent(g);
Font font = (Font) value;
String text = font.getFamily();
FontMetrics fm = g.getFontMetrics(font);
g.setColor(isSelected ? list.getSelectionBackground()
: list.getBackground());
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(isSelected ? list.getSelectionForeground()
: list.getForeground());
g.setFont(font);
g.drawString(text, 0, fm.getAscent());
}
@Override
public Dimension getPreferredSize() {
Font font = (Font) value;
String text = font.getFamily();
Graphics g = getGraphics();
FontMetrics fm = g.getFontMetrics(font);
return new Dimension(fm.stringWidth(text), fm.getHeight());
}
};
}
}
Ao executá-lo você terá um resultado parecido com: ![]() |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Pesquisando um valor em uma matriz de int e retornando o índice no qual o mesmo foi encontradoQuantidade de visualizações: 9875 vezes |
|
Pergunta/Tarefa: Escreva um programa Java GUI ou console que declara, constrói e inicializa uma matriz de 5 inteiros. Em seguida peça ao usuário para informar um valor inteiro e informe se o valor lido está contido na matriz. Se o valor for encontrado na matriz, retorne seu índice (lembre-se de que os índices dos elementos em uma matriz Java começam em 0). A declaração, construção e inicialização da matriz pode ser feita da seguinte forma:
// declara, constrói e inicializa uma matriz de 5 inteiros
int valores[] = {4, 21, 8, 120, 1};
Resposta/Solução: Veja a resolução comentada deste exercício usando Java console:
package estudos;
import javax.swing.JOptionPane;
public class Estudos {
public static void main(String[] args) {
// declara, constrói e inicializa uma matriz de 5 inteiros
int valores[] = {4, 21, 8, 120, 1};
// vamos ler um valor inteiro
int pesquisa = Integer.parseInt(JOptionPane.showInputDialog("Valor:"));
// vamos verificar se o valor está contido na matriz e retornar seu índice
int pos = -1; // índice não existente na matriz
for(int i = 0; i < valores.length; i++){
if(valores[i] == pesquisa){
pos = i; // encontrou? vamos anotar este índice
break;
}
}
// vamos mostrar o resultado
if(pos > -1){
JOptionPane.showMessageDialog(null, "O valor foi encontrado no índice: " +
pos);
}
else{
JOptionPane.showMessageDialog(null, "O valor não foi encontrado na matriz");
}
}
}
Uma idéia na resolução deste exercício é inicializar a variável que guardará o índice do elemento pesquisado com o valor -1. Assim, se no final da pesquisa o valor ainda for -1, sabemos que o elemento não foi encontrado. |
PostgreSQL ::: Dicas & Truques ::: Comandos DDL (Data Definition Language - Linguagem de Definição de Dados) |
Como excluir uma base de dados no PostgreSQL usando o comando DDL DROP DATABASEQuantidade de visualizações: 14645 vezes |
|
Em algumas situações precisamos excluir uma base de dados no PostgreSQL. Isso pode ser feito por meio do uso do comando DLL DROP DATABASE. Este comando pode ser disparado via linha de comando SQL Shell (psql), na janela de Query do pgAdmin ou a partir de uma linguagem de programação. No entanto, é importante saber que você não conseguirá excluir uma base de dados que você ou outros usuários estejam conectados no momento. Use o comando DROP DATABASE com cuidado. Ao dispará-lo, os dados contidos na base de dados (tabelas, views, funções, triggers, etc) serão perdidos para sempre. Veja como podemos usar o comando DROP DATABASE para excluir uma base de dados chamada "estudos": DROP DATABASE estudos; Se você visualizar uma mensagem parecida com: Query returned successfully with no result in 261 ms. Então poderá estar certo de que a base de dados foi removida com sucesso. Se tentarmos excluir uma base de dados na qual alguém ainda está conectado, o PostgreSQL abortará a operação e nos exibirá a seguinte mensagem de erro: ERRO: banco de dados "estudos" está sendo acessado por outros usuários DETAIL: Há 1 outra sessão utilizando o banco de dados. ********** Error ********** ERRO: banco de dados "estudos" está sendo acessado por outros usuários SQL state: 55006 Detail: Há 1 outra sessão utilizando o banco de dados. ERRO: banco de dados "estudos" não existe ********** Error ********** ERRO: banco de dados "estudos" não existe SQL state: 3D000 DROP DATABASE IF EXISTS estudos; Agora o PostgreSQL trocará a mensagem de erro por uma mensagem de advertência: NOTA: banco de dados "estudos" não existe, ignorando Query returned successfully with no result in 14 ms. |
VB.NET ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em VB.NET dados dois pontos no plano cartesianoQuantidade de visualizações: 1480 vezes |
|
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x. Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano: ![]() Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é: \[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \] Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente. Veja agora o trecho de código na linguagem VB.NET que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos:
Imports System
Module Program
Sub Main(args As String())
' x e y do primeiro ponto
Console.Write("Informe a coordenada x do primeiro ponto: ")
Dim x1 As Double = Double.Parse(Console.ReadLine())
Console.Write("Informe a coordenada y do primeiro ponto: ")
Dim y1 As Double = Double.Parse(Console.ReadLine())
' x e y do segundo ponto
Console.Write("Informe a coordenada x do segundo ponto: ")
Dim x2 As Double = Double.Parse(Console.ReadLine())
Console.Write("Informe a coordenada y do segundo ponto: ")
Dim y2 As Double = Double.Parse(Console.ReadLine())
' agora vamos calcular o coeficiente angular
Dim m As Double = (y2 - y1) / (x2 - x1)
' e mostramos o resultado
Console.WriteLine("O coeficiente angular é: " & m)
Console.WriteLine("\nPressione qualquer tecla para sair...")
' pausa o programa
Console.ReadKey()
End Sub
End Module
Ao executar este código em linguagem VB.NET nós teremos o seguinte resultado: O coeficiente angular é: 0,6666666666666666 Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$):
Imports System
Module Program
Sub Main(args As String())
' x e y do primeiro ponto
Console.Write("Informe a coordenada x do primeiro ponto: ")
Dim x1 As Double = Double.Parse(Console.ReadLine())
Console.Write("Informe a coordenada y do primeiro ponto: ")
Dim y1 As Double = Double.Parse(Console.ReadLine())
' x e y do segundo ponto
Console.Write("Informe a coordenada x do segundo ponto: ")
Dim x2 As Double = Double.Parse(Console.ReadLine())
Console.Write("Informe a coordenada y do segundo ponto: ")
Dim y2 As Double = Double.Parse(Console.ReadLine())
' vamos obter o comprimento do cateto oposto
Dim cateto_oposto As Double = y2 - y1
' e agora o cateto adjascente
Dim cateto_adjascente As Double = x2 - x1
' vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa
' (em radianos, não se esqueça)
Dim tetha As Double = Math.Atan2(cateto_oposto, cateto_adjascente)
' e finalmente usamos a tangente desse ângulo para calcular
' o coeficiente angular
Dim tangente As Double = Math.Tan(tetha)
' e mostramos o resultado
Console.WriteLine("O coeficiente angular é: " & tangente)
Console.WriteLine("\nPressione qualquer tecla para sair...")
' pausa o programa
Console.ReadKey()
End Sub
End Module
Ao executar este código você verá que o resultado é o mesmo. No entanto, fique atento às propriedades do coeficiente angular da reta: 1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0; 2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0; 3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0). 4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe. |
Nossas 20 dicas & truques de programação mais populares |
|
Java - Como converter Coordenadas Cartesianas para Coordenadas Polares usando Java - Java para Engenharia |
Você também poderá gostar das dicas e truques de programação abaixo |
|
JavaScript - Como construir uma determinada data e hora usando o construtor do objeto Date do JavaScript Fórmulas da Física - Fórmula da Distância - Como calcular a distância dados a velocidade e o tempo decorrido Python - Como tratar o evento wx.EVT_PAINT em suas aplicações wxPython - Interfaces gráficas no Python VisuAlg - Exercício Resolvido de VisuAlg - Um programa que lê três números inteiros e mostra o maior |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






