Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java包自动导入_Java_Packages - Fatal编程技术网

Java包自动导入

Java包自动导入,java,packages,Java,Packages,是否有一个工具/库允许我在IDE之外自动导入java包 对于instrance,如果我在记事本中键入如下内容: JFrame f = new JFrame(); 然后运行此神奇工具,然后自动编写为: import javax.swing.JFrame .... JFrame f = new JFrame(); 有这样的事吗?以下是我想到的示例用法: import java.io.File; public class TesteImport { public static

是否有一个工具/库允许我在IDE之外自动导入java包

对于instrance,如果我在记事本中键入如下内容:

JFrame f = new JFrame();
然后运行此神奇工具,然后自动编写为:

import javax.swing.JFrame 

....

 JFrame f = new JFrame();
有这样的事吗?以下是我想到的示例用法:

import java.io.File;


public class TesteImport {

    public static void main(String[] args) {
        AutoImport autoImport = new AutoImport();
        File clazz = new File("SampleClazz.java");
        autoImport.setImportClass(clazz);
        autoImport.addLib("LibA.jar");
        autoImport.addLib("LibB.jar");
        autoImport.importAll();
    }

}

在Eclipse中,您有Crtl-Shift-O(或mac上的Command-Shift-O)。也许您可以深入研究Eclipse源代码(开源),找到驱动此功能的Java代码并重新使用它。祝你好运

您需要的是一个可以在IDE之外修改源代码的工具。这真的不是一个好主意——codegen总是以吮吸告终,不管它一开始看起来多么酷和有限

对于代码生成来说,唯一合适的情况是程序员永远看不到中间版本——这发生在C预处理器上——它生成了一个你永远看不到的中间预处理版本

也就是说,您可能需要Groovy之类的东西。IIRC,groovy允许像“import*”这样的东西来导入所有东西

问题是,Java更像是一个专业工具——你真的不想让它做棘手的事情。许多Java程序员甚至不喜欢“import Java.util.*”,而是坚持扩展精确的导入,以便准确地知道每个类的来源

对于groovy、ruby等较轻的语言来说,这并不是什么大问题——简洁更重要


如果你必须使用Java,老实说,答案是否定的,在开发环境GUI之外没有好的解决方案。拥抱您的GUI。

即使有这样一个工具,它也不会在没有用户输入的情况下自动工作

例如,如果您有以下代码:

List myList;

它必须询问,如果
列表
应该来自
java.awt.List
还是
java.util.List

你是什么意思?你能详细说明一下你的问题以及你想做些什么来解决它吗?你想在记事本中键入如下内容:
JFrame f=new JFrame()
然后运行这个神奇的工具,然后自动将:
import javax.swing.JFrame
写入你的代码中吗?这就是问题吗?是的!!!或者例如:导入java.io.File;公共类TesteImport{public static void main(String[]args){AutoImport AutoImport=new AutoImport();File clazz=new File(“SampleClazz.java”);AutoImport.setImportClass(clazz);AutoImport.addLib(“LibA.jar”);AutoImport.addLib(“LibB.jar”);AutoImport.importal();}@奥斯卡——eclipse就是这么做的——它并没有那么神奇:)而且groovy也能做到。比尔:是的,事实上,我更想“猜测”真正的问题是什么。我在paulo的评论/确认后进行了编辑。这看起来很相关:他确实明确地说了“在IDE之外”@Bill K:我已经在我的回复中提到了这一点,建议他查看使此功能在IDE中工作的源代码并做同样的事情。我就是其中之一。对于代码片段,可以使用import
java.util.*对于生产代码,我会坚持列出每一个使用过的类。有趣的是,至少有一个或两个投票反对,没有任何评论。我真的希望你能给我一些关于你为什么要投票的线索。。。有人想猜猜我是怎么得罪的(或者这是错的?)对不起,我仍然不知道如何使用这个工具!没有工具,编写起来会很困难(Java中定义了多个“点”类,它应该会自动导入),而且您无论如何也不想这样做,因为这将是code gen。抱歉,如果我用了太多的词来这么说!如果您想要一个简单的修复,请使用Eclipse并键入shift-alt-O。