我有一个JPanel
,它包含我计算机科学课程中游戏项目的主菜单屏幕。 MainMenu
类创建一个面板,其中包含一个用于启动游戏的按钮以及一个背景图像。但是,当我将面板添加到父JFrame
(在OgGui
类中定义)时,框架顶部和面板/背景图像开始的位置之间大约有一厘米的空间。
有谁知道如何用图像填充框架窗口?
//Creates parent JFrame to hold all game components
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class OgGui extends JPanel{
public static void main(String[] args){
JFrame frame = new JFrame ("OG Ball");
boolean start=true;
MainMenu mainm=new MainMenu();
while (start==true) {
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 600);
frame.setVisible(true);
frame.add(mainm);
start=mainm.returnscreen();
}
frame.add(new Draw());
//frame.pack();
}
}
MainMenu
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.JFrame;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JButton;
public class MainMenu extends JPanel{
//Creates JFrame and menu background
JPanel main = new JPanel();
ImageIcon icon = new ImageIcon("og.png");
JLabel menu = new JLabel(icon);
//Sets up button to begin play
JButton startBtn = new JButton();
boolean gamestart;
public MainMenu(){
startBtn.setSize(4, 4);
startBtn.setVisible(false);
startBtn.addActionListener(new startScreen());
main.add(menu);
main.add(startBtn);
main.revalidate();
this.add(main);
}
public boolean returnscreen() {
return gamestart; }
private class startScreen implements ActionListener{
public void actionPerformed(ActionEvent event){
gamestart=false;
}
}
}