Java ::: Pacote java.awt ::: Graphics |
Como definir a cor para o contexto de desenho usando o método setColor() da classe Graphics do JavaQuantidade de visualizações: 9152 vezes |
|
Computação Gráfica em Java - Como desenhar gráficos em Java. Muitas vezes queremos definir com qual cor um determinado desenho será realizado. Isso é feito por meio do uso do método setColor() da classe Graphics. Este método aceita um objeto da classe Color. Veja um exemplo no qual definimos a cor que será usada para desenhar na superfície de um JLabel:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Estudos extends JFrame{
JLabel label;
public Estudos() {
super("Desenhando");
Container c = getContentPane();
c.setLayout(new BorderLayout());
// Cria um JLabel
label = new JLabel();
c.add(label, BorderLayout.CENTER);
// Cria um botão
JButton btn = new
JButton("Desenhar Linhas Coloridas");
btn.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
Graphics graphics = label.getGraphics();
// obtém a cor atual
Color corAnt = graphics.getColor();
// desenha linhas coloridas no JLabel
graphics.setColor(Color.RED); // vermelho
graphics.drawLine(10, 15, 100, 10);
graphics.setColor(Color.BLUE); // azul
graphics.drawLine(20, 30, 80, 150);
graphics.setColor(Color.YELLOW); // amarelo
graphics.drawLine(50, 50, 120, 30);
graphics.setColor(Color.GREEN); // verde
graphics.drawLine(100, 100, 310, 100);
// retorna a cor original
graphics.setColor(corAnt);
}
}
);
// Adiciona o botão à janela
c.add(btn, BorderLayout.SOUTH);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Ao executar este programa Java Swing você verá quatro linhas desenhadas, cada uma de uma cor diferente. |
C ::: Dicas & Truques ::: Strings e Caracteres |
Como inverter (reverter) o conteúdo de uma string em C usando uma função str_reverse() personalizadaQuantidade de visualizações: 24369 vezes |
O código abaixo mostra como você pode implementar uma função que inverte o conteúdo de uma string. Veja que o argumento para um função é um ponteiro para a string a ser invertida:
#include <stdio.h>
#include <stdlib.h>
// função que reverte uma string
void str_reverse(char* str)
{
char ch;
int i, j;
for(i = 0, j = strlen(str) - 1; i < j; ++i, --j)
{
ch = str[i];
str[i] = str[j];
str[j] = ch;
}
}
int main(int argc, char *argv[])
{
char nome[] = "Osmar J. Silva";
// original
printf("Original: %s\n", nome);
// inverte
str_reverse(nome);
printf("Invertido: %s\n", nome);
printf("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código nós teremos o seguinte resultado: Original: Osmar J. Silva Invertido: avliS .J ramsO Pressione qualquer tecla para continuar... |
C# ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Apostila C# para iniciantes - Como escrever um laço for infinito em C#Quantidade de visualizações: 10572 vezes |
A linguagem C# permite a criação de laços for infinitos. Para isso, só precisamos omitir as partes de inicialização, teste de condição de parada e incremento ou decremento da variável de controle. Veja um exemplo:
using System;
namespace Estudos{
class Program{
static void Main(string[] args) {
for (; ; ) {
Console.Write("Digite um número inteiro " +
"(-1 para sair): ");
int valor = int.Parse(Console.ReadLine());
// testa se o valor lido é -1. Se for pára
// o laço
if (valor == -1)
break;
// exibe o valor lido
Console.WriteLine("Valor lido: {0}", valor);
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executarmos este código nós teremos o seguinte resultado: Digite um número inteiro (-1 para sair): 54 Valor lido: 54 Digite um número inteiro (-1 para sair): 23 Valor lido: 23 Digite um número inteiro (-1 para sair): 90 Valor lido: 90 Digite um número inteiro (-1 para sair): -1 Pressione uma tecla para sair... Veja como usamos a instrução break para sair do laço caso o valor lido seja -1. Observe ainda o uso do método Parse() da classe Int32 para converter a string digitada pelo usuário em um valor do tipo int. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Hidrologia e Hidráulica |
Exercícios Resolvidos de Java - Como aplicar a Fórmula da Vazão pelo Método Racional em Java - De acordo com o método racional, a vazão máxima a ser consideradaQuantidade de visualizações: 505 vezes |
|
Pergunta/Tarefa: Neste exercício de Java nós veremos como aplicar a Fórmula da Vazão pelo Método Racional para resolver uma questão de Hidrologia que caiu no concurso para Analista na Área de Engenharia Sanitária do MPE-MS em 2013. 1) De acordo com o método racional, a vazão máxima a ser considerada no projeto de um bueiro para uma chuva de intensidade igual a 2 mm/h, com duração igual ou superior ao tempo de concentração da bacia de contribuição que possui área igual a 18 km2 e coeficiente de escoamento superficial igual a 0,7 será, em m3/s, igual a A) 5,4. B) 7,0. C) 11,5. D) 14,0. E) 25,2. Sua saída deve ser parecida com: Intensidade da chuva em mm/h: 2 Área da bacia em quilômetros quadrados: 18 Coeficiente de escoamento: 0.7 A vazão máxima é: 7.0 O primeiro passo para resolver esta questão é relembrando a fórmula da Vazão pelo Método Racional. Apresentado pela primeira vez em 1851 por Mulvaney e usado por Emil Kuichling em 1889, o Método Racional é um método indireto e estabelece uma relação entre a chuva e o escoamento superficial (deflúvio). Usamos esta fórmula para calcular a vazão de pico de uma determinada bacia, considerando uma seção de estudo. Eis a fórmula: \[Q = \frac{C \cdot I \cdot A}{360} \] Onde: Q = vazão de pico (m3/s); C = coeficiente de escoamento superficial que varia de 0 a 1. I = intensidade média da chuva (mm/h); A = área da bacia (ha), onde 1 ha = 10.000m2 Na questão do concurso nós já temos a intensidade da chuva em milímetros por hora, mas a área da bacia está em quilômetros quadrados, o que exigirá uma conversão para hectares. No código Java eu mostro essa parte comentada. Então, hora de vermos a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos ler a precipitação ou intensidade da chuva em mm/h
System.out.print("Intensidade da chuva em mm/h: ");
double intensidade = Double.parseDouble(entrada.nextLine());
// vamos ler a área da bacia em quilômetros quadrados
System.out.print("Área da bacia em quilômetros quadrados: ");
double area_bacia = Double.parseDouble(entrada.nextLine());
// vamos ler o coeficiente de escoamento
System.out.print("Coeficiente de escoamento: ");
double coeficiente = Double.parseDouble(entrada.nextLine());
// agora vamos transformar quilômetros quadrados em
// hectares
area_bacia = area_bacia * 100;
// e vamos calcular a vazão de pico em metros cúbicos
double vazao = ((coeficiente * intensidade * area_bacia) / 360.0);
// e mostramos o resultado
System.out.println("A vazão máxima é: " + vazao);
}
}
|
Você também poderá gostar das dicas e truques de programação abaixo |
|
Java - Como testar se um ponto está dentro de um círculo em Java - Desenvolvimento de Games com Java GNU Octave - Como calcular o cosseno de um ângulo em GNU Octave usando a função cos() - Calculadora de cosseno em Octave C++ - Como inicializar os valores dos elementos de um vetor C++ usando valores randômicos - Revisado |
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 |




