两个按钮其中一个只在鼠标话划过的时候才会出现。
import java.awt.;
import javax.swing.;
public class MenuGUI extends JPanel{
public MenuGUI() {
int width = 500, height = 500;//设置窗体大小
JFrame jf = new JFrame(); //主框体
jf.setTitle("双人炸弹人");
jf.setLayout(null);
jf.setBounds(500, 200, width, height); //框体位置和大小
Container c = jf.getContentPane();
JButton b1 = new JButton("作为主机(P1)创建游戏"); //两个按钮
JButton b2 = new JButton("作为客机(P2)加入游戏");
b1.setBounds(150, 300, 200, 30);
b2.setBounds(150, 350, 200, 30);
c.add(b2);
c.add(b1);
//添加窗口图标
jf.setIconImage(new ImageIcon("src\\gui\\Resources\\IC.jpg").getImage());
//添加主界面背景图
ImageIcon img = new ImageIcon("src\\gui\\Resources\\BGMain.jpg");
/*下面这三句意思是:得到此图标的 Image(image.getImage());
在此基础上创建它的缩放版本,缩放版本的宽度,高度与JLble一致(getScaledInstance(width, height,Image.SCALE_DEFAULT ))
最后该图像就设置为得到的缩放版本(image.setImage)
————————————————
版权声明:本文为CSDN博主「weixin_39745933」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_39745933/article/details/114606425
*/
Image imgS = img.getImage();
imgS = imgS.getScaledInstance(width, height, Image.SCALE_DEFAULT);
img.setImage(imgS);
JLabel jlbg = new JLabel(img); //(图片放在JLayerPane层,组件放在ConentPane层,并让ConentPane层透明)
jlbg.setBounds(0, 0, width, height);
jf.getLayeredPane().add(jlbg);
JPanel panel = (JPanel)jf.getContentPane();
panel.setOpaque(false);
paint(b2.getGraphics());
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
jf.setVisible(true);
c.setVisible(true);
}
public static void main(String[] args) {
new MenuGUI();
}
}
不会报错,就是按钮不显示
我添加了一张背景图,没有背景图之前是正常的
让两个按钮都保持可见。