A Figura 4.21 exibe dois projetos adicionais criados utilizando-se loops while e drawLine.
a) Crie o projeto na captura de tela da esquerda na Figura 4.21. Comece dividindo cada borda em um número igual de incrementos (escolhemos
15 novamente). A primeira linha inicia no canto superior esquerdo e termina um passo à direita na extremidade inferior. Para
cada linha sucessiva, move-se para baixo um incremento na borda esquerda e um incremento para a direita na borda inferior. Continue
desenhando linhas até alcançar o canto inferior direito. A figura deve ser dimensionada à medida que você redimensiona a janela, de
modo que as extremidades sempre toquem as bordas.
b) Modifique sua resposta da parte (a) para espelhar o projeto em todos os quatro cantos, como mostrado na captura de tela da direita na
Figura 4.21.
Boa Tarde,
Caso alguém precise da resposta segue abaixo:
Depois de muito esforço, conseguir resolver o problema.
segue abaixo a resolução o problema.
DrawPanel.java
package Exercicios4_2;
import java.awt.Graphics;
import javax.swing.JPanel;
/**
*
-
@author AE
*/
public class DrawPanel extends JPanel {
public void paintComponent(Graphics g)
{
super.paintComponent(g);int width = getWidth(); int height = getHeight(); int bordaX,bordaY; int contX = 1; int contY = 1; int loop = 1; bordaX = width/15; bordaY = height/15; while(loop<15) { //canto superior esquerdo g.drawLine(0,bordaY*contY,bordaX*contX,height); //canto inferior esquerdo g.drawLine(0,height-bordaY*contY,bordaX*contX,0); //canto superior direito g.drawLine(width,bordaY*contY,width-bordaX*contX,height); //canto inferior direito g.drawLine(width,height-bordaY*contY,width-bordaX*contX,0); ++loop; ++contX; ++contY; }}
}
DrawPanelTest.java
package Exercicios4_2;
import javax.swing.JFrame;
/**
*
-
@author AE
*/
public class DrawPanelTest {
public static void main(String[]args)
{
DrawPanel panel=new DrawPanel();
JFrame application=new JFrame();application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); application.add(panel); application.setSize(250,250); application.setVisible(true);}
}