您好我正在尝试在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();
}
}
提前致谢。
答案 0 :(得分:1)
我认为如果你有布局或者没有问题并不重要。没有布局不会损害改变JPanel的大小。 试着用这个:
myPanel.setPreferredSize(new Dimension(500, 500));
我希望它能帮助;)
答案 1 :(得分:1)
我建议不要重新调整面板大小
如果您只是正确使用布局管理器,它们将负责面板尺寸。为了避免在用户增加窗口大小时让组件在整个屏幕上伸展,让最外面的面板具有左对齐的FlowLayout,并将UI的其余部分作为其单个子项 - 这将为UI提供其首选大小和任何盈余充满了背景色。 检查参考以了解更多信息。
答案 2 :(得分:-1)
根据Oracle文档:
http://docs.oracle.com/javase/tutorial/uiswing/layout/none.html
建议:尝试先调用“setLayout(null)” 。
还可以尝试查看上面链接中的示例代码。
'希望有所帮助!