我是新来的,所以我不确定我做错了所以请告诉我,不管我是谁。
我用Java制作一个简单的图像/ gif查看器。我希望能够使用提取的应用程序(我将使用launch4j包装在.exe中)来打开图像文件。当选择要用它打开的图像时,我希望它获取图像的文件路径并将其传递给args [0],以便应用程序可以使用它。
我感觉这是需要在我的Java代码之外完成的事情。也许在安装程序或我使用的包装中,但我不知道该怎么做。
我在过去的3个小时里一直在搜索无济于事。任何帮助表示赞赏。到目前为止我的代码:
public class MainWindow {
private JFrame frame1;
public static String imageLocation = null;
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Throwable e) {
e.printStackTrace();
}
try {
imageLocation = args[0];
} catch (Exception e1) {
e1.printStackTrace();
System.exit(0);
}
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MainWindow window = new MainWindow();
window.frame1.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public MainWindow() {
initialize();
}
private void initialize() {
BufferedImage img = null;
try{
img = ImageIO.read(new File(imageLocation));
}catch (IOException e) {
e.printStackTrace();
}
int imgWidth = img.getWidth();
int imgHeight = img.getHeight();
frame1 = new JFrame();
frame1.getContentPane().setBackground(Color.WHITE);
frame1.setResizable(false);
frame1.setTitle(imageLocation);
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame1.getContentPane().setLayout(new BorderLayout(0, 0));
frame1.setBounds(200, 200, imgWidth+18, imgHeight+40);
JLabel imgLabel = new JLabel("");
imgLabel.setToolTipText(imageLocation);
imgLabel.setHorizontalAlignment(SwingConstants.CENTER);
imgLabel.setIcon(new ImageIcon(imageLocation));
imgLabel.setBounds(0, 0, frame1.getWidth(), frame1.getWidth());
frame1.getContentPane().add(imgLabel);
}
}
提前致谢。
答案 0 :(得分:0)
我没有看到任何表单元素上传文件。不是JForms的专家,但我相信您需要一个文件上传控件,将其值传递给代码中的args数组。