Java swing,元素在添加新元素后返回初始位置

时间:2013-05-29 11:33:59

标签: java swing jpanel

我试图在java程序中编写,它允许我动态创建新控件,并通过鼠标移动它们。 现在我可以移动它们,但是当我创建新的时,每个对象都会返回它的初始位置。很明显为什么 - 我在大型机上使用pack()方法,但我不知道该怎么做。

说明

  • myPanel - 我的课程,扩展了JPanel
  • PanelList - 包含生成的面板的ArrayList
  • addmyPanel - 方法shich将新面板添加到PanelList
  • getmyPanel - 返回带有特定ID的myPanel

    private void jButton0ActionActionPerformed(ActionEvent event) {
        myPanel temp = new myPanel();
        addmyPanel();
        for (int i =0 ;i < PanelList.size(); i++){
            temp = PanelList.get(i);
            if (!temp.getIsActive()){
                try{
                    add(getmyPanel(temp.getId()), new Constraints(new Leading(35, 100, 10, 10), new Leading(44, 100, 12, 12)));
                    PanelList.get(i).setIsActive();
                }
                catch (NoSuchElementException e){}
            }
        }
        frame.pack();
    }
    

1 个答案:

答案 0 :(得分:1)

结帐Drag Layout。调用布局管理器时,它不会重置位置。