我x()
内有JDesktopPane
。 JScrollPane
内部有许多JDesktopPane
s,以编程方式添加。我想有这种行为:
JInternalFrame
应具有固定大小(远大于主JFrame大小)
JDesktopPane
尺寸应根据调整大小时的主JFrame而有所不同
基本上与每个图像编辑器具有相同的行为(即Photoshop),但在视口中使用JScrollPane
s而不是图像。
起初我认为这种行为很容易获得,但我无法做到这一点。当然我错过了关于布局或相关内容的一些内容......
这是相关的SSCCE
JInternalFrame
答案 0 :(得分:1)
JScrollPane视口不考虑大小或边界,而是首选大小。所以
class Main extends JFrame {
private static final int DT_WIDTH = 1920;
private static final int DT_HEIGHT = 1080;
private JDesktopPane container = new JDesktopPane();
public Main(){
super("JDesktopPane SS");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(1280, 720);
// setLayout(new ScrollPaneLayout()); // ?????
// container.setBounds(new Rectangle(1920, 1080));
container.setPreferredSize(new Dimension(DT_WIDTH, DT_HEIGHT));