java swing Größe ImageIcon nach jLabel

ich bin ein neuer Programmierer hier und ich habe etwas zu Fragen, ich habe durchsuchen ein Bild in meine GUI (und den Pfad im Textfeld auch), die wird auf einem Label, aber das label dimension ist nur 100,100, während das Bild ist viel größer, also, wenn ich open/display in das Etikett abgeschnitten bekommen , gibt es trotzdem machen es die auto-resize-dem Etikett-Größe? unten ist meine Logik-code auf die Schaltfläche "durchsuchen" und öffnen Dialogfenster
bitte alle mir einer sagen, wo ich falsch bin..

public class ImagePath extends javax.swing.JFrame {
    private JPanel contentPane;

    JLabel jLabel1;
    String s2;
    File targetFile;
    BufferedImage targetImg;

    public ImagePath() {
        initComponents();
    }

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

        JFileChooser jFileChooser1 = new JFileChooser();

        int state = jFileChooser1.showOpenDialog(new JFrame());

        jTextField1.setText("");
        if (state == JFileChooser.APPROVE_OPTION) {
            JOptionPane.showMessageDialog(new JFrame(), "hii");
            File file = jFileChooser1.getSelectedFile();
            s2 = file.toString();
            jTextField1.setText(s2);
            jLabel1 = new JLabel();
            jLabel1.setName(s2);
            jLabel1.setLocation(50, 50);
            jLabel1.setSize(300, 300);
            add(jLabel1);
            BufferedImage bi1;

            try {
                bi1 = ImageIO.read(file);
                ImageIcon icon1 = new ImageIcon(bi1);
                jLabel1.setIcon(icon1);

                Image img = icon1.getImage();
                ImageIcon icon = new ImageIcon(file.getPath());
                Image scaleImage = icon.getImage().getScaledInstance(28, 28, Image.SCALE_DEFAULT);

                repaint();
                pack();

            } catch (Exception e) {
                System.out.println(e);
            }
        } else if (state == JFileChooser.CANCEL_OPTION) {
            JOptionPane.showMessageDialog(new JFrame(), "Canceled");
        }

    }

}
Bitte poste deinen gesamten code, einschließlich der von NetBeans generierte initComponents Methode. Es ist da, man muss Sie nur zu erweitern, die zusammengebrochen "Generierter Code" - Ding.

InformationsquelleAutor Rohit | 2013-08-02

Schreibe einen Kommentar