Goodmorning,我一直试图找出这个问题一段时间,但所有的答案都与GUI有关,而不是我在我的代码中实现的。
我有一个非常简单的截屏程序,它捕获当前用户的屏幕并将其存储在程序所在的任何位置(在我的案例中为桌面)。
我想给用户提供选择所需文件的选项,或者创建一个新文件来存储它,而不需要弹出GUI框架。
这可能吗?如果是的话,我怎么能实现这个目标呢?
在此先感谢,如果您需要代码的来源,我很乐意发布: - )
主要来源:
public static void main(String[] args) throws Exception{
try{
Dimension size = Toolkit.getDefaultToolkit().getScreenSize();
Robot myRobot = new Robot();
BufferedImage image = myRobot.createScreenCapture(new Rectangle(size));
File save_patch = new File("ScreenCapture.jpg");
ImageIO.write(image, "JPG", save_patch);
}catch(Exception e){
System.out.println("Problem");
}
}
答案 0 :(得分:0)
Scanner s = new Scanner(System.in);
System.out.print("Enter file storage location: ");
String input = s.nextLine();
从这里,您可以获取用户的输入,并将其添加到File
对象。
if(file.isFile()) {
File save_patch = new File(input);
// Perform the save using this file object.
}
修改
将来,请尝试更清楚地说明您的问题。
我想给用户提供选择所需文件的选项,或者创建一个新文件来存储它,而不需要弹出GUI框架。
这不是最简洁的要求。您可以使用this link查看如何允许用户选择文件。
答案 1 :(得分:0)
您需要的是一个文件选择对话框。阅读它:http://docs.oracle.com/javase/tutorial/uiswing/components/filechooser.html
可能看起来像这样(未经测试):
public static void main(String[] args) throws Exception{
try{
Dimension size = Toolkit.getDefaultToolkit().getScreenSize();
Robot myRobot = new Robot();
JFileChooser fileChooser = new JFileChooser();
int ret = fileChooser.showOpenDialog(null);
if (ret == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
BufferedImage image = myRobot.createScreenCapture(new Rectangle(size));
File save_patch = new File(file.getName());
ImageIO.write(image, "JPG", save_patch);
}
}catch(Exception e){
System.out.println("Problem");
}
}