为Java游戏创建交互式GUI

嘿家伙我正在创建一个类似于java中的farmville的游戏,我只是想知道如何实现用户通常点击与游戏客户端交互的交互式对象/按钮。

我不想使用swing库(通用窗口看起来像对象),我想为我的按钮导入自定义图像,并为那些将用于GUI的图像分配属性按钮。

任何建议? 有什么指针吗? 我似乎无法通过youtube或其他一些Java游戏网站找到这些信息,因为他们只展示了使用swing的简单示例。

任何帮助将深表谢谢!

关心加雷思

您可以使用JButton,只需覆盖paintfunction。 并在那里画出你想要的东西。 这需要一段时间,直到你第一次得到它如何工作。 我建议你阅读一些关于event-dispatching thread ( 这里是java的解释)

这里是我写的一些代码,所以你有一个简单的参考。

 import java.awt.Graphics; import java.awt.GridLayout; import java.awt.Image; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; public class Test extends JButton implements ActionListener{ private static final long serialVersionUID = 1L; Image img; /** constuctor **/ public Test(String tImg, JFrame parent){ this.img = new ImageIcon(tImg).getImage(); this.addActionListener(this); } /*********** this is the function you want to learn ***********/ @Override public void paint(Graphics g){ g.drawImage(this.img, 0, 0, null); } @Override public void actionPerformed(ActionEvent arg0) { // TODO do some stuff when its clicked JOptionPane.showMessageDialog(null, "you clicked the button"); } public static void main(String[] args) { JFrame f = new JFrame(); Test t = new Test("pics.gif", f); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setLayout(new GridLayout(1, 1)); f.add(t); f.setSize(400,600); f.setVisible(true); } } 

你真的不想使用Swing,或者你只是不想要JButton和其他挥杆控件的默认外观? “(通用窗口看起来像对象),”是什么意思?

有许多来源描述自定义按钮以在其上包含图像: 在Java中创建自定义按钮

JButton和其他控件具有与添加单击侦听器等相关的所有事件和方法。您可能不希望创建自己的控件。 我们没有足够的信息来解决,例如“交互式对象”是什么意思?

如果您只想将图标添加到JButton,请使用带有Icon的构造函数 。

Interesting Posts