2016-08-20 13 views
0

私はJAVAで新しいです。 私は自分のウィンドウ(JPanel)で作業しています(例えば円を追加しています)。 メニューを作成し、「ファイル>インポート」をクリックすると、開いているダイアログボックスが表示され、自分のイメージを選択できます。私はイメージファイル(System.out.println(FC.getSelectedFile()。toString())のおかげでチェックされたイメージファイルへの正しいパスを取得しますが、イメージは表示されません...JAVA - JPanelに画像を追加

コードは次のとおりです。

 //On crée les listeners pour le menu "Fichier" : 
     this.importer.addActionListener(new ActionListener() 
     { 
       public void actionPerformed(ActionEvent event) 
       { 
        //On ouvre la boîte de dialogue pour charger le dessin : 
        JFileChooser FC = new JFileChooser(); 
        FC.showOpenDialog(null); 
        BufferedImage myPicture=null; 
       try { 
        myPicture = ImageIO.read(FC.getSelectedFile()); 
        System.out.println(FC.getSelectedFile().toString()); 
       } catch (IOException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 
        contenant.add(new JLabel(new ImageIcon(myPicture)), BorderLayout.CENTER); 
        contenant.repaint(); 
       } 
      }); 

ご協力いただきありがとうございます。

+0

コードの関連部分をここに掲載しようとしています画像関連の部分 – kolboc

+0

GOOGLEを試しましたか? – Andremoniy

+0

[JPanelに画像を追加する方法]の複製がありますか?(http://stackoverflow.com/questions/299495/how-to-add-an-image-to-a-jpanel) – Andremoniy

答えて

0

これを置き換えます。これにより

contenant.repaint(); 

:あなたはJLabelのを追加すると

contenant.revalidate(); 

、それが自動的にレイアウトだ整理して、コンテンツペインを強制しないので、たとえJLabelのそこにはまだ大きさがありません。 revalidate()を呼び出すとこれが修正されます。

+0

Drewllに感謝しますがEclipseでこのエラーが発生しました:「メソッドrevalidate()は型コンテナの定義されていません」確かに、contenantはコンテナです:privateコンテナcontenant; – Fred

+0

revalidate()メソッドを使用するためにJPanelを作成しました。ご協力いただきありがとうございます。 – Fred