0

我正在尝试用 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();
    }
    
4

1 回答 1

1

查看拖动布局。调用布局管理器时,它不会重置位置。

于 2013-05-29T15:02:53.590 回答