如何在JFrame Java中显示两个画布

2022-05-26 00:00:00 java swing layout-manager
我最近要求在JFrame中显示一个Word文件。有了这个链接,我就实现了我想要的(Open MS documents into JFrame)。我需要的是在JFrame中并排显示一个word文件和一个pdf文件。

在上面提到的链接中,Word文件通过来自SWT的Canvas显示在JFrame中。

我想知道:

  1. 是否可以将两个画布添加到一个JFrame
  2. 如果不能,是否可以在JPanel中显示Word文档或PDF文件(因为我知道可以在一个框架中添加两个面板)?

解决方案

在您链接的示例中,画布被直接添加到JFrame的内容窗格。您需要做的是首先在JFrame中插入一个带有LayoutJPanel,然后在布局中添加一个或多个Canvas对象。下面是一个默认布局FlowLayout的简单示例,您可以根据需要的布局对其进行修改,以使用不同的布局管理器或添加JScrollPaneJSplitPane

JPanel panel = new JPanel(); //Default layout manager is FlowLayout
//You could change the layout here with panel.setLayout(new ..Layout);
frame.getContentPane().add(panel);
panel.add(canvas1);
panel.add(canvas2);

Here是指向布局管理器的有用链接。例如,如果要将菜单等添加到框架中,请查看BorderLayout

相关文章