JFrame没有在正确的尺寸上制作

2 java swing jframe

运行此代码时,将生成一个窗口但不是指定的维度.这有什么问题?

import javax.swing.*;
import java.awt.*;

public class Windowing {
    void JFrame(){
        JFrame frames = new JFrame("Total recall");
        frames.setSize(1000,8000);
        frames.setVisible(true);
        frames.pack();
        //Buttons push = new Buttons();
        //((Buttons) push).buttons();
        JTextField wager = new JTextField(1);
        wager.setSize(100,200);
        wager.setVisible(true);
        wager.setLocation(100, 200);
        frames.add(wager);
        //frames.add(push);
    }
}
Run Code Online (Sandbox Code Playgroud)

Mic*_*ers 5

你可以删除对frames.pack(); 它会覆盖先前设置的帧大小.

但是,您真正想要做的是删除frames.setSize(1000,8000)并向下移动frames.pack()到方法的底部; 这将确保框架足够大,可以显示其内容,但不能太大,无法放在屏幕上.

如果你pack在向框架添加任何内容之前调用(就像你现在正在做的那样),它会使窗口非常小; 它可能出现在屏幕的左上角附近,但除非你知道在哪里看,否则你不会注意到它.