Java JPanel上不显示的按钮
我正在做一个菜单,应该有两个按钮,“恢复”和“退出主菜单”。问题是JPanel显示时没有任何问题,但是JButtons不存在,尽管我已经添加了它们。下面的代码部分是对菜单图形侧的处理Java JPanel上不显示的按钮,java,swing,jpanel,jbutton,Java,Swing,Jpanel,Jbutton,我正在做一个菜单,应该有两个按钮,“恢复”和“退出主菜单”。问题是JPanel显示时没有任何问题,但是JButtons不存在,尽管我已经添加了它们。下面的代码部分是对菜单图形侧的处理 if(secMenuFlag){ JPanel menu = new JPanel(); JButton resume = new JButton("Resume"), exit = new JButton("Exit to Main Menu"); menu.set
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);
}
设置按钮的边界。我已经完成了一份简历,请按照同样的程序退出
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);
您是否尝试过使用按钮位置?是的,我尝试过在x和y上都设置负值,但似乎什么都没有发生:/1)为了更快地获得更好的帮助,请发布or。2)
exit.setFont(新字体(“Sans serif”,Font.BOLD,18))代码>最好使用常量,例如exit.setFont(新字体(Font.SANS_SERIF,Font.BOLD,18))代码>。。3) menu.setLayout(空)代码>Java GUI必须在不同的操作系统、屏幕大小、屏幕分辨率等上工作,在不同的地区使用不同的PLAF。因此,它们不利于像素完美布局。而是使用布局管理器,或与布局填充和边框一起使用。