如何使用java调整矩形的位置

时间:2015-03-08 05:28:55

标签: java rectangles

如何自动调整矩形的位置?
例如我有5个矩阵

这里是我的代码:

import java.awt.*;
import javax.swing.*;
import java.util.*;
public class gambar
{
    JFrame fr=new JFrame("exampe");
    JScrollPane sc;
    int hight,weight;
    JTabbedPane tab=new JTabbedPane();
    gambar()
    {   
        int[]x=new int[5];
        int[]y=new int[5];
        fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        fr.setLocation(0,0);
        fr.setExtendedState(JFrame.MAXIMIZED_BOTH);
        fr.setLayout(new GridLayout(1,1));
        tab.addTab("Panel1",new panel1());
        fr.add(tab);    
        fr.show();
    }
    public static void main(String[] args)
    {
        new gambar();
    }
}
class panel1 extends JPanel
{
    panel1()
    {
    }
    public void paintComponent(Graphics g3)
    {
        int x=0,y=0;
        for(int i=1;i<=5;i++)
        {
            if(i==1)
            {   x=50;y=50;  }
            else if(i==2)
            {   x=300;y=50; }
            else if(i==3)
            {   x=50;y=200; }
            else if(i==4)
            {   x=300;y=200;}
            else if(i==5)
            {   x=175;y=125;    }
            g3.setColor(Color.yellow);
            g3.fillRect(x,y,90,30);
            g3.setColor(Color.black);
            g3.drawString("square "+i,x+5,y+15);
        }
    }
}

输出在这里:

rectangle five

如果我有4个rect,那么输出

rectangle four

如果3 rect,输出就像这里

rectangle three

我不知道如何在没有设置坐标的情况下自动调整该位置 对不起我的英文。

1 个答案:

答案 0 :(得分:1)

这是所有基本的几何形状。把它写在纸上。

假设该区域的边被称为wh,那么您可以轻松计算每个矩形的中心。从中心您减去矩形宽度的一半以获得它的leftedge x坐标,并获得其顶边y坐标的一半高度等。 如果你想在它周围保留一些空间,你首先从上面的wh中减去该空间,然后将每个矩形的每个x和y坐标加上一半的空间。 / p>

用于5个矩形

x1 = 0 + rectangle_width/2, y1 = 0 + rectangle_height / 2
x2 = w - rectangle_width/2, y2 = 0 + rectangle_height / 2
x3 = w / 2, y3 = h / 2
x4 = 0 + rectangle_width/2, y4 = h - rectangle_height / 2
x5 = w - rectangle_width/2, y5 = h - rectangle_height / 2

为4个矩形

x1 = 0 + rectangle_width/2, y1 = 0 + rectangle_height / 2
x2 = w - rectangle_width/2, y2 = 0 + rectangle_height / 2
x3 = 0 + rectangle_width/2, y3 = h - rectangle_height / 2
x4 = w - rectangle_width/2, y4 = h - rectangle_height / 2

3个矩形

x1 = 0 + rectangle_width/2, y1 = 0 + rectangle_height / 2
x2 = w - rectangle_width/2, y2 = 0 + rectangle_height / 2
x3 = w / 2, y2 = h - rectangle_height / 2