📄 mdidemo.java
字号:
//MDIDemo.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MDIDemo extends JFrame implements ActionListener
{
JDesktopPane desktop;//定义桌面面板
MDIDemo()
{
desktop=new JDesktopPane();//创建桌面面板
setContentPane(desktop);//将桌面作为窗口的内容面板
desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);//设置拖曳模式
createMenuBar();//创建菜单
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("MDI窗体演示");
setSize(400,400);
setVisible(true);
}
protected void createMenuBar()
{
JMenuBar menuBar=new JMenuBar();
JMenu menu=new JMenu("文件");
menuBar.add(menu);
JMenuItem menuItem=new JMenuItem("新文档");
menuItem.addActionListener(this);
menu.add(menuItem);
setJMenuBar(menuBar);
}
public void actionPerformed(ActionEvent e)
{
createFrame();//调用创建子窗口方法
}
protected void createFrame()
{
MyInternalFrame internalFrame=new MyInternalFrame();//创建子窗口
desktop.add(internalFrame);//将生成的子窗口添加到桌面中
try{
internalFrame.setSelected(true);//设置新生成的子窗口为选中状态
}catch(java.beans.PropertyVetoException e){}
}
public static void main(String[] args)
{
new MDIDemo();
}
}
class MyInternalFrame extends JInternalFrame //定义子窗口类
{
static int openFrameCount=1;
static final int xOffset=30,yOffset=30;
public MyInternalFrame()
{
//创建一个子窗口,具有指定标题,可调大小、可关闭、可最大化、可图标化
super("文档#"+openFrameCount,true,true,true,true);
++openFrameCount;
JTextArea text=new JTextArea(200,200);
getContentPane().add(text);
//设置子窗口的位置
setLocation(xOffset*(openFrameCount-1),yOffset*(openFrameCount-1));
setSize(220,220);
setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -