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)等方法