Java ::: Pacote java.awt ::: Graphics |
Como desenhar linhas no Java Swing usando o método drawLine() da classe GraphicsQuantidade de visualizações: 15682 vezes |
O método drawLine() da classe Graphics nos permite desenhar linhas retas. Observe atentamente a assinatura deste método:public abstract void drawLine(int x1, int y1, int x2, int y2) Neste método, os parâmetros x1 e x2 representam as coordenadas iniciais da linha e x2 e y2 representam as coordenadas finais. Veja um trecho de código no qual desenhamos quatro linhas em um JLabel:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Estudos extends JFrame{
JLabel label;
public Estudos() {
super("Desenhando em um JLabel");
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");
btn.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
Graphics graphics = label.getGraphics();
// desenha linhas no JLabel
graphics.drawLine(10, 15, 100, 10);
graphics.drawLine(20, 30, 80, 150);
graphics.drawLine(50, 50, 120, 30);
graphics.drawLine(100, 100, 310, 100);
}
}
);
// 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);
}
}
Há algo de interessante neste código. Se você maximizar, minimizar ou redimensionar a janela verá que o desenho é apagado. Isso acontece porque todas as vezes que a janela sofre alguma alteração, ela é pintada novamente, juntamente com seus componentes filhos. Se você deseja que o desenho seja feito automaticamente novamente, é melhor fazer uma sub-classe do componente desejado e sobrescrever seu método paintComponent(). Nesta mesma seção você encontrará exemplos de como fazer isso. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Declarar e construir um vetor, pedir ao usuário para informar os valores dos elementos e mostrar o maior e o menor valor armazenado no vetorQuantidade de visualizações: 10698 vezes |
|
Pergunta/Tarefa: Escreva um programa Java GUI ou console que declara e constrói um vetor de 10 inteiros. Em seguida peça ao usuário para informar os valores para os elementos do vetor e, uma vez preenchida, percorra o vetor e mostre os valores armazenados. Para finalizar varra o vetor novamente e mostre os valores do maior e do menor elemento. Sua saída deverá ser parecida com: Informe o 1º valor: 8 Informe o 2º valor: 3 Informe o 3º valor: 4 Informe o 4º valor: 1 Informe o 5º valor: 6 Informe o 6º valor: 5 Informe o 7º valor: 7 Informe o 8º valor: 2 Informe o 9º valor: 3 Informe o 10º valor: 8 Os valores informados foram: 8 3 4 1 6 5 7 2 3 8 O maior valor é: 8 O menor valor é: 1 Veja a resolução comentada deste exercício usando Java console:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
// declara e constrói um vetor de 10 inteiros
int valores[] = new int[10];
// vamos pedir ao usuário para informar os 10 valores
for(int i = 0; i < valores.length; i++){
System.out.print("Informe o " + (i + 1) + "º valor: ");
valores[i] = Integer.parseInt(entrada.nextLine());
}
// vamos exibir os valores informados
System.out.println("\nOs valores informados foram: ");
for(int i = 0; i < valores.length; i++){
System.out.print(valores[i] + " ");
}
// agora vamos encontrar o maior e o menor valor no vetor
// vamos assumir que o primeiro elemento
// possui o maior e o menor valor
int maior = valores[0], menor = valores[0];
for(int i = 0; i < valores.length; i++){
// encontra o maior valor
if(valores[i] > maior){
maior = valores[i];
}
// encontra o menor valor
if(valores[i] < menor){
menor = valores[i];
}
}
System.out.println("\n\nO maior valor é: " + maior);
System.out.println("O menor valor é: " + menor);
}
}
Uma idéia na resolução deste exercício é assumir que o primeiro elemento do vetor possui tanto o maior quanto o menor valor. |
Delphi ::: Dicas & Truques ::: Data e Hora |
Como adicionar ou subtrair dias de uma data em Delphi usando a função IncDay()Quantidade de visualizações: 25678 vezes |
|
Em algumas situações precisamos adicionar ou subtrair dias de uma determinada data. Em Delphi isso pode ser feito com o auxílio da função IncDay() da unit DateUtils. Este função aceita um TDateTime e a quantidade de dias que queremos acrescentar ao TDateTime fornecido como argumento. O retorno será um novo TDateTime com a quantidade de dias acrescida. Veja um trecho de código no qual adicionamos 4 dias à data atual:
procedure TForm1.Button1Click(Sender: TObject);
var
hoje: TDateTime;
begin
// não esqueça de adicionar DateUtils ao seus uses
// vamos obter a data de hoje
hoje := Now;
// vamos exibir a data de hoje
ShowMessage('Hoje é: ' + DateToStr(hoje));
// vamos adicionar 4 dias à data de hoje
hoje := IncDay(hoje, 4);
// vamos exibir o resultado
ShowMessage('Daqui a 4 dias será: ' + DateToStr(hoje));
end;
É possível também usar a função IncDay() para substrair dias de uma data. Para isso só precisamos fornecer uma quantidade negativa de dias. Veja:
procedure TForm1.Button1Click(Sender: TObject);
var
hoje: TDateTime;
begin
// não esqueça de adicionar DateUtils ao seus uses
// vamos obter a data de hoje
hoje := Now;
// vamos exibir a data de hoje
ShowMessage('Hoje é: ' + DateToStr(hoje));
// vamos subtrair 5 dias da data de hoje
hoje := IncDay(hoje, -5);
// vamos exibir o resultado
ShowMessage('Há 5 dias era: ' + DateToStr(hoje));
end;
O valor padrão para o segundo argumento de IncDay() é 1. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
VB.NET ::: Dicas & Truques ::: Strings e Caracteres |
Como inverter uma string em VB.NET usando a função StrReverse()Quantidade de visualizações: 11096 vezes |
|
Em algumas situações nós precisamos inverter a ordem dos caracteres de uma palavra, frase ou texto em VB.NET. Para isso nós podemos usar a função StrReverse(). Veja um exemplo completo de seu uso:
Imports System
Module Program
Sub Main(args As String())
Dim frase As String = "Gosto de VB.NET"
' vamos mostrar a frase original
Console.WriteLine("A frase original é: " & frase)
' vamos inverter a string
frase = StrReverse(frase)
' mostramos a frase invertida
Console.WriteLine("A frase invertida é: " & frase)
Console.WriteLine(vbCrLf & "Pressione qualquer tecla para sair...")
' pausa o programa
Console.ReadKey()
End Sub
End Module
Ao executar este código VB.NET nós teremos o seguinte resultado: A frase original é: Gosto de VB.NET A frase invertida é: TEN.BV ed otsoG |
Você também poderá gostar das dicas e truques de programação abaixo |
|
MySQL - Como formatar campos DATE, TIME, DATETIME e TIMESTAMP usando a função DATE_FORMAT() do MySQL JavaScript - Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em JavaScript |
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 |





