2010-12-02 12 views
-1

ボタンを含むJFrame /パネルで作業しています。ユーザーがボタンをクリックすると、画像(コンピュータのハードディスクにあらかじめ保存されている画像)が前面のスクリーンに表示されます。Javaを使用して.bmp/.jpegイメージを開く方法

button.addActionListener(new ActionListener(){ 
     public void actionPerformed(ActionEvent e){ 
     //here i want a code that will somehow open the image from a given directory 
      }}); 

これについてのご提案はありますか?私は画像が保存されている場所を教えて、前面のスクリーンに画像が現れるように仮想の「ダブルクリック」を引き起こさなければなりません。そのようなコンピュータ機能を同期するためにjavaを使用することも可能ですか?

+0

これはあなたの後になっているようですhttp://stackoverflow.com/questions/526037/java-how-to-open-user-system-preffered-editor-for-given-file – Karl

答えて

3

私は非常に短い道を知らないが、(印象を得るためにハックqickとして)私はこのようなものを使用します。

try { 
    // this is a new frame, where the picture should be shown 
    final JFrame showPictureFrame = new JFrame("Title"); 
    // we will put the picture into this label 
    JLabel pictureLabel = new JLabel(); 

    /* The following will read the image */ 
    // you should get your picture-path in another way. e.g. with a JFileChooser 
    String path = "C:\\Users\\Public\\Pictures\\Sample Pictures\\Koala.jpg"; 
    URL url = new File(path).toURI().toURL(); 
    BufferedImage img = ImageIO.read(url); 
    /* until here */ 

    // add the image as ImageIcon to the label 
    pictureLabel.setIcon(new ImageIcon(img)); 
    // add the label to the frame 
    showPictureFrame.add(pictureLabel); 
    // pack everything (does many stuff. e.g. resizes the frame to fit the image) 
    showPictureFrame.pack(); 

    //this is how you should open a new Frame or Dialog, but only using showPictureFrame.setVisible(true); would also work. 
    java.awt.EventQueue.invokeLater(new Runnable() { 

     public void run() { 
     showPictureFrame.setVisible(true); 
     } 
    }); 

    } catch (IOException ex) { 
    System.err.println("Some IOException accured (did you set the right path?): "); 
    System.err.println(ex.getMessage()); 
    } 
私はこれが動作すると思います
0

...

コード:

プロセス=新しいProcessBuilder( "mspaint"、 "yourFileName.jpeg")。start();

これは..... mspaintを使用してイメージファイルを開く

ともを使用します* のJava拡張イメージング(JAI) *

0

は、このコード

try 
{ 
    // the line that reads the image file 
    BufferedImage image; 


    // work with the image here ... 
     image = ImageIO.read(new File("C://Users//Neo//Desktop//arduino.jpg")); 


     jLabel1.setIcon(new ImageIcon(image)); 
} 
catch (IOException e) 
{ 
    // log the exception 
    // re-throw if desired 
} 
0

をお試しください私は確信していませんが、これを試してみてください...

try 
{ 

    JLabel picture=new JLabel(); 

    ImageIcon ic=new ImageIcon(Toolkit.getDefaultToolkit().getImage(getClass().getResource("C:\\Users\\Desktop\\xyz.jpg"))); 

    picture.setIcon(ic); 

} 
catch(Exception) 
{ 
} 
関連する問題