gpt4 book ai didi

java - 退出按钮覆盖整个屏幕

转载 作者:行者123 更新时间:2023-12-01 18:00:41 26 4
gpt4 key购买 nike

退出按钮覆盖整个屏幕出了什么问题?

我设置的边界覆盖了文本 Exit,因此边界为 x-280,y-385,width-70,height-20。

覆盖整个框架的按钮图像

The Image of the button covering the whole Frame

注意:我在笔记本电脑上尝试了相同的代码,它工作得很好,但是当我在学校计算机上运行它时,它开始表现得很奇怪!

 import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.*;
import javax.swing.*;

@SuppressWarnings({ "unused", "serial" })
public class FinalBlowzXC extends JFrame{

public JLabel bgmainmenu;
public JButton start;
public JButton exit;
public static JPanel mainmenu;
public static JPanel login;

public static void main(String []args)
{
new FinalBlowzXC().setVisible(true);
}

public FinalBlowzXC()
{
super("Final Blowz Xchanged");
setSize(640,480);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);

bgmainmenu = new JLabel();
start = new JButton();
exit = new JButton();

mainmenu=new JPanel();

bgmainmenu.setIcon(new ImageIcon(getClass().getResource("/FF-XV.jpg")));
bgmainmenu.setBounds(0,0,640,480);
add(bgmainmenu);
add(start);
start.setBounds(280, 360, 70, 20);
start.setBorder(null);
start.setBorderPainted(false);
start.setContentAreaFilled(false);
start.setOpaque(false);
start.addActionListener(new Start());
exit.setBounds(280, 385, 70, 20);
add(exit);
exit.setBorder(null);
exit.setBorderPainted(false);
exit.setContentAreaFilled(false);
exit.setOpaque(false);
exit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
});

}

}

最佳答案

框架内容 Pane 的默认布局管理器是 BorderLayout。当您将组件添加到 BorderLayout 且未指定约束时,组件将移至 CENTERCENTER 中只能显示最后添加的组件。

因此,如果您想显示多个按钮,则需要在框架中嵌套面板。像这样的东西:

JPanel buttonPanel = new JPanel();
buttonPanel.add(start);
buttonPanel.add(exit);
add(buttonPanel, BorderLayout.PAGE_START);

阅读 Swing 教程中关于 Using Layout Managers 的部分有关 BorderLayout 工作原理的更多信息和示例。

关于java - 退出按钮覆盖整个屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41226510/

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