获取任何类型的swing对象宽度的Java方法?

时间:2015-01-15 21:07:51

标签: java swing class methods

我有这种摆放物体的方法。此时它仅支持按钮(或具有已定义方法的任何其他对象)。我需要一个可以适用于任何对象的方法,而不必为每种类型的对象定义一个方法(按钮,文本区域,面板等...)

这是我的代码:

    // Visual Methods for placing visual objects:::
static class Layout{
    static class Button{ // buttons
            static void PlaceUnder(JButton target,JButton src){
                int x = src.getLocation().x;
                int y = src.getLocation().y + src.getSize().height+2;
                target.setLocation(x,y);
            }
    static void PlaceOver(JButton target,JButton src){
        int x = src.getLocation().x;
        int y = src.getLocation().y - target.getSize().height-2;
        target.setLocation(x,y);
        }
    } // end of buttons
}
    // done....

1 个答案:

答案 0 :(得分:2)

使用javax.swing.JComponent(或java.awt.Component)基类。每个Swing组件都从这些扩展。

static void placeUnder(JComponent target, JComponent src) {
    int x = src.getLocation().x;
    int y = src.getLocation().y + src.getSize().height+2;
    target.setLocation(x,y);
}