Você está aqui: Java ::: Pacote java.awt ::: Graphics |
|
Como desenhar linhas em determinados ângulos usando o método drawLine() da classe Graphics - Computação Gráfica em JavaQuantidade de visualizações: 13652 vezes |
|
É possível usar o método drawLine() da classe Graphics para desenhar linhas em determinados ângulos. Observe atentamente a assinatura deste método:public abstract void drawLine(int x1, int y1, int x2, int y2) Aqui x1 e x2 representam as coordenadas iniciais da linha e x2 e y2 representam as coordenadas finais. Assim, vamos analisar a fórmula matemática que permite definir o ângulo de desenho. Comece definindo os valores para as coordenadas iniciais x1 e y1, o ângulo desejado e o comprimento da linha: int x1 = 30; int y1 = 50; int ang = 0; int comp = 100; Vamos começar obtendo a coordenada x final, que chamaremos de x2. Já sabemos que o ângulo é 0, então obteremos uma linha horizontal para a direita. Vamos ao cálculo: int x2 = (int)(x1 + Math.cos(ang / 180.0 * Math.PI) * comp); Já sabemos que o valor de x2 é igual a 0 pois (pode testar na barra de endereços de seu browser): javascript:alert(0 / 180.0 * Math.PI) resulta em 0 e: javascript:alert(Math.cos(0)) resulta em 1. Assim: x1 + (1 * 100) = 130. Para que nosso código esteja correto, o valor de y2 deverá ser igual a y1. Vejamos: int y2 = (int)(y1 - Math.sin(ang / 180.0 * Math.PI) * comp); Já sabemos que (ang / 180.0 * Math.PI) resulta em 0 e que o seno de 0 é 0. Assim: y1 - (0 * 100) = 50. Veja o código completo:
Experimente agora fornecer ângulos diferentes, por exemplo, 45 (uma linha diagonal para a direita e para cima), 90 (uma linha vertical para cima), 135 (uma linha diagonal para a esquerda e para cima), 180 (uma linha horizontal para a esquerda), 225 (uma linha diagonal para a esquerda e para baixo), 270 (uma linha vertical para baixo), 315 (uma linha diagonal para a direita e para baixo) e 360 (uma linha horizontal para a direita). 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. |
|
Link para compartilhar na Internet ou com seus amigos: | |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como converter uma string para letras maiúsculas usando o método toUpperCase() da classe String da linguagem JavaQuantidade de visualizações: 1 vezes |
Nesta dica eu mostro como podemos usar o método toUpperCase() da classe String para transformar em maiúsculas todas as letras de uma palavra, frase ou texto. Veja o exemplo abaixo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; public class Estudos{ public static void main(String[] args){ String frase = "Programar em Java é bom"; System.out.println(frase); // vamos converter para letras maiúsculas frase = frase.toUpperCase(); System.out.println(frase); System.exit(0); } } Ao executarmos este código nós teremos o seguinte resultado: Programar em Java é bom PROGRAMAR EM JAVA É BOM |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Java para iniciantes - Como usar o método trim() da classe String para remover espaços antes e depois de uma palavra, frase ou textoQuantidade de visualizações: 36 vezes |
Em várias ocasiões precisamos tratar textos lidos de arquivos ou informados pelo usuário. Como parte desse tratamento precisamos remover os espaços antes e depois da palavra, frase ou texto informado ou lido. Para isso podemos usar o método trim() da classe String. Este método recebe como argumento uma string e retorna outra string com os espaços já removidos. Veja um exemplo completo de seu uso: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // Este exemplo mostra como remover espaços do início // e fim de uma string public class Estudos{ public static void main(String[] args){ String frase = " Programar em Java é bom demais. "; frase = frase.trim(); System.out.println(frase); System.exit(0); } } Este exemplo foi revisado e testado no Java 8. |
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: 8443 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: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- 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. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |