gpt4 book ai didi

java - 尝试使用Java从组合框生成文本框字段

转载 作者:太空宇宙 更新时间:2023-11-04 15:22:55 25 4
gpt4 key购买 nike

我对Java相当陌生,最近一直在利用NetBeans创建GUI。我一直遇到的问题是,我试图根据选定的组合框选择将信息填充到文本框。我要填充字段的信息比组合框中的信息要多得多,所以我正在考虑使用数字(用于生成信息的数组列表中的位置)启动组合框信息,然后尝试利用数字以生成所有字段。我使用两个数组:第一个是存储所有信息的arraylist。第二个是一个数组列表,它是位置编号(0+)学生ID,姓氏和名字的组合。第一个字符是数字,我想利用它来从第一个数组中查找信息,就像设计生成一个时一样,另一个是。但是,尝试利用此按钮会遇到许多问题。我一直在寻求帮助,或者试图使之起作用,或者寻求一种更好的方法来实现这一目标。谢谢,如果使用的概念很奇怪,我深表歉意,我是编码方法的新手。

private void btnGenerateFieldsActionPerformed(java.awt.event.ActionEvent evt) 
{
String x = String.valueOf(cbStudentPayrollList.getSelectedItem());
char c = x.charAt(0);
tbAptNo.setText(nameList.get(c).findApt());
tbCity.setText(nameList.get(c).findCity());
tbFirstName.setText(nameList.get(c).findFirstName());
tbHourlyWage.setText(""+nameList.get(c).findHourlyWage());
tbHoursWorked.setText(""+nameList.get(c).findHoursWorked());
tbLastName.setText(nameList.get(c).findLastName());
tbState.setText(nameList.get(c).findState());
tbStreetAddress.setText(nameList.get(c).findAddress());
tbStudentID.setText(""+nameList.get(c).findID());
tbZipCode.setText(""+nameList.get(c).findZipCode());
}


堆栈跟踪:

线程“ AWT-EventQueue-0”中的异常java.lang.IndexOutOfBoundsException:索引:49,大小:2
    在java.util.ArrayList.rangeCheck(ArrayList.java:604)
    在java.util.ArrayList.get(ArrayList.java:382)
    在StudentPayrollGUI.btnGenerateFieldsActionPerformed(StudentPayrollGUI.java:642)
    在StudentPayrollGUI.access $ 2400(StudentPayrollGUI.java:14)
    在StudentPayrollGUI $ 25.actionPerformed(StudentPayrollGUI.java:446)
    在javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
    在javax.swing.AbstractButton $ Handler.actionPerformed(AbstractButton.java:2341)
    在javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    在javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    在javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    在java.awt.Component.processMouseEvent(Component.java:6505)
    在javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
    在java.awt.Component.processEvent(Component.java:6270)
    在java.awt.Container.processEvent(Container.java:2229)
    在java.awt.Component.dispatchEventImpl(Component.java:4861)
    在java.awt.Container.dispatchEventImpl(Container.java:2287)
    在java.awt.Component.dispatchEvent(Component.java:4687)
    在java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
    在java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
    在java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
    在java.awt.Container.dispatchEventImpl(Container.java:2273)
    在java.awt.Window.dispatchEventImpl(Window.java:2719)
    在java.awt.Component.dispatchEvent(Component.java:4687)
    在java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
    在java.awt.EventQueue.access $ 200(EventQueue.java:103)
    在java.awt.EventQueue $ 3.run(EventQueue.java:688)
    在java.awt.EventQueue $ 3.run(EventQueue.java:686)
    在java.security.AccessController.doPrivileged(本机方法)
    在java.security.ProtectionDomain $ 1.doIntersectionPrivilege(ProtectionDomain.java:76)
    在java.security.ProtectionDomain $ 1.doIntersectionPrivilege(ProtectionDomain.java:87)
    在java.awt.EventQueue $ 4.run(EventQueue.java:702)
    在java.awt.EventQueue $ 4.run(EventQueue.java:700)
    在java.security.AccessController.doPrivileged(本机方法)
    在java.security.ProtectionDomain $ 1.doIntersectionPrivilege(ProtectionDomain.java:76)
    在java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
    在java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    在java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    在java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    在java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    在java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    在java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

最佳答案

本质上,您使用的是面向对象的语言。这意味着您应该考虑如何将所需的信息封装在独立的工作单元(对象)中。

实际上,您应该尝试将这些对象直接添加到组合框,并利用组合框的呈现功能以所需的方式在组合框中显示对象的详细信息,而不是尝试将组合框中的值链接到数组。显示。

特别看一下How to use combo boxesProviding a custom renderer

关于java - 尝试使用Java从组合框生成文本框字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20227292/

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