当前位置:文档之家› 多文档界面示例

多文档界面示例

程序运行结果截图:
程序清单如下:
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
public class Example10_36
{
public static void main(String args [])
{
MDIWindow win = new MDIWindow();
}
}
class MyInternalFrame extends JInternalFrame
{
JTextArea text;
MyInternalFrame(String title)
{
super(title,true,true,true,true);
text = new JTextArea();
add(new JScrollPane(text),BorderLayout.CENTER);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
addInternalFrameListener(new InternalFrameAdapter()
{
public void internalFrameActivated(InternalFrameEvent e)
{
setLayer(JDesktopPane.DRAG_LAYER);
}
public void internalFrameDeactivated(InternalFrameEvent e)
{
setLayer(JDesktopPane.DEFAULT_LAYER);
}
}
);
}
public JTextArea getJTextArea()
{
return text;
}
}
class MDIWindow extends JFrame implements ActionListener
{
JDesktopPane desk; //用来添加内部窗体的桌面容器
JMenuBar MenuBar;
JMenu Menu;
JMenuItem itemNew,itemCopy,itemCut,itemPaste;
MDIWindow()
{
desk = new JDesktopPane();
desk.setDesktopManager(new DefaultDesktopManager());
add(desk,BorderLayout.CENTER);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MenuBar = new JMenuBar();
Menu = new JMenu("编辑");
itemNew = new JMenuItem("新建");
itemCopy = new JMenuItem("复制");
itemCut = new JMenuItem("剪切");
itemPaste = new JMenuItem("粘贴");
itemNew.addActionListener(this);
itemCopy.addActionListener(this);
itemCut.addActionListener(this);
itemPaste.addActionListener(this);
Menu.add(itemNew);
Menu.add(itemCopy);
Menu.add(itemCut);
Menu.add(itemPaste);
MenuBar.add(Menu);
setJMenuBar(MenuBar);
setBounds(100,100,300,300);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == itemNew)
{
JInternalFrame a[] = desk.getAllFrames();
for(int i = 0;i<a.length;i++)
{
desk.setLayer(a[i],JDesktopPane.DEFAULT_LAYER);
}
JInternalFrame newInternalFrame = new MyInternalFrame("无标题"); //创建一个内部窗体
newInternalFrame.setBounds(10,10,300,300);
newInternalFrame.setV isible(true);
desk.add(newInternalFrame,JDesktopPane.DRAG_LAYER);
}
if(e.getSource() == itemCopy)
{
MyInternalFrame internalFrame = (MyInternalFrame)desk.getSelectedFrame();
JTextArea text = internalFrame.getJTextArea();
text.copy();
}
else if(e.getSource() == itemCut)
{
MyInternalFrame internalFrame = (MyInternalFrame)desk.getSelectedFrame();
JTextArea text = internalFrame.getJTextArea();
text.cut();
}
else if(e.getSource() == itemPaste)
{
MyInternalFrame internalFrame = (MyInternalFrame)desk.getSelectedFrame();
JTextArea text = internalFrame.getJTextArea();
text.paste();
}
}
}。

相关主题