Java Swing 布局管理器实战:打造爱心收集游戏
Java Swing 布局管理器实战:打造爱心收集游戏
这篇文章将带你使用 Java Swing 的 BorderLayout 布局管理器创建一个简单的爱心收集游戏。
代码示例javaimport javax.swing.;import java.awt.;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;
public class LoveCollector extends JFrame implements ActionListener { private final int SCREEN_WIDTH = 500; private final int SCREEN_HEIGHT = 500; private final int BOY_SIZE = 100; private final int HEART_SIZE = 80;
private JButton boy; private JButton heart; private int collectedHearts;
public LoveCollector() { setTitle('Love Collector'); setSize(SCREEN_WIDTH, SCREEN_HEIGHT); setResizable(false); setDefaultCloseOperation(EXIT_ON_CLOSE); setLocationRelativeTo(null);
Container container = getContentPane(); container.setLayout(new BorderLayout()); // 使用边界布局
boy = new JButton(new ImageIcon('D:/chuan.jpg')); boy.setPreferredSize(new Dimension(BOY_SIZE, BOY_SIZE)); container.add(boy, BorderLayout.CENTER);
heart = new JButton(new ImageIcon('D:/ai.jpg')); heart.setPreferredSize(new Dimension(HEART_SIZE, HEART_SIZE)); heart.addActionListener(this); container.add(heart, BorderLayout.NORTH);
collectedHearts = 0; }
@Override public void actionPerformed(ActionEvent e) { Object source = e.getSource();
if (source == heart) { collectedHearts++; if (collectedHearts == 12) { JOptionPane.showMessageDialog(this, 'Game Over!'); System.exit(0); } } }
public static void main(String[] args) { SwingUtilities.invokeLater(() -> { LoveCollector loveCollector = new LoveCollector(); loveCollector.setVisible(true); }); }}
代码解读
-
BorderLayout 布局管理器: 我们使用
BorderLayout来管理游戏界面组件的位置。BorderLayout将窗口分为五个区域:North(北)、South(南)、East(东)、West(西)和 Center(中)。 -
组件添加: - 将代表男孩的按钮
boy添加到BorderLayout.CENTER,使其位于窗口中央。 - 将代表爱心的按钮heart添加到BorderLayout.NORTH,使其位于窗口顶部。 -
事件处理:
heart按钮添加了ActionListener,每当点击爱心按钮,collectedHearts计数器就会增加。当收集到 12 颗爱心时,游戏结束。
运行游戏
- 请确保你已经将
chuan.jpg和ai.jpg图片放置在正确的路径下,并在代码中正确引用了这些图片。2. 编译并运行代码,即可开始游戏!
希望这个简单的游戏示例能够帮助你更好地理解和使用 Java Swing 布局管理器。
原文地址: https://www.cveoy.top/t/topic/bmlx 著作权归作者所有。请勿转载和采集!