gpt4 book ai didi

Java Swing 混合 Pane

转载 作者:行者123 更新时间:2023-12-02 16:56:38 24 4
gpt4 key购买 nike

这似乎是一个新手问题,只是我长期以来一直在努力研究 Swing 框架。

如果您提供图像,dog.jpg,至少 500 像素正方形,以下代码应在滚动 Pane 中显示该图像。如果它显示任何东西,我可能不会绝望地举手。我错过了什么?

import java.awt.BorderLayout;
import javax.swing.*;

public class ScrollSample {
public static void main(String args[]) {
String title = (args.length == 0 ? "JScrollPane Sample" : args[0]);
new ScrollSample( title ) ;
}

public ScrollSample ( String title) {
JFrame frame = new JFrame(title);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Icon icon = new ImageIcon("dog.jpg");
JLabel dogLabel = new JLabel(icon);
dogLabel.setSize( 500, 500 ) ;

JLayeredPane layeredPane = new JLayeredPane() ;
layeredPane.add( dogLabel, new Integer( 0 )) ;

JPanel jp = new JPanel() ;
jp.add( layeredPane ) ;
jp.setSize( 500, 500 ) ;

JScrollPane scrollPane = new JScrollPane();
scrollPane.setViewportView(jp);

frame.getContentPane().add( scrollPane, BorderLayout.CENTER);
frame.setSize(300, 200);
frame.setVisible(true);
}
}

谢谢!

最佳答案

如果要向 JLayeredPane 绘制较大宽度和尺寸的组件,则必须为 JLayeredPane 设置首选尺寸。特别是当您将其添加到具有默认布局的 JPanel 时。默认情况下,JLayeredPane 没有布局管理器 - 因此您可以管理边界或向分层 Pane 添加首选布局管理器。简单的方法是:

之后

 JLayeredPane layeredPane = new JLayeredPane() ;

添加

 layeredPane.setPreferredSize(new Dimension(500,500));

然后在应用运行时最大化窗口(或将 JFrame 的大小设置为 600X600)。

阅读:How to Use Layered Panes

关于Java Swing 混合 Pane ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9927145/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com