- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我希望我的问题是可以理解的,我希望这一节是正确的。我必须构建一个从 Apache 日志文件格式到 IIS 格式的转换器,并且我构建了一个从命令行运行的系统。我刚刚添加了一个 GUI,这是我第一次使用 JFileChooser。问题从那里开始:我收到一个奇怪的错误。这是产生错误的代码:
public class HTTPiis extends JPanel{
public HTTPiis() {
setLayout(new FlowLayout());
JButton selStart = new JButton("Apri");
JButton selDest = new JButton("Seleziona destinazione");
JButton converti = new JButton("Converti");
add(selStart);
add(selDest);
add(converti);
selStart.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
final JFileChooser chooser = new JFileChooser();
chooser.showOpenDialog(new JPanel());
String source = chooser.getSelectedFile().getAbsolutePath();
FileHandler fh = new HTTPtoIIS();
fh.setFilePath(source);
HTTPtoIIS h = new HTTPtoIIS();
h.convert();
}
});
}
}这是错误:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at java.io.File.<init>(File.java:277)
at tesi.FileLoader.load(FileLoader.java:17)
at tesi.HTTPLogHandler.parse(HTTPLogHandler.java:17)
at tesi.HTTPtoIIS.convert(HTTPtoIIS.java:49)
at grafica.HTTPiis$1.actionPerformed(HTTPiis.java:41)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6525)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6290)
at java.awt.Container.processEvent(Container.java:2234)
at java.awt.Component.dispatchEventImpl(Component.java:4881)
at java.awt.Container.dispatchEventImpl(Container.java:2292)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
at java.awt.Container.dispatchEventImpl(Container.java:2278)
at java.awt.Window.dispatchEventImpl(Window.java:2750)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
你能解释一下为什么我错了吗?如果您需要更多代码,请问我!谢谢!!
最佳答案
为什么要向文件选择器添加一个空面板?
对我来说,这个错误看起来像是您的转换器代码的问题。你也是:
是否进行任何基本调试?
显示从文件选择器返回的字符串值?
尝试对字符串值进行硬编码以确定问题出在字符串还是转换器代码上?
在您可以向我们提供更多详细信息之前,我们无法建议具体的解决方案。
也许您的代码需要一个完全限定的文件名。也许它需要一个相对的名字。我们不知道,因为您编写了转换器代码。文件选择器所做的只是给你一个文件名。获取文件名的正确格式取决于您。
阅读 How to Use File Choosers 上的 Swing 教程部分工作示例。
关于java - JFileChooser 产生错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40613111/
我正在对 JFileChooser UI 进行一些定制。我正在寻找 JFilechooser 的渐变背景。我所能做的只是一个自定义的 JFilechooser,但我不确定如何将 gardientbac
我想将 JComboBox 添加到 JFileChooser 中。 我尝试扩展 JFileChooser 并手动添加组合框。我实际上设法做到了这一点,但是从 JFileChooser 对话框中删除了文
我试图在文件选择器对话框中打开一个文件,但是,当我打开一个文件或只是关闭对话框时。对话框再次出现,我必须关闭它两次。这是我的代码,不知道有什么问题 private void jMenuItem1Act
如何强制我的 JFileChooser 具有垂直滚动的单列而不是水平滚动的多列? 最佳答案 如果我理解您的要求,您也许可以使用 JList#setLayoutOrientation(JList.VER
所以我得到了这段非常基本的代码,它使用文件名过滤器初始化 JFileChooser。目前您应该只能看到 .txt 文件,稍后我想使用自定义文件名。 JFileChooser dialog = new
我想在我的程序中使用 JFileChooser 来选择目录并处理它。但是,无论我为文件选择器使用什么 FileFilter,选择目录时 Open 按钮都是锁定的。下面是我的 FileFilter 的代
我创建了一个文件,然后需要将其另存为 .docx 扩展名,但我的代码将其另存为 .txt,如何更改扩展名? JFileChooser saveFile = new JFileChooser()
我使用 JFileChooser 让用户保存文件。但我不希望用户选择一个名称来保存文件。不得启用名称文本字段。 我阅读了文档,但没有找到这样的方法或属性。 最佳答案 评论中的Squiddie给你推荐了
我想更改“查看菜单”菜单下的“列表”按钮文本,但我找不到方法。这是文件选择器窗口的图片。 JFileChooser dialog window 我尝试了这些,但没有成功: UIManager.put(
我有以下 Java 8 Swing 代码: JButton button = new JButton("Browse"); button.addActionListener(new ActionLis
继我之前的两篇文章之后here另一个one here ,以下代码打开常规文件浏览器而不是扩展的文件浏览器: public class GuiHandler extends javax.swing.JF
我开发了一个程序,用于计算文件中的行数,如下所示 Scanner in=new Scanner(System.in); System.out.println("Enter the Drive
我的程序允许您保存已制作的图像。我只需要将其另存为 png 即可。 我目前有: ... File file = fc.getSelectedFile(); try{ ImageIO.write(res
我想自定义我的 JFileChooser,这样我不想在底部说“文件夹名称”,而是将其设置为“图片名称”,并且在文本字段中我不希望它根据我所在的位置进行更改我点击,我希望它一直保持空白。无论如何我可以做
在我的 java 应用程序中,有一个浏览按钮。单击浏览按钮时,弹出文件选择器以选择文件。当我通过单击右上角的十字标记而不选择文件来关闭文件选择器时,它会给出一个异常,提示“线程“AWT-EventQu
阅读 documentation 后我没有看到使用 showDialog() 时使对话框模式化的好方法。 . 是否有一种好方法可以使 JFileChooser 实例成为文档模式而不是应用程序模式? 最
我正在使用 JFileChooser,我想让它在单击 fileItem1 时显示文件选择对话框。这是我的 SwingMenu 类。 问题:我在 showFileChooser 方法中遗漏/做错了什么?
我一直在尝试使用 JFileChooser,但遇到程序无法停止运行的问题,这是我的代码: import java.io.File; import javax.swing.JFileChooser; i
如何在屏幕中央显示 JFile-Chooser。使用 ToolKit 的常规方法不起作用。 最佳答案 查看 Javadoc 中的方法 JFileChooser#showDialog(Component
我对 Swing 和 AWT 还很陌生。虽然我有Java开发经验。我正在尝试使用 JFileChooser 读取文件并获取主方法中的内容。所有 Swing 和 AWT 的大师请帮助我确定我缺少什么。
我是一名优秀的程序员,十分优秀!