Mình có bài code qlysp khá hoàn chỉnh nhập dử liệu dc .Nhưng khi mình thử bấm vào 1 catalog trong ds catalog roi bấm new catalog mới thì gặp tình trạng lỗi Nullpointexception ko lấy product lên dc nhưng do catalog này mới tạo chưa có sp.
Tuy nhiên nếu ko bấm vào 1 catalog nào đó trên danh sach thì viêc tao mới diển ra bình thường
đậy là ảnh minh họa :
đây là phần code
public class MainManagerUI extends JFrame {
private static JList lstCate
public static ListCategory *listData* ;
public static Category *selectedCate* ;
public MainManagerUI(String title)
{
super (title);
listData = new ListCategory();
}
...........
lstCate* .addListSelectionListener( new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent arg0) {
// Get the selected Category from the list.
//nếu ẩn 2 dòng này thì hết báo loi null point nhưng cũng đồng nghĩa ko lấy dc ds product lện bảng dc
selectedCate =(Category) lstCate .getSelectedValue();
showListProductIntoTable();
} });
}
private void showListProductIntoTable()
{
dtmProduct.setRowCount(0);
for (Product p: selectedCate .getListPro()) //lỗi gây ra null point nằm ở dong này
{
Vector<String> vec= new Vector<String>();
vec.add(p.getProductId());
vec.add(p.getProductName());
dtmProduct.addRow(vec);
} }
public static void updateCateList()
{
lstCate .removeAll();
lstCate .setListData( listData .getList().toArray());
lstCate .updateUI();
cboCateList .removeAllItems();
for (Category cate : listData .getList())
{
cboCateList .addItem(cate);
}
}
private void doCreateNewCate()
{
CategoryManagerUI cateUI= new CategoryManagerUI(“Cate information”);
cateUI.doShow();//goi bang nhap ten category
}
private class processButtonEvent implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
Object o=e.getSource();
if (o.equals(btnCateNew))
{
doCreateNewCate();
}
else if(o.equals(cboCateList))
{
doComboboxSelected();
} }
Bác nào có kinh nghiệm giúp với mình nghỉ hết cách mà ko sửa dc