我正在开发一个允许用户创建文档的java应用程序。该程序工作正常,但是当用户单击运行程序时开始出现的框架上的关闭按钮时,它正在关闭所有文档。
我想要的行为类似于MS Word。当您打开新的Word文档1时,您还可以打开新的文档2,3,4等。当用户关闭文档1时,其他文档也不会关闭。但是,在我关闭文档1的应用程序中,所有后续文档都将关闭。
我理解这是因为在我的应用程序中关闭文档1将导致main(String [] args)
方法的终止。
以下是用户单击“新建文档”按钮时执行的代码。
public void actionPerformed(ActionEvent e) {
if(count==0){
if(e.getSource().equals(QuotPane.this.newFile)){
tablePane=new JTabbedPane();//I have tried to add tabs to the pane but it was overriding the old document
QuotPane.this.createTablePane();
tablePane.addTab("New Qout", tablePanel);
frame.add(tablePane,BorderLayout.CENTER);
count ++;
}
}else if(count>0)
{
new QuotPane();//creatint a new document here
}}
如何使其在MS Word中完成工作?
答案 0 :(得分:1)
在我看来,在java中执行'mutliple document interface'(mdi)的最好方法是使用JDesktopPane。 Oracle将此称为“内部框架”。它是为此目的而设计的
网络上有很多文档(见这里:http://docs.oracle.com/javase/tutorial/uiswing/components/internalframe.html)。
如果您想查看正在运行的程序,可以在github上查看我的项目'xenia':https://github.com/gcchris67/Xenia。
答案 1 :(得分:-2)
如果要保持其他文档处于打开状态,可以尝试为每个文档创建一个新的线程 - 然后让main()方法等待所有线程在结束之前终止。