Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在button click/actionEvent上创建类的新对象_Java_Swing_Awt_Jbutton - Fatal编程技术网

Java 在button click/actionEvent上创建类的新对象

Java 在button click/actionEvent上创建类的新对象,java,swing,awt,jbutton,Java,Swing,Awt,Jbutton,找到解决方案 决定在actionListener之外创建一个名为chairPrice的方法更容易,该方法可以通过一个名为getItemPrice()的方法递增。这已用于计算项目和工程100%的总价。您需要使用Object.equals()方法 @Override public void actionPerformed(ActionEvent buttonClick) { if(buttonClick.getSource().equals(guiButtons[0])) //if user

找到解决方案


决定在actionListener之外创建一个名为chairPrice的方法更容易,该方法可以通过一个名为getItemPrice()的方法递增。这已用于计算项目和工程100%的总价。

您需要使用
Object.equals()
方法

@Override
public void actionPerformed(ActionEvent buttonClick)
{
   if(buttonClick.getSource().equals(guiButtons[0])) //if user clicks on 'add chair'
   {
     Chair chair = new Chair();
   }
}
根据OP的评论进行编辑

我不确定你到底想要什么
myChair
不是您椅子的名称。它是变量的名称。它对
椅子
没有任何影响。如果要创建一个新的
Chair
对象并使其可用于整个类,则需要添加一个新的字段变量或创建一个
Chair
列表

public class GuiClass extends JPanel implements ActionListener
{
  List<Chair> chairs = new ArrayList<Chair>(Arrays.asList(new Chair()));
  Desk myDesk = new Desk();
  Table myTable = new Table();

  @Override
  public void actionPerformed(ActionEvent buttonClick)
  {
     if(buttonClick.getSource().equals(guiButtons[0])) //if user clicks on 'add chair'
     {
       chairs.add(new Chair());
     }
  }
}
public类GuiClass扩展JPanel实现ActionListener
{
List chairs=newArrayList(Arrays.asList(new chairs());
桌面myDesk=新桌面();
表myTable=新表();
@凌驾
已执行的公共作废操作(操作事件按钮单击)
{
if(buttonClick.getSource().equals(guiButtons[0])//如果用户单击“添加椅子”
{
椅子。添加(新椅子());
}
}
}

新椅子()
。。。不客气。下次试着发一个更具体的帖子question@S92创建一把新椅子到底给你带来了什么问题?它实际上是在创建对象,将其添加到列表中,还是什么?@SJuan76-我已经知道如何使用新椅子()这不是我想要的我已经更新了我的首字母q@AndresF.-我想创建多个椅子玻璃实例来计算椅子的价格,并在使用GUI时计算出整体价格-我已经包括了一张GUI外观的图片,希望这将有助于说明我的问题建议的其他布局。是吗?如果你看我上面提供的代码,我已经在GuiClass中使用了以下代码:Chair myChair=newchair()//椅子的对象,但我希望它使用新名称创建一个新对象每次单击按钮都是Guibutons[0]嗨,感谢您迄今为止的帮助,我在尝试实现您的解决方案时遇到了一些问题,请检查我修改的初始帖子,谢谢。我想表达我想知道的更好的方式是如何能够从存储在ArrayList中的对象调用方法,因为我当前所做的操作会导致错误,即找不到setIdNum(0)等方法