首先, 我用的是NETBEANS拖控件的形式, 做了一个jFrame(FrameMain)。
我希望点击CHICK事件后, 在FrameMain会出现jInternalFrame, 也就是弹出MDI子窗体, 要如何实现呢?//构造函数和一些变量
JDesktopPane desktopPane = new JDesktopPane();
Container contentPane = this.getContentPane();
int FrameCount = 1;
public FormMain() {
initComponents();
Container contentPane = this.getContentPane();
contentPane.setLayout(new BorderLayout());
contentPane.add(desktopPane, BorderLayout.CENTER); //增加一个桌面面板, 用于存放InternalFrame
setSize(1024, 768);
setLocationRelativeTo(null);
}
//netbeans生成的CLICK事件
private void jmiBookAddMouseClicked(java.awt.event.MouseEvent evt) {
JInternalFrame internalFrame = new JInternalFrame("Internal Frame "+ (FrameCount++) , true, true, true, true);
//myInternalFrame internalFrame = new myInternalFrame("dd");
internalFrame.setLocation( 20,20);
internalFrame.setSize(300, 300);
internalFrame.setVisible(true);
desktopPane.add(internalFrame);
} 可是, 如上的话不报错, 不过就是没有jInternalFrame显示, 求助了。
我希望点击CHICK事件后, 在FrameMain会出现jInternalFrame, 也就是弹出MDI子窗体, 要如何实现呢?//构造函数和一些变量
JDesktopPane desktopPane = new JDesktopPane();
Container contentPane = this.getContentPane();
int FrameCount = 1;
public FormMain() {
initComponents();
Container contentPane = this.getContentPane();
contentPane.setLayout(new BorderLayout());
contentPane.add(desktopPane, BorderLayout.CENTER); //增加一个桌面面板, 用于存放InternalFrame
setSize(1024, 768);
setLocationRelativeTo(null);
}
//netbeans生成的CLICK事件
private void jmiBookAddMouseClicked(java.awt.event.MouseEvent evt) {
JInternalFrame internalFrame = new JInternalFrame("Internal Frame "+ (FrameCount++) , true, true, true, true);
//myInternalFrame internalFrame = new myInternalFrame("dd");
internalFrame.setLocation( 20,20);
internalFrame.setSize(300, 300);
internalFrame.setVisible(true);
desktopPane.add(internalFrame);
} 可是, 如上的话不报错, 不过就是没有jInternalFrame显示, 求助了。
现在我的问题改为, 怎样编辑(用NETBEANS手动编辑)一个JINTERNALFRAME后, 继承之?默认可是PRIVATE的啊!
PS:我现在会做了, 呵呵。先在窗体的“其他组件”中添加一个JINTERNALFRAME, 在窗体中拉一个JDESKTOPPANE。然后需要用到那个JInternalFrame的时候,
就把JInternalFrame添加到JDesktopPane.大概思路就是这样的, 为什么一直却没有显示呢?冤啊! 原来要在把JInternalFrame添加到JDesktopPane以前, 增加2句SETVISIBLE, SETSIZE。否则就等于不显示。
这个贴就当散分贴吧, 呵呵。
private void jmiBookAddMouseClicked(java.awt.event.MouseEvent evt) {
JInternalFrame internalFrame = new JInternalFrame("Internal Frame "+ (FrameCount++) , true, true, true, true);
internalFrame.setLocation( 20,20);
internalFrame.setSize(300, 300);
internalFrame.setVisible(true);
desktopPane.add(internalFrame);
}