Load ảnh trong java

Discussion in 'Xây dựng các ứng dụng Java khác, các vấn đề khác' started by tungvodoi, 30/3/16.

  1. tungvodoi

    tungvodoi New Member

    mọi người cho e hỏi là khi e click vào 1 sản phẩm trên JTable thì n sẽ hiện ra hình ảnh và tên của sản phẩm ấy trên JLabel thì làm như nào vậy
    Đây là ảnh khi e chạy chương trình: anh.png
  2. JackV

    JackV Administrator Staff Member

  3. tungvodoi

    tungvodoi New Member

    hình như k phải a ơi, bài của e là bắt sự kiện mouseClick trên JTable r show ảnh ra JLabel a ạ
  4. JackV

    JackV Administrator Staff Member

    Vậy là bài của bạn có 2 vấn đề, vấn đề 2 đưa bạn rồi. Vấn đề 1 là khi click lên table bạn bắt sự kiện được rồi đúng không? Nếu vậy thì chỉ còn là set link hình cho label thôi.

    Bạn muốn mọi người giúp nhiều hơn thì phải đưa code bạn lên xem bạn làm được gì rồi mới biết chỗ chỉ cho bạn.

    Lập trình rất nhiều tình huống, không phải ai cũng làm kiểu click lên table rồi hiện thị như bạn đâu, kiểu liệt kê danh sách bằng table là kiểu hàn lâm nên có thể nói là nó lỗi thời.
  5. devsol

    devsol New Member

    Đưa code lên đi bạn !
    JackV likes this.
  6. tungvodoi

    tungvodoi New Member

    đây là code bắt sự kiện MouseClick
    Code:
    private void tableproMouseClicked(java.awt.event.MouseEvent evt) {                                    
            // TODO add your handling code here:
            int index = tablepro.getSelectedRow();
            DefaultTableModel model = (DefaultTableModel) tablepro.getModel();
            proid = model.getValueAt(tablepro.getSelectedRow(), 0).toString();
            txtProid.setText(model.getValueAt(tablepro.getSelectedRow(), 0).toString());
            txtProname.setText(model.getValueAt(tablepro.getSelectedRow(), 1).toString());
            txtProprice.setText(model.getValueAt(tablepro.getSelectedRow(), 2).toString());
            txtGroupid.setText(model.getValueAt(tablepro.getSelectedRow(), 3).toString());
            cbProgroupname.setSelectedItem(model.getValueAt(tablepro.getSelectedRow(), 4).toString());
            txtSupid.setText(model.getValueAt(tablepro.getSelectedRow(), 5).toString());
            cbSupname.setSelectedItem(model.getValueAt(tablepro.getSelectedRow(), 6).toString());
    
            imagePath = lsSP.get(index).getPROPHOTO();
            if (imagePath == null) {
                setLabelImage(imageLocation, "deffault.png");
            } else if (imagePath.indexOf("\\") < 0) {
                setLabelImage(imageLocation, imagePath);
            } else {
                setLabelImage(imagePath);
            }
        }    
    
    private void setLabelImage(String imagePath) {
            if (imagePath == null) {
                imagePath = "C:\\Users\\Admin\\Desktop\\ảnh sql\\deffault.png";
            }
            BufferedImage img = null;
            try {
                img = ImageIO.read(new File(imagePath));
            } catch (IOException e) {
            }
            icon = new ImageIcon(img);
    
            labelHinhanh.setIcon(icon);
        }
    
        private void setLabelImage(String imageLocation, String imageName) {
            if (imageName == null) {
                imageName = "deffault.png";
            }
            imageLocation = this.imageLocation;
            BufferedImage img = null;
            try {
                img = ImageIO.read(new File(imageLocation + imageName));
            } catch (IOException e) {
            }
            icon = new ImageIcon(img);
    
            labelHinhanh.setIcon(icon);
        }
    ArrayList<ItemProduct> lsSP = new ArrayList<>();
    ImageIcon icon;
    
  7. quang vinh

    quang vinh New Member

    Xin hỏi 1 vấn đề là nếu chúng ta muốn chọn file ảnh từ file chooser sau đó click button thêm để thêm hình ảnh đó trong Jtable ta làm như thế nào
  8. quang vinh

    quang vinh New Member

    Mình đã làm được chọn file ảnh rồi và cũng thêm vao được trong table nhưng không hiển thị hình ảnh mà chỉ hiển thị được đường dẫn thôi ai biết xin hướng dẫn với ạ xin cảm ơn
  9. Dai su huynh

    Dai su huynh Member

    xem có được ko?
  10. badboy3283

    badboy3283 Active Member

    Để bạn ấy tự voot, lập trình là phải tư duy, tư duy từ cái đang có và lý thuyết đã học, có gì không hiểu cứ hỏi google

    Code:
    /** Returns an ImageIcon, or null if the path was invalid. */
        protected static ImageIcon getIcon(String path) {
            java.net.URL imgURL = MainForm.class.getResource("/" + path);
            if (imgURL != null) {
                return new ImageIcon(imgURL);
            } else {
                System.err.println("Couldn't find file: " + path);
                return null;
            }
        }
    
        /** Returns an ImageIcon, or null if the path was invalid. */
        protected static Image getImage(String path) {
            java.net.URL imgURL = MainForm.class.getResource("/" + path);
            if (imgURL != null) {
                return Toolkit.getDefaultToolkit().getImage(imgURL);
            } else {
                System.err.println("Couldn't find file: " + path);
                return null;
            }
        }
  11. quang vinh

    quang vinh New Member

    Cảm ơn 2 bạn nhiều mình đã làm được rồi

Chia sẻ trang này