package game; import java.awt.FlowLayout; import javax.swing.*; public class Jframe { public static void main(String[] args) { JFrame frame=new JFrame("横版英雄泪闯关游戏"); frame.setSize(800,500); frame.setLocation(550,300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new FlowLayout()); JTextArea area=new JTextArea(9,10); area.setText("______________________________________________________________________________________________________" +System.lineSeparator()+"| 欢迎来到猿魔 |"+System.lineSeparator()+"| |" +System.lineSeparator()+"| 1.查看角色技能及属性 |" +System.lineSeparator()+"| |" +System.lineSeparator()+"| 2.查看装备属性与装备合成 |" +System.lineSeparator()+"| |" +System.lineSeparator()+"| 3.闯关(共五关) |" +System.lineSeparator()+"| |" +System.lineSeparator()+"| 4.退出游戏 |" +System.lineSeparator()+"______________________________________________________________________________________________________"); frame.add(area); area.setBounds(0,0,800,400); frame.setVisible(true);} }在以上的基础上给jframe添加背景图片,在合适的位置上添加四个按钮
时间: 2023-12-03 07:43:41 浏览: 116
要给JFrame添加背景图片,可以使用JLabel来承载图片,然后将JLabel添加到JFrame中。
以下是修改后的代码:
```
package game;
import java.awt.FlowLayout;
import javax.swing.*;
public class Jframe {
public static void main(String[] args) {
JFrame frame = new JFrame("横版英雄泪闯关游戏");
frame.setSize(800, 500);
frame.setLocation(550, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(null); // 使用 null 布局
// 背景图片
ImageIcon bg = new ImageIcon("bg.jpg"); // 修改为你的图片路径
JLabel bgLabel = new JLabel(bg);
bgLabel.setBounds(0, 0, 800, 500);
frame.add(bgLabel);
// 文字区域
JTextArea area = new JTextArea(9, 10);
area.setEditable(false); // 禁止编辑
area.setOpaque(false); // 设置透明
area.setText("______________________________________________________________________________________________________" +System.lineSeparator()+"| 欢迎来到猿魔 |"+System.lineSeparator()+"| |" +System.lineSeparator()+"| 1.查看角色技能及属性 |" +System.lineSeparator()+"| |" +System.lineSeparator()+"| 2.查看装备属性与装备合成 |" +System.lineSeparator()+"| |" +System.lineSeparator()+"| 3.闯关(共五关) |" +System.lineSeparator()+"| |" +System.lineSeparator()+"| 4.退出游戏 |" +System.lineSeparator()+"______________________________________________________________________________________________________");
bgLabel.add(area); // 将 JTextArea 添加到 JLabel 中
area.setBounds(0, 0, 800, 400);
// 四个按钮
JButton button1 = new JButton("查看角色技能及属性");
button1.setBounds(100, 430, 200, 30);
bgLabel.add(button1);
JButton button2 = new JButton("查看装备属性与装备合成");
button2.setBounds(350, 430, 200, 30);
bgLabel.add(button2);
JButton button3 = new JButton("闯关(共五关)");
button3.setBounds(100, 470, 200, 30);
bgLabel.add(button3);
JButton button4 = new JButton("退出游戏");
button4.setBounds(350, 470, 200, 30);
bgLabel.add(button4);
frame.setVisible(true);
}
}
```
需要注意的是,使用了 null 布局后,需要手动设置组件的位置和大小。在这个例子中,我们将JTextArea添加到了JLabel中,再将JLabel添加到了JFrame中。同时,我们还设置了JTextArea和JButton的透明度为false,这样才能让背景图片显示出来。
阅读全文