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