gpt4 book ai didi

java - 如何根据用户输入在java fx中创建对象(用户在文本字段中输入内容,创建事件)

转载 作者:太空宇宙 更新时间:2023-11-04 10:38:11 24 4
gpt4 key购买 nike

我正在制作的应用程序(uni 项目)的一部分涉及一个事件列表,用户可以在其中创建日历事件,为其指定名称/日期/时间等,并且有一个显示所有这些的时间表可滚动列表。

我现在得到的方式 - 用户在警报框中输入事件信息 - screenshot of how alertbox looks - 然后警报框(AddEventAlertBox 类)使用给定信息创建一个“事件”对象(Event 类),主窗口(EventScreen 类)按时间顺序列表显示该事件。但是我不确定如何创建事件然后将它们传递回事件屏幕。这是我认为与问题相关的代码。

事件类别:

//Arraylist to store all events created
protected List<Event> eventList = new ArrayList<Event>();
//constructor to initialise event values, add event object to list
public Event(String name, String type, String date, int startTime, int duration) {
eventName = name;
eventType = type;
eventDate = date;
eventStartTime = startTime;
eventDuration = duration;

eventList.add(this);

throw new UnsupportedOperationException();
}

EventScreen 类: Heres what it looks like when run, under 'events coming up' I want to add a list of events.

AddEventAlertBox 类:

    //Create save button to create event object with given information.
Button saveButton = new Button("Save");
saveButton.setOnAction(e -> {
new Event(eventName.getText(), eventtype.getText(), eventDate.getText(), Integer.parseInt(eventStartTime.getText()), Integer.parseInt(eventDuration.getText()));
window.close();
});

最佳答案

如果我正确理解您的问题,您面临的挑战是将警报框中新创建的“Event”对象的引用传递回EventScreen - 或者更通用:将对象引用从对话框窗口传递回主窗口。

您在警报框类的“setOnAction”lambda 中创建的新事件对象应存储在该类内的字段中,以便您在创建后可以轻松访问它。在该类中创建一个返回新事件的新方法 - 类似

public Event getCreatedEvent() { 
return this.createdEvent; // This is the field where you store the new Event
}

这个新方法应该在 AddEventAlertBox 窗口关闭后立即从 EventScreen 类中调用 - 无论该窗口在哪里。然后可以将结果添加到 eventList,我假设它位于 EventScreen 类中。

关于java - 如何根据用户输入在java fx中创建对象(用户在文本字段中输入内容,创建事件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49283954/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com