【发布时间】:2014-07-23 07:16:08
【问题描述】:
您好,我正在尝试在 JFrame 中设置 JPanel 的大小,但无法实现。我怎样才能达到我想要的输出?
这是我的代码:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Sample extends JFrame
{
private JPanel panel;
private JLabel label1;
public Sample()
{
panel = new JPanel();
panel.setBackground(Color.YELLOW);
panel.setBounds(100, 100, 100, 100);
ImageIcon icon1 = new ImageIcon("E:\\image\\ZooDelhi\\1.jpg");
label1 = new JLabel(icon1);
label1.setLocation(0,0);
panel.add(label1);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.getContentPane().add(panel);
this.setSize(500,500);
this.setVisible(true);
setLayout(null);
}
public static void main (String[] args) {
new Sample();
}
}
提前致谢。
【问题讨论】:
-
永远不要使用
null布局。 -
Swing GUI 可能必须在不同的平台上工作,使用不同的 PLAF,在不同的屏幕尺寸和分辨率上使用不同的字体大小默认设置。因此,它们不有助于精确放置组件。而是使用布局管理器,或 combinations of layout managers 以及 layout padding and borders 用于空白。
-
你想要的输出是什么?分享吧。
-
@Braj 我想在我的特定位置设置 jpanel
-
像素完美布局是现代 UI 设计中的一种错觉,您无法控制更改空间组件所需的属性,例如 DPI、字体指标、分辨率和其他渲染管道约束。虽然您“可能认为”您不需要布局管理器,但您将花费更多时间尝试在没有它们的情况下解决问题,因为 Swing 的核心设计就是利用它们。您还会遇到框架边框的问题,这些问题在不同平台上是可变的,这将使得窗口的大小难以调整
标签: java swing jpanel layout-manager null-layout-manager