我正在尝试弹出一个框架,上面有一个可怕的图像。我问一个使用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 :(得分: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);
}
答案 1 :(得分:0)
对于给您带来的不便,我深表歉意。我没有正确地调用该方法。调用方法时,我没有在括号中输入进入方法的字符串。我通过使用frameCreator(fileString);
调用方法来修复此问题对不起伙计们!