开发者

Netbeanw does not refresh JPanel after adding new components

开发者 https://www.devze.com 2022-12-21 06:00 出处:网络
this title may not best describe my problem. I\'m using Netbean GUI builder to create a JFrame and several JPanels. I create 开发者_Go百科each JPanel in a seperate class, then I drag the JPanel class

this title may not best describe my problem. I'm using Netbean GUI builder to create a JFrame and several JPanels. I create 开发者_Go百科each JPanel in a seperate class, then I drag the JPanel class to JFrame. The problem is after dragging the JPanel to JFrame, if I add components to JPanel, it does not show the additional components in the JPanel contained in JFrame. I tried "clean and build" but the new component still not showing in JFrame -> JPanel.


Matisse keeps a cached copy of any component you add to the palette. So, subsequent changes are not automatically picked up. To pick up the changes:

  • save and close your JFrame source
  • Make sure the JPanel component is compiled.
  • Click Tools > Palette > Swing/AWT Components
  • Right click on the tree and choose Refresh
  • Open your JFrame component. It should now be showing the updated components


I know what you mean; Matisse (NetBeans' GUI editor) lets you drag and drop self-assembled Containers (e.g. JPanels) into other Containers (e.g. JFrames), but any subsequent changes in the former will not be reflected in the latter. As far as I know, that's just the way it works, unfortunately.

It's one of the reasons I think Matisse can only be used for quick prototyping and toying around. For anything serious, the GUI must be hand-coded.


Had the same problem, all you have to do is:

1) re-compile the new JPanel subcomponent
2) close the form associated with the parent JPanel
3) re-open the parent Jpanel again from the Project tree

The refreshed subpanel should now be shown. Matisse only renders the subpanel when you either open a form or add the new subpanel. So, the only way to refresh the display without removing and re-adding the subpanel is to close and reopen it.

0

精彩评论

暂无评论...
验证码 换一张
取 消