我有两个类的困难:程序类和EventHandler类。java。 eventhandler接口
程序类创建两个独立的窗口,一个是“Ground”(带有背景jpg的窗口),另一个窗口具有“add”按钮,它向“Ground”添加一朵花。 “添加”按钮调用它创建类的事件处理程序的对象方法的ActionListener,
public class Program implements Runnable {
@Override
//implements interface
public void run() {
example1.Ground g;
g = new example1.Ground();
// ground object
javax.swing.JFrame window = new javax.swing.JFrame("windowwithbutton");
//window (JFRAME)
javax.swing.JPanel panel = new javax.swing.JPanel();
//content (JPANEL)
javax.swing.JButton ab = new javax.swing.JButton("add");
ab.addActionListener(new eventHandler());
EventHandler类:
public class Eventhandler implements java.awt.event.ActionListener {
@Override
public void actionPerformed(java.awt.event.ActionEvent e) {
example1.Flower flower;
flower = new example1.Flower();
一切工作正常,但我有困难添加一段代码到事件处理程序,所以当按钮 - 它应该在程序类创建的地面上创建花朵。 我应该如何在对象之间设置这种关联?
谢谢:)
您事件处理程序将需要什么,它需要添加一个引用...考虑提供(和实现)一个接口,描述你的按钮可以做什么(即添加一个流),并将其传递给事件处理程序,而不是不必要地暴露框架/地面 – MadProgrammer 2014-10-30 06:36:34
@markspace但是'EventHandler'是如何设想的将花添加到地面;) – MadProgrammer 2014-10-30 06:37:19
我试图添加代码到EventHandler类中,但是当我按下“添加”按钮时 - 它cr另一个“地面”窗口。据我了解 - 我应该添加对由Program类创建的地面的引用,但它是否允许以某种方式在EventHandler类中执行此操作? – Jaye 2014-10-30 06:40:05