退出按钮覆盖整个屏幕有什么问题?
我设置的边界覆盖文本 Exit,因此边界为 x-280,y-385,width-70,height-20。
覆盖整个框架的按钮图像
注意:我在笔记本电脑上尝试了相同的代码,它工作得很好,但是当我在学校计算机上运行它时,它开始表现得很奇怪!
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);
}
});
}
}
框架内容窗格的默认布局管理器是BorderLayout
。当您将组件添加到 BorderLayout 并且未指定约束时,组件将转到CENTER
。只能显示最后添加的组件CENTER
.
因此,如果您想显示多个按钮,则需要在框架中嵌套面板。就像是:
JPanel buttonPanel = new JPanel();
buttonPanel.add(start);
buttonPanel.add(exit);
add(buttonPanel, BorderLayout.PAGE_START);
阅读 Swing 教程中的部分使用布局管理器 http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html有关如何的更多信息和示例BorderLayout
works.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)