請求書のリストを含むJComboxが必要です。請求書を選択すると、フォームに記入されます。請求書は、「購入者」コンボボックスを選択することで読み込まれます。 請求書comboxにはitemStateChangedイベントがあります。問題は、購入者を選択すると、フォームに最初の請求書(請求書コンボボックスの最初のアイテム)が入力されることです。そのため、請求書コンボボックスで選択したインデックスを-1に設定しました。私が得たのと同じ結果。
OrderのtoStringmethosは、請求書番号を返します。
for (Order O : orderList) {
jcbInvoiceNos.addItem(O);
}
jcbInvoiceNos.setSelectedIndex(-1);
private void addInvoiceNoItemChangeListener() {
jcbInvoiceNos.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED) {
loadInvoiceDetails();
}
}
});
}
public void loadInvoiceDetails() {
System.out.println("Selected index " + jcbInvoiceNos.getSelectedIndex());
}
これは常に選択されたインデックス0を出力します。これは、最初に購入者を選択したときに選択されたインデックス-1である必要があります。請求書を選択して記入したい。買い手ではありません。
これに対する解決策を教えてください。