![]() |
|
|
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 ::: Dicas & Truques ::: Arquivos e Diretórios |
Como criar diretórios em Java usando o método mkdir() da classe FileQuantidade de visualizações: 4 vezes |
|
Em algumas ocasiões nossos programas precisam criar diretórios. Na linguagem Java isso pode ser feito com o auxílio do método mkdir() da classe File, do pacote java.io. Este método não recebe nenhum parâmetro e atua em cima de uma instância da classe File. Além disso, ele retorna um boolean indicando o sucesso ou não da operação. Veja o código completo para um exemplo:
package arquivodecodigos;
// precisamos importar o pacote java.io
import java.io.*;
public class Estudos{
public static void main(String[] args){
// nome e caminho do diretório que será criado
File diretorio = new File("c:\\estudos_java\\imagens");
// o diretório foi criado com sucesso?
if(diretorio.mkdir()){
System.out.println("Diretório criado com sucesso");
}
else{
System.out.println("Nao foi possível criar o diretório");
}
}
}
Se o diretório puder ser criado, você verá uma mensagem: Diretório criado com sucesso Observe que este método pode disparar uma exceção do tipo SecurityException se você não tiver permissão para criar diretórios nos locais especificados. |
Java ::: Classes e Componentes ::: JTextArea |
Java Swing - Como detectar alterações no conteúdo de um JTextAreaQuantidade de visualizações: 4 vezes |
|
Nesta dica veremos como é possível escrever uma aplicação Java Swing que detecta quando o conteúdo de um controle JTextArea é alterado. Para isso nós vamos fazer a janela JFrame implementar a interface DocumentListener e fornecer comportamento para seus método insertUpdate(), removeUpdate() e changedUpdate(). O resultado do código é refletido na imagem abaixo: ![]() E agora o código Java Swing completo para o exemplo:
package arquivodecodigos;
import javax.swing.*;
import java.awt.*;
import javax.swing.event.*;
public class Estudos extends JFrame implements DocumentListener{
JTextArea textArea;
JLabel aviso;
public Estudos() {
super("Detectando alterações em um JTextArea");
Container c = getContentPane();
FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
c.setLayout(layout);
textArea = new JTextArea(10, 20);
textArea.setLineWrap(true);
textArea.getDocument().addDocumentListener(this);
aviso = new JLabel("Aviso de alterações");
c.add(textArea);
c.add(aviso);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void insertUpdate(DocumentEvent e) {
aviso.setText("Aviso de Inserção: " + e.toString());
}
public void removeUpdate(DocumentEvent e) {
aviso.setText("Aviso de Remoção: " + e.toString());
}
public void changedUpdate(DocumentEvent e) {
// pode obter os dois anteriores aqui
// aviso.setText("Aviso de Alteração: " + e.toString());
}
}
|
Java ::: Coleções (Collections) ::: HashMap |
Como adicionar novos mapeamentos chave-valor a um HashMap do Java usando o método put()Quantidade de visualizações: 10023 vezes |
Novos mapeamentos chave-valor são adicionados a um HashMap da linguagem Java usando-se o método put(). Veja sua assinatura:public V put(K key, V value) Note que este método recebe a chave e o valor a ser inserido e retorna um objeto do mesmo tipo daquele fornecido no segundo argumento. Este retorno é muito útil para sabermos se o novo valor não sobrepôs um valor já existente. Se o retorno for null, o novo valor foi inserido. Caso contrário o retorno será o valor existente antes da sobreposição. Apenas tenha cuidado com valores null existentes como chaves ou valores. Nestes casos o retorno do método put não ajudará em nada. Veja um exemplo do uso do método put():
package estudos;
import java.util.*;
public class Estudos{
public static void main(String[] args){
// vamos criar uma instância de HashMap
HashMap<Integer, String> clientes = new HashMap<Integer, String>();
// vamos adicionar três chaves e seus valores
clientes.put(new Integer(1), "Osmar J. Silva");
clientes.put(new Integer(2), "Salvador Miranda de Andrade");
clientes.put(new Integer(3), "Marcos da Costa Santos");
// é possível também referenciar o valor adicionado
// ao HashMap, uma vez que este é o retorno do métoto put()
String nome = clientes.put(new Integer(2), "Carlos");
if(nome == null){
System.out.println("Novo valor inserido com sucesso");
}
else{
System.out.println("Valor já existia. Houve sopreposição");
}
System.exit(0);
}
}
Ao executar este código Java nós teremos o seguinte resultado: Valor já existia. Houve sopreposição |
Python ::: wxPython ::: Eventos e Tratadores de Eventos |
Como tratar o evento wx.EVT_MOVE em suas aplicações wxPython - Interfaces gráficas no PythonQuantidade de visualizações: 729 vezes |
|
Em algumas situações nós precisamos reagir ao evento wx.EVT_MOVE em nossas aplicações wxPython. Este evento é gerado todas as vezes que movemos uma janela para uma nova posição. Veja o código completo para uma aplicação wxPython na qual interceptamos e tratamos o evento wx.EVT_MOVE na janela principal do programa. Note o uso da função e.GetPosition() para recuperarmos as coordenadas x e y do evento e mostrarmos o resultado em controles wx.StaticText.
# vamos importar o framework wxPython
import wx
# classe que representará a janela principal da
# aplicação wxPython
class JanelaPrincipal(wx.Frame):
# o método construtor
def __init__(self, *args, **kw):
# chama o construtor da classe wx.Frame
super(JanelaPrincipal, self).__init__(*args, **kw)
# chama a função que inicializa a GUI
self.InicializarGUI()
# método usado para gerenciar o evento Move
def OnMove(self, e):
# obtemos a posição do evento e guardamos nas variáveis x e y
x, y = e.GetPosition()
# mostramos os valores nas labels
self.st1.SetLabel(str(x))
self.st2.SetLabel(str(y))
# função que inicializa a GUI do programa
def InicializarGUI(self):
# criamos dois controles StaticText com os labels já definindos
wx.StaticText(self, label='x:', pos=(10,10))
wx.StaticText(self, label='y:', pos=(10,30))
# criamos mais dois controles StaticText para escrevermos neles
self.st1 = wx.StaticText(self, label='', pos=(30, 10))
self.st2 = wx.StaticText(self, label='', pos=(30, 30))
# fazemos um binding o evento wx.EVT_MOVE para a
# função OnMove que criamos
self.Bind(wx.EVT_MOVE, self.OnMove)
# definimos o tamanho da janela
self.SetSize((450, 350))
# define a cor de fundo da janela (Windows 10)
self.SetBackgroundColour((150, 250, 100, 255))
# definimos o título da janela
self.SetTitle('O evento Move')
# e centralizamos a janela
self.Centre()
# função principal do programa Python
def main():
# vamos criar a aplicação wxPython
app = wx.App()
janela_principal = JanelaPrincipal(None)
janela_principal.Show()
app.MainLoop()
if __name__ == "__main__":
main()
|
Nossas 20 dicas & truques de programação mais populares |
|
Java - Como calcular a transposta de uma matriz em Java - Java para Geometria Analítica e Álgebra Linear |
Você também poderá gostar das dicas e truques de programação abaixo |
|
C - Como comparar os primeiros n caracteres de duas strings usando a função strncmp() da linguagem C JavaScript - Como inverter a ordem dos elementos de um array em JavaScript - Vetores e matrizes em JavaScript JavaScript - Como retornar o índice da primeira ocorrência de um elemento em um array do JavaScript usando a função indexOf() JavaScript - Como testar se todos os elementos de um array satisfazem uma condição em JavaScript usando a função every() |
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 |





