2017-09-19 59 views
0

我想讓一個框架彈出一個可怕的圖像。我使用JOptionPane問了一個問題,如果他們說他們很容易被嚇到,就會彈出一個小丑的圖像或者其他的東西。 問題是,當我嘗試創建一個方法來創建一個JFrame它不會工作。當我嘗試調用該方法時,它不起作用。 下面是代碼幀創建器方法

import java.awt.image.BufferedImage; 
import java.io.File; 
import java.io.IOException; 
import javax.imageio.ImageIO; 
import javax.swing.*; 

public class Boo { 
public static void main(String[] args) throws IOException { 
    int x = JOptionPane.showConfirmDialog(null,"Do you consider yourself 
easily scared?",null,JOptionPane.YES_NO_OPTION); 
    if(x == JOptionPane.YES_OPTION){  
    String fileString = 
"C:\\Users\\20jdominiecki\\Downloads\\68b8a6e159169897cc01d8d34d184962.jpg"; 
    frameCreator(); 
    } 
    int y = JOptionPane.showConfirmDialog(null,"Like what you 
see?",null,JOptionPane.YES_NO_OPTION); 
    if (y == JOptionPane.NO_OPTION) 
    { 
    String fileString = "C:\\Users\\20jdominiecki\\Downloads\\doggo.jpg";  
    frameCreator();  
    } 
}  
public void frameCreator(String fileString) throws IOException{ 

    File file = new File(fileString); 
    BufferedImage image = ImageIO.read(file); 
    JLabel label = new JLabel(new ImageIcon(image)); 
    JFrame f = new JFrame(); 
    f.getContentPane().add(label); 
    f.pack(); 
    f.setLocation(0,0); 
    f.setVisible(true); 


} 

} 
+0

你到底想要什麼?什麼是問題?它在我的系統中傳遞參數後正常工作 – Balasubramanian

回答

0

的問題是,你的方法創建的JFrame,一旦它完成JFrame中被刪除。 試試這個。

JFrame f; 
    public void frameCreator(String fileString) throws IOException{ 

    File file = new File(fileString); 
    BufferedImage image = ImageIO.read(file); 
    JLabel label = new JLabel(new ImageIcon(image)); 
    f = new JFrame(); 
    f.getContentPane().add(label); 
    f.pack(); 
    f.setLocation(0,0); 
    f.setVisible(true); 


} 
0

對於給您帶來的不便,我們深表歉意。我沒有正確地調用這個方法。調用該方法時,我沒有將放入方法中的字符串放在括號中。我通過調用frameCreator(fileString)方法解決了這個問題;

對不起!