2017-04-08 13 views
1

新しいクラスでfillPolygonメソッドを使用してこのプログラムの四角形を「カップ」に変換する必要がありますが、これを理解することはできません。私はそれぞれの側で5の上の幅を減らさなければなりません。私が検索で見つけたものは、どれも三角形や複雑な形を作る方法を示していますが、この形のものは何もありません。どんな支援も大歓迎です。これは、変更後に見えるべきものです。fillPolygonを使用して四角形を変換する方法

Screenshot of 'Cups'

package cs520.hw4.part1; 



import javax.swing.JFrame; 

import java.awt.Color; 
import java.awt.Graphics; 
@SuppressWarnings("serial") 

public class Cups1 extends JFrame{ 

int startX, startY, cupWidth, cupHeight; 
int baseLength; 
int cupSpacing; 


public Cups1() 
{ 

    super("My Squares"); 


    startX = 100; 
    startY = 300; 
    cupWidth = 25; 
    cupHeight = 40; 
    baseLength = 7; 
    cupSpacing = 6; 

} 


public void paint(Graphics g) 
{ 

    super.paint(g);  




    for (int row = 0; row < baseLength; row++) { 
     for (int col = 0; col < (baseLength - row); col++) 
     { 


      if ((row) % 2 == 0){ 
       g.setColor(Color.RED);} 
      else 
       g.setColor(Color.BLUE); 


      g.fillRect(startX + (row * ((cupWidth + cupSpacing)/2)) + (col * (cupSpacing + cupWidth)), startY - row*cupHeight, cupWidth, cupHeight); 
     } 
      try { 
       Thread.sleep(500); 
      } catch (InterruptedException e) { 
       e.printStackTrace(); 
      } 
     } 

    } 




public static void main(String[] args) 
{ 
    Cups1 app = new Cups1(); 

    app.setSize(550,550); 
    app.setVisible(true); 

    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
} 


} 
+0

これはどうですか?あなたはそれをしましたか?もっと助けが必要ですか? – strash

答えて

0

あなたは、いくつかの円を作成し、それを

void drawCircleByCenter(Graphics g, int x, int y, int radius){ 
     //g.setColor(Color.LIGHT_GRAY); 
     g.drawOval(x-radius, y-radius, 2*radius, 2*radius); 
    } 

またはあなたが描くしようとしているかのスクリーンショットをアップロードすることができます必要なものを達成するためにそれらの一部を隠して試すことができます。

+1

スクリーンショットへのリンクを追加しました。ありがとうございました – Affekonig

0

カラー(赤/青)を引数にして大きな矩形を描画するメソッドを作成し、内側に大きな矩形を描画し、その上に小さな矩形を背景色で描画します。次に、メインの方法で、大きな数字を呼び出すためのロジックを作成します。

関連する問題