java - setPreferredSize 不起作用

标签 java swing

为什么 p1.setPreferredSize(new Dimension(200,200)) 显示错误。它说非法开始类型

class Menu extends JFrame  {
    JPanel p1=new JPanel();

    //Package p1 does not exist illegal start of type
    p1.setPreferredSize(new Dimension(200,200));

最佳答案

您不能将参数分配给方法、构造函数或静态 block 之外的类属性。


我猜你需要一个构造器:

class Menu extends JFrame  {
    JPanel p1;

    public Menu() {
         p1 = new JPanel();
         p1.setPreferredSize(new Dimension(200,200));
    }
}

如果你总是传递固定尺寸,静态 block 可能会更好:

class Menu extends JFrame  {
    static JPanel p1;
    // more elements

    static {
         p1 = new JPanel();
         p1.setPreferredSize(new Dimension(200,200));
         // more assignements
    }
}

关于java - setPreferredSize 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38137885/

相关文章:

java - 覆盖 Json 对象中的值

java - 如何禁用依赖于另一个复选框的复选框?

Java 防止按钮在图标更改时调整大小

java - 如何从使用 BorderLayout 的 JFrame 中删除组件

java - 仅第一个对象在 JFrame 上可见

java - 如何使用 VTD-XML 解析器将嵌套的 XML 文件元素放入对象列表?

java - Main 方法可以被重写任意多次吗?

java - 带有表单登录的 Spring Security OAuth 2

java - JFrame 的奇怪行为,屏幕有时全白

java - 如何获取jtable列中的总和