当前位置:  技术问答>java相关

关于MDI的问题,高手请进!!!

    来源: 互联网  发布时间:2015-05-12

    本文导语:  我要做一个Applet的主框架,有菜单、有工具条、状态栏,内部嵌入多个Applet或Panel。 要求: 1、主框架菜单为当前激活的内部Applet或Panel,也就是说内部的东西要与矿架间可以进行(实时的)通信。 2、主框架的菜单与...

我要做一个Applet的主框架,有菜单、有工具条、状态栏,内部嵌入多个Applet或Panel。
要求:
1、主框架菜单为当前激活的内部Applet或Panel,也就是说内部的东西要与矿架间可以进行(实时的)通信。
2、主框架的菜单与工具条在同一行,不占用两行的空间。
怎样实现??谢谢各位大侠先!!
有需要加分的可以再发给您的单纯加分区!!
谢谢!!!

|
可以实现,也可以相互通信,要不你可以写一个自己的JInternalFrame
给你个小例子吧。

import javax.swing.JInternalFrame;
import javax.swing.JDesktopPane;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JMenuBar;
import javax.swing.JFrame;

import java.awt.event.*;
import java.awt.*;

public class InternalFrameDemo extends JFrame {
JDesktopPane desktop;

public InternalFrameDemo() {
super("InternalFrameDemo");

//Make the big window be indented 50 pixels from each edge
//of the screen.
int inset = 50;
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds(inset, inset,
screenSize.width - inset*2,
screenSize.height-inset*2);

//Quit this app when the big window closes.
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});

//Set up the GUI.
desktop = new JDesktopPane(); //a specialized layered pane
createFrame(); //Create first window
setContentPane(desktop);
setJMenuBar(createMenuBar());

//Make dragging faster:
desktop.putClientProperty("JDesktopPane.dragMode", "outline");
}

protected JMenuBar createMenuBar() {
JMenuBar menuBar = new JMenuBar();

JMenu menu = new JMenu("Document");
menu.setMnemonic(KeyEvent.VK_D);
JMenuItem menuItem = new JMenuItem("New");
menuItem.setMnemonic(KeyEvent.VK_N);
menuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
createFrame();
}
});
menu.add(menuItem);
menuBar.add(menu);

return menuBar;
}

protected void createFrame() {
MyInternalFrame frame = new MyInternalFrame();
frame.setVisible(true); //necessary as of kestrel
desktop.add(frame);
try {
frame.setSelected(true);
} catch (java.beans.PropertyVetoException e) {}
}

public static void main(String[] args) {
InternalFrameDemo frame = new InternalFrameDemo();
frame.setVisible(true);
}
}

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Java的MDI框架 MDIFramework
  • MDI
  • c# 多文档窗口修改mdi窗体背景色的实现代码
  • Java中的MDI窗体是怎么实现的,向JBuilder那种是什么Layout?
  • JBuilder中如何实现MDI窗体~?还有画图是如何实现的~?需要怎么做?偶找不到资料……
  • 为什么我的J2SDK1_3_0-WIN无法显示MDI窗体
  • C#设置MDI子窗体只能弹出一个的方法
  • 谁能贴个JBuilder 或者 JAVA写的 MDI的例子?多谢~
  • java 能否有 MDI窗体.


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3