从程序参数加载图像

时间:2015-03-11 05:06:32

标签: java image processing

嗨,由于某种原因,这不会加载我的图像。如果有人有任何帮助,将不胜感激。它与stirng fn = args [0]有关;但我无法弄清楚。谢谢!

  import javax.swing.JFrame;
  public class ImageProc
  {
    public static void main (String[] args)
  {
    String fn = args[0];
    JFrame frame = new JFrame ("Image Processing");
    frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);

    MainPanel panel = new MainPanel("flower.jpg"); 

    frame.getContentPane().add(panel);
    frame.pack();
   frame.setVisible(true);
  }
 }

1 个答案:

答案 0 :(得分:0)

您已对文件名(fn)进行了硬编码,并且您没有使用任何命令行参数调用该程序。我建议你使用

String fn = (args.length > 0) ? args[0] : "flower.jpg";
JFrame frame = new JFrame ("Image Processing");
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
// MainPanel panel = new MainPanel("flower.jpg");
MainPanel panel = new MainPanel(fn);

这样您可以稍后提供命令行参数(如果需要),程序会检查它们是否首先存在。

或者,你可以注释掉

// String fn = args[0];

args[0]失败的原因是因为您没有使用命令行参数运行程序。

最后,如果您提供了命令行参数,则可以运行现有代码。