Você está aqui: Cards de Cards de Hidrologia |
||
|
||
|
|
||
Java ::: Classes e Componentes ::: JTextArea |
Java Swing - Como detectar alterações no conteúdo de um JTextAreaQuantidade de visualizações: 2 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) ::: Queue |
Como criar uma fila em Java usando a interface QueueQuantidade de visualizações: 1321 vezes |
|
Uma fila é uma estrutura de dados do tipo FIFO (First-in, First-out), ou seja, o primeiro elemento a entrar é o primeiro a sair. Podemos pensar em uma estrutura de dados do tipo fila como uma fila real de um banco ou supermercado. A linguagem Java não fornece uma classe pronta chamada Queue. Em vez disse nós temos uma interface Queue e suas implementações concretas, a saber, as classes java.util.LinkedList e java.util.PriorityQueue. É claro que existem outras implementações, mas estas duas são as que usamos com mais frequencia. Como nesta dica a nossa intenção é representar uma fila comum, nós vamos descartar a classe PriorityQueue (fila de prioridade) e nos ater à implementação de Queue fornecida pela classe LinkedList. Vamos começar com um exemplo bem simples. Veja um trecho de código no qual enfileiramos 5 valores inteiros em uma fila e os desenfileiramos em seguida:
package estudos;
import java.util.LinkedList;
import java.util.Queue;
public class Estudos{
public static void main(String[] args){
// vamos criar uma fila de inteiros e adicionar 5 inteiros
Queue<Integer> fila = new LinkedList<>();
fila.add(76);
fila.add(80);
fila.add(11);
fila.add(32);
fila.add(45);
// agora vamos desenfileirar todos os elementos
System.out.println("Ordem de remoção dos elementos da fila:");
while(!fila.isEmpty()){
System.out.print(fila.poll() + " ");
}
}
}
Ao executar este código Java nós teremos o seguinte resultado: Ordem de remoção dos elementos da fila: 76 80 11 32 45 |
Java ::: Java para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular o determinante de uma matriz 3x3 usando a regra de Sarrus em Java - Java para Álgebra LinearQuantidade de visualizações: 4264 vezes |
|
Como calcular o determinante de uma matriz 3x3 usando a Regra de Sarrus em Java - Java para Álgebra Linear Os estudos da Geometria Analítica e Álgebra Linear envolvem, em boa parte de seus cálculos, a magnitude de vetores, ou seja, o módulo, tamanho, comprimento ou intensidade dos vetores. E isso não é diferente em relação às matrizes. Quando uma matriz é envolvida nos cálculos, com muita frequência precisamos obter o seu determinante, que nada mais é que um número real associado à todas as matrizes quadradas. Nesta dica mostrarei como obter o determinante de uma matriz quadrada de ordem 3, ou seja, três linhas e três colunas, usando a regra de Sarrus (somente matrizes 3x3). Note que é possível obter o mesmo resultado com o Teorema de Laplace, que não está restrito às matrizes quadradas de ordem 3. Veja também que não considerei as propriedades do determinante, o que, em alguns casos, simplifica muito os cálculos. Então, vamos supor a seguinte matriz 3x3: ![]() O primeiro passo é copiarmos a primeira e a segunda colunas para o lado direito da matriz. Assim: ![]() Agora dividimos a matriz em dois conjuntos: três linhas diagonais descendentes e três linhas diagonais ascendentes: ![]() Agora é só efetuar cálculos. Multiplicamos e somamos os elementos de cada conjunto, subtraindo o segundo conjunto do primeiro. Veja: (1 x 5 x 9 + 2 x 6 x 7 + 3 x 4 x 8) - (7 x 5 x 3 + 8 x 6 x 1 + 9 x 4 x 2) = 0 Como podemos ver, o determinante dessa matriz é 0. E agora veja o código Java no qual declaramos e instanciamos uma matriz 3x3 de double e, em seguida, calculamos o seu determinante:
package arquivodecodigos;
public class Estudos{
public static void main(String[] args){
double m[][] = {{1, 2, 3}, {2, 5, 2}, {1, 3, 1}};
// calcula o determinante usando a Regra de Sarrus
double det = ((m[0][0] * m[1][1] * m[2][2]) + (m[0][1]
* m[1][2] * m[2][0]) + (m[0][2] * m[1][0] * m[2][1]))
- ((m[2][0] * m[1][1] * m[0][2]) + (m[2][1]
* m[1][2] * m[0][0]) + (m[2][2] * m[1][0] * m[0][1]));
System.out.println("O determinante da matriz é: " + det);
}
}
Ao executar este código Java nós teremos o seguinte resultado: O determinante da matriz é: 2.0 |
C ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Exercício Resolvido de C - Como converter minutos em segundos usando CQuantidade de visualizações: 782 vezes |
|
Pergunta/Tarefa: Escreva um programa C para converter minutos em segundos. Você deverá criar uma função converter() que receberá, como argumento, um número inteiro representando os minutos e retornará, também como um inteiro, os segundos correspondentes. Os minutos deverão ser informados pelo usuário. Sua saída deverá ser parecida com: Informe os minutos: 15 A quantidade de segundos é: 900 Veja a resolução comentada deste exercício em C:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
// protótipo da função usada para converter minutos
// em segundos
int converter(int minutos);
// função principal do programa
int main(int argc, char *argv[]){
// variáveis usadas na resolução do problema
int minutos, segundos;
setlocale(LC_ALL,""); // para acentos do português
// vamos pedir para o usuário informar os minutos
printf("Informe os minutos: ");
scanf("%d", &minutos);
// agora vamos chamar a função converter() para converter
// os minutos em segundos
segundos = converter(minutos);
// e mostramos o resultado
printf("A quantidade de segundos é: %d", segundos);
printf("\n\n");
system("PAUSE");
return 0;
}
// função usada para converter minutos em segundos
int converter(int minutos){
int segundos = minutos * 60;
return segundos;
}
|
jQuery ::: Dicas & Truques ::: AJAX |
Apostila jQuery para iniciantes - Como fazer requisições assíncronas usando o método ajax() do jQueryQuantidade de visualizações: 19421 vezes |
|
O jQuery fornece formas bem simples de se fazer requisições assíncronas usando AJAX. Uma destas formas é o método ajax(). Este método possui quase uma dezena de parâmetros adicionais e retorna um objeto XMLHttpRequest, que pode ser usado para fins de encadeamento ou cancelamento da requisição HTTP. Enquanto outras dicas cobrem todos os parâmetros deste método, aqui nos concentraremos apenas em escrever um exemplo completo de seu uso. Trata-se de uma aplicação que fará uma solicitação HTTP POST a um código PHP que retornará um arquivo XML com alguns valores. Vamos começar analisando o codigo PHP:
<?
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Content-Type: text/xml");
$nome = utf8_decode($_POST["nome"]);
$cidade = utf8_decode($_POST["cidade"]);
$estado = utf8_decode($_POST["estado"]);
echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n";
echo "<pessoas>\n";
echo " <pessoa>\n";
echo " <nome>" . $nome . "</nome>\n";
echo " <cidade>" . $cidade . "</cidade>\n";
echo " <estado>" . $estado . "</estado>\n";
echo " </pessoa>\n";
echo "</pessoas>";
?>
Salve este código PHP como pesquisa.php. Tudo que ele faz é receber alguns parâmetros POST e usá-los para montar um arquivo XML. Em um determinado momento, o arquivo XML retornado poderá ser algo como: <?xml version="1.0" encoding="iso-8859-1"?> <pessoas> <pessoa> <nome>OSMAR J. SILVA</nome> <cidade>GOIÂNIA</cidade> <estado>GO</estado> </pessoa> </pessoas> Fique de olho na estrutura deste arquivo XML enquanto progredimos. Veja agora uma página HTML completa que mostra como usar o método ajax() para se conectar a este código PHP e obter os dados gerados em forma de XML:
<html>
<head><title>Estudos jQuery</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
<!-- Importa a biblioteca jQuery -->
<script src="jquery.js" type="text/javascript"></script>
<script type="text/javascript">
function carregarDados(){
var dados = {'nome': "Osmar J. Silva",
'cidade': "Goiânia",
'estado': "GO"}
$.ajax({
url: 'pesquisar.php',
type: 'post',
dataType: 'xml',
data: dados,
success: function(data){
$(data).find('pessoa').each(function(){
var nome = $(this).find('nome').text();
var cidade = $(this).find('cidade').text();
var estado = $(this).find('estado').text();
$("#parag").html("Nome: " + nome + "<br>");
$("#parag").append("Cidade: " + cidade + "<br>");
$("#parag").append("Estado: " + estado);
});
},
error: function(XMLHttpRequest, textStatus,
errorThrown){
window.alert('Houve um erro!');
}
});
}
</script>
</head>
<body>
<button onclick="carregarDados()">Carregar dados
</button>
<p id="parag"></p>
</body>
</html>
Veja como usamos os métodos find() e each() para acessar e percorrer os elementos XML. Estes métodos são encontrados na seção de métodos para percorrer o HTML DOM e o XML DOM. Para finalizar lembre-se de que o método ajax() retorna um objeto XMLHttpRequest. |
Veja mais Dicas e truques de jQuery |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |









