我正在制作一个菜单,应该会出现2个按钮,“恢复”和“退出到主菜单”。问题是JPanel显示没有任何问题,但JButton不存在,即使我已添加它们。以下部分代码是处理菜单的图形方面。
if(secMenuFlag){
JPanel menu = new JPanel();
JButton resume = new JButton("Resume"), exit = new JButton("Exit to Main Menu");
menu.setLayout(null);
menu.setLocation((frame.getWidth() - menuSize[0]) / 2, (frame.getHeight() - menuSize[1]) / 2);
menu.setSize(menuSize[0], menuSize[1]);
menu.setBackground(new Color(0, 0, 0));
resume.addActionListener(this);
resume.setFont(new Font("Sans-serif", Font.BOLD, 18));
resume.setBackground(Color.white);
resume.setLocation(100, 100);
exit.addActionListener(this);
exit.setFont(new Font("Sans-serif", Font.BOLD, 18));
exit.setBackground(Color.white);
exit.setLocation(200, 100);
menu.add(resume);
menu.add(exit);
super.add(menu, 0);
}
答案 0 :(得分:2)
设置按钮的界限。我已经为简历做了,请按照相同的程序退出。
JPanel menu = new JPanel();
JButton resume = new JButton("Resume"), exit = new JButton("Exit to Main Menu");
menu.setLayout(null);
JFrame frame;
frame = new JFrame("check");
frame.setLayout(null);
frame.setSize(300, 300);
int[] menuSize = new int[2];
menuSize[0] = 200;
menuSize[1] = 300;
menu.setLocation((frame.getWidth() - menuSize[0]) / 2, (frame.getHeight() - menuSize[1]) / 2);
menu.setSize(menuSize[0], menuSize[1]);
menu.setBackground(new Color(255, 255, 255));
// resume.addActionListener((ActionListener) this);
resume.setBounds(20, 20, 100, 100);
resume.setFont(new Font("Sans-serif", Font.BOLD, 18));
resume.setBackground(Color.BLACK);
resume.setLocation(100, 100);
resume.setVisible(true);
// exit.addActionListener((ActionListener) this);
exit.setFont(new Font("Sans-serif", Font.BOLD, 18));
exit.setBackground(Color.BLACK);
exit.setLocation(200, 100);
exit.setVisible(true);
menu.add(resume);
menu.add(exit);
frame.add(menu);
frame.setVisible(true);