gpt4 book ai didi

java - MigLayout:尝试全屏时仅显示窗口

转载 作者:行者123 更新时间:2023-11-30 11:50:36 26 4
gpt4 key购买 nike

代码如下:

ScreenHeight = Toolkit.getDefaultToolkit().getScreenSize().height,
ScreenWidth = Toolkit.getDefaultToolkit().getScreenSize().width;

JFrame MainFrame = new JFrame();
MainFrame.setSize(ScreenWidth, ScreenHeight);
MainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MainFrame.setExtendedState(JFrame.MAXIMIZED_BOTH);
MainFrame.setVisible(true);

/* When set to false, all buttons and boxes are displayed,
otherwise only the main window appears */
MainFrame.setUndecorated(true);

Container Pane = Frame.getContentPane();
Pane.setLayout(new MigLayout());
initLoginPanel(Pane);

布置控件的函数:

private void initLoginPanel(Container Obj) 
{
JPanel LoginContainer = new JPanel();
LoginContainer.setLayout(new MigLayout());

Obj.add(LoginContainer, "pos 0.5al 0.5al");

JLabel uNameLabel = new JLabel("Username");
JTextField uNameBox = new JTextField();

JLabel uPassLabel = new JLabel("Password");
JTextField uPassBox = new JTextField();

JButton LoginButton = new JButton("Login", 90, 26);
LoginContainer.add(uNameLabel, "wrap");
LoginContainer.add(uNameBox, "span");
LoginContainer.add(uPassLabel, "wrap");
LoginContainer.add(uPassBox, "span");
LoginContainer.add(LoginButton, "");
}

如果在上面的代码中使用了MainFrame.setUndecorated(false),它可以正常工作但不能全屏。即标题栏,显示关闭、最小化和最大化按钮。

问题:1. 如何让组件在全屏模式下工作。

最佳答案

有两个问题:

  1. setVisible的位置
    显示框架必须是最后一步;首先,您必须设置您的框架并添加他的内容。
  2. 调用initLoginPanel
    您的代码正在做不正确的事情。为什么不将组件直接添加到框架中?即

    initLoginPanel( YourJFrame );

固定的、简化的代码:

JFrame frame = new JFrame("Main window");

frame.setSize( Toolkit.getDefaultToolkit().getScreenSize() );
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setUndecorated(false);

initLoginPanel(frame);

frame.setVisible(true); //FINALLY show the JFrame!

关于java - MigLayout:尝试全屏时仅显示窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7891554/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com