Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swing jpanel的setSize()不工作_Swing_User Interface_Jframe_Jpanel_Awt - Fatal编程技术网

Swing jpanel的setSize()不工作

Swing jpanel的setSize()不工作,swing,user-interface,jframe,jpanel,awt,Swing,User Interface,Jframe,Jpanel,Awt,我正在尝试设置JPanel的宽度和高度,但它不起作用。 这是密码 import java.awt.*; import javax.swing.*; public class FirstGuiApp extends JFrame { public static void main(String[] args) { JFrame frm = new JFrame("first gui app"); JPanel txtPanel = new JPanel

我正在尝试设置JPanel的宽度和高度,但它不起作用。 这是密码

import java.awt.*;

import javax.swing.*;

public class FirstGuiApp extends JFrame {

    public static void main(String[] args) {
        JFrame frm = new JFrame("first gui app");
        JPanel txtPanel = new JPanel();
        txtPanel.setBackground(Color.cyan);
        txtPanel.setSize(200,50);// **not working**

        frm.getContentPane().add(BorderLayout.NORTH,txtPanel);
        frm.setVisible(true);
        frm.setSize(450, 350);
        frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frm.setLocationRelativeTo(null);
    }
}

无法理解错误。

尝试使用
frm.getContentPane().add(txtPanel)
frm.getContentPane().add(BorderLayout.CENTER,txtPanel)

组件根据其首选尺寸和容器尺寸的限制进行布置。北部和南部组件可以水平拉伸;东西向分量可以垂直拉伸;中心构件可以水平和垂直拉伸,以填充剩余的任何空间


因此,如果不提供约束,您必须将组件添加到中心,这是默认值。很抱歉,我们无法增加位置。

如何将北部部分设置为相应地增加…@Narendra我编辑了答案。很抱歉,增加它的想法是不可能的,请不要使用setSize()。每个组件都有一个首选尺寸,布局管理器将其用作调整组件尺寸的指南。根据布局管理器的规则,每个布局管理器都可以使用/忽略首选尺寸。因此,当您向配电盘添加元件时,它将自动具有首选尺寸。没有理由玩空面板的大小。因此…在当前上下文中..是否不可能增加jpanel的大小..您可以覆盖jpanel的
getPreferredSize()
方法。但不要这样做!学习如何正确使用Swing。面板为空,因此无需执行此操作。问一个现实生活中的问题,然后我可以给你一个合适的解决方案。使用布局管理器的意义在于,您不必猜测面板的合适尺寸。“无法理解错误…”无法识别您的问题。你的问题是什么?