使用getLocation()获取不正确的位置

时间:2012-09-01 14:08:23

标签: java swing components label

public Textures()
{
    super(new GridBagLayout());
    layout.add(l1);
    layout.add(l2);
    add(layout);
    String[] T = filerw.fileRead2();
    if(T[0].equals("11"))
    {
        rect1.setLocation(layout.getComponent(1).getBounds().getLocation());
    }
    if(T[0].equals("12"))
    {
rect1.setLocation(layout.getComponent(2).getBounds().getLocation());
    }
    l1.addMouseListener(new MouseAdapter()
    {
        public void mousePressed(MouseEvent arg0)
        {
            a = 11;
            filerw.fileWrite();
    rect1.setLocation(l1.getBounds().getLocation().x, l1.getBounds().getLocation().y);
        }
    });
    l2.addMouseListener(new MouseAdapter()
    {
        public void mousePressed(MouseEvent arg0)
        {
            a = 12;
            filerw.fileWrite();
    rect1.setLocation(l2.getBounds().getLocation().x, l2.getBounds().getLocation().y);
    repaint();
        }
    });

我已经尝试了很多方法来表示组件的位置,它们都会出错,变为零或者位置不正确。我尝试过getX()和x,getBounds.getLocation,getLocation,getLocationOnScreen,layout.getComponent(1)或l1。如何找到组件的位置?我想要一个矩形围绕图像,我该如何完成位置?

1 个答案:

答案 0 :(得分:0)

我已经使用Border而不是Rectangle回答了这个问题。谢谢你的垃圾桶!

如果您正在阅读本文以回答问题,请查看上面的评论。