亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

點擊jList中的某一項,卻不能顯示出該項對應的詳細信息(JTextArea)的疑問

點擊jList中的某一項,卻不能顯示出該項對應的詳細信息(JTextArea)的疑問

Tesjunma 2017-01-05 20:16:18
public?abstract?class?Mainform?extends?JFrame{ ?protected?JPanel?pnlContent?=?null; ?protected?JPanel?pnlInformation?=?null; ?protected?JPanel?pnlButton?=?null; ?protected?JPanel?pnlTime?=?null; ? ?protected?JList<String>?jList?=?null; ?protected?DefaultListModel<String>?model?=?null; ?protected?ProductController?productController?=?null; ? ?protected?Cart?cart?=?null; ?protected?JButton?btnAdd?=?null;? ?protected?JTextArea?txtInform?=?null; ?protected?JScrollPane?scrollpnl?=?null; ? ?public?Mainform(){ ?? ??this.setSize(new?Dimension(800,600)); ??this.setBackground(Color.LIGHT_GRAY); ??this.setLocationRelativeTo(null); ??this.setTitle("Gourmet?Coffee?System"); ??this.setDefaultCloseOperation(DISPOSE_ON_CLOSE); ?? ??pnlContent?=?new?JPanel();? ??pnlTime?=?new?TimePanel();? ??pnlInformation?=?new?JPanel(); ??pnlInformation.setBackground(Color.GRAY);? ??pnlButton?=?new?JPanel(); ??pnlButton.setBackground(Color.white);? ??txtInform?=?new?JTextArea(500,600); ?? ?? ??setList(); ??this.add(pnlTime,?BorderLayout.NORTH); ??this.add(pnlContent,BorderLayout.WEST); ??this.add(pnlButton,BorderLayout.SOUTH); ?? ??addButton(pnlButton); ?? ?? ??showFrame(); ?} ? ?private?void?showFrame()?{ ??this.setVisible(true); ?} ? ?public?void?setList(){ ?? ??model?=?new?DefaultListModel<String>(); ??productController?=?new?ProductController("information","Product.txt"); ??for(Product?product:?productController.readObject("information",?"Product.txt")){ ???model.addElement(product.getCode()); ??} ??jList?=?new?JList(model); ??jList.setPreferredSize(new?Dimension(200,600)); ??pnlContent.add(jList); ??setText(); ?} ? ? ?public?void?setText(){ ??txtInform.setLineWrap(true); ??txtInform.setEditable(false); ??txtInform.setBackground(Color.blue); ??jList.addListSelectionListener(new?ListSelectionListener(){ ???@Override ???public?void?valueChanged(ListSelectionEvent?e)?{ ????if(!jList.getValueIsAdjusting()){ ????/* ?????*監聽過程中如果匹配,增加text內容? ?????*/ ????String?code?=?jList.getSelectedValue(); ????ProductController?productcontroller?=?new?ProductController("information",?"Product.txt"); ????ArrayList<Product>?products?=? ??????productcontroller.readObject("information",?"Product.txt"); ?????for(Product?product:products){ ??????if(code?==?product.getCode()){ ???????txtInform.setText(product.toString());??? ??????} ?????} ????} ???} ??}); ??pnlInformation.add(txtInform); ??this.add(pnlInformation,BorderLayout.CENTER); ?} ? ? ? ?abstract?void?addButton(JPanel?pnlButton);參數:jList列出目錄jTextArea我希望JList在鼠標點擊的時候能顯示商品的詳細信息,詳細信息用JTextArea等表示。為此設置了一個事件ListSelectionListener在內部類里面讀取商品文件的信息(讀取文件的函數返回ArrayList)查看是否有匹配(通過比較商品的屬性---Code是否一致的方式)我認為我的邏輯上應該是沒有問題的。在? txtInform.setText(product.toString());這句設了斷點以后似乎發現有線程的沖突,還有空指針異常……?菜鳥一個,不懂怎么解決此類問題…跪求大佬幫忙。這是設了斷點以后發現的問題:剛剛step into?一步以后就顯示了這個…感謝!?。?!
查看完整描述

目前暫無任何回答

  • 0 回答
  • 1 關注
  • 1575 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號