【发布时间】:2011-10-05 01:17:49
【问题描述】:
我有一个 JFrame,我将一个 JPanel 插入其中以显示图像,在本例中为 1024x1025。我似乎找不到答案的问题是如何确保我包含的 JFrame 将显示整个图像/JPanel。我有一些接近这个例子的东西:
ImagePanel view = new ImagePanel(); //extends JPanel
JFrame Container = new JFrame();
view.setSize(1024, 1025);
container = new JFrame(winTitle);
container.setLayout(new BorderLayout());
container.setSize(view.getSize());
container.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
container.add(view);
container.setVisible(true);
这个问题显然是 JFrame 是由底层操作系统修饰的,所以我不知道有多少像素使它大于系统之间的 JPanel 的大小。就像现在一样,由于将 JFrame 设置为与 JPanel 相同的大小,图像在右侧和底部被截断了几个像素。有没有办法告诉 JFrame 读取它所包含的 Jpanel 的大小并使其自身足够大以显示整个 JPanel?谢谢!
编辑
在图像面板上设置首选大小,然后在容器上设置大小(不是首选),然后在添加后打包给我想要的行为。谁能解释一下这里发生了什么,我对一些摆动组件的操作顺序还是有点模糊。
【问题讨论】:
-
"JPanel into to display an image" 您是否在图像上添加了其他内容?如果没有,请将其放入(
ImageIcon)JLabel。
标签: swing user-interface jframe jpanel