小编3rg*_*rgo的帖子

什么是更好的 ?多个if语句,如果有多个条件,则为一个

对于我的工作,我必须开发一个小型Java应用程序来解析非常大的XML文件(~300k行)以选择非常具体的数据(使用Pattern),所以我试图对它进行一些优化.我想知道这两个片段之间哪个更好:

if (boolean_condition && matcher.find(string)) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

要么

if (boolean_condition) {
    if (matcher.find(string)) {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

更精确:

  • 这些if语句在循环内的每次迭代中执行(~20k次迭代)
  • boolean_conditionboolean使用外部函数在每次迭代时计算的
  • 如果boolean设置为false,我不需要测试匹配的正则表达式

谢谢你的帮助

java optimization if-statement multiple-conditions

39
推荐指数
3
解决办法
7万
查看次数

如何将图标转换为图像

我正在尝试使用以下代码将Icon(javax.swing.Icon)转换为Image(java.awt.Image):

private Image iconToImage(Icon icon)
{
    if(icon instanceof ImageIcon)
    {
        return ((ImageIcon) icon).getImage();
    }
    else
    {
        BufferedImage image = new BufferedImage(icon.getIconWidth(), icon.getIconHeight(), BufferedImage.TYPE_INT_RGB);
        icon.paintIcon(null, image.getGraphics(), 0, 0);
        return image;
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是,该paintIcon函数抛出一个NullPointerExceptionimage.getGraphics().

对于记录,该icon值是默认CheckBox图标(通过获取UIManager.getIcon("CheckBox.icon"))

以下是抛出异常的详细信息:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at com.sun.java.swing.plaf.windows.WindowsIconFactory$CheckBoxIcon.paintIcon(WindowsIconFactory.java:306)
    at utils.WarningRenderer.iconToImage(WarningRenderer.java:50)
    at utils.WarningRenderer.<init>(WarningRenderer.java:38)
    at deliveryexpress.DeliveryExpressView.setWarnings(DeliveryExpressView.java:278)
    at deliveryexpress.DeliveryExpressView.updateLists(DeliveryExpressView.java:218)
    at deliveryexpress.DeliveryExpressView.access$1100(DeliveryExpressView.java:47)
    at deliveryexpress.DeliveryExpressView$5.addCheck(DeliveryExpressView.java:183)
    at org.japura.gui.model.DefaultListCheckModel.fireCheckListModelListeners(Unknown Source)
    at org.japura.gui.model.DefaultListCheckModel.fireAddCheckListModelListeners(Unknown Source)
    at org.japura.gui.model.DefaultListCheckModel.addCheck(Unknown Source)
    at org.japura.gui.CheckList$1.mouseClicked(Unknown …
Run Code Online (Sandbox Code Playgroud)

java swing image awt

22
推荐指数
2
解决办法
4万
查看次数

是否可以根据值定位Highcharts dataLabels?

我正在使用Highcharts来显示一个条形图,其中2个条形图相互重叠,右边有一个dataLabel,显示确切的值.

这里的问题是当值超过80%时,标签会从图表溢出到框架中,翻过其他文本,并使它们都不可读.

这是我的plotOptions:

plotOptions: {
            bar: {
                groupPadding: 0.5,
                pointWidth : 30,
                borderWidth: 0,
                dataLabels: {
                    enabled: true,
                    y:-5,
                    color:"black",
                    style: {
                        fontSize: "12px"
                    },
                    formatter: function(){
                        if(this.y > 80)
                        {
                            this.series.chart.options.plotOptions.bar.dataLabels.x -= 20;
                        }
                        if(this.series.name == "Tests OK")
                            return "Tests OK : <strong>"+Math.round(this.y*10)/10+"%</strong>";
                        else
                            return "<br/>Tests Executed : <strong>"+Math.round(this.y*10)/10+"%</strong>";
                    }
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

我想我可以随时随地编辑图表选项this.series.chart.options.plotOptions.bar.dataLabels.x -= 20;,但这不起作用.

当然,我不是第一个遇到类似问题的人.任何的想法 ?

谢谢

javascript highcharts

13
推荐指数
2
解决办法
3万
查看次数

检测何时加载iframe

<iframe>在我的应用程序(使用ExtJS 4.2的单页面应用程序)中使用(我知道,我知道......)进行文件下载,因为它们包含大量数据并且可能需要一段时间来生成Excel文件(我们根据参数,从20秒到20分钟说话.

当前的状态是:当用户点击下载按钮时,他被Javascript(window.location.href = xxx)"重定向" 到执行导出的页面,但由于它是在PHP中完成的,并且没有发送标题,浏览器会不断加载页面,直到文件下载.但它不是非常用户友好,因为没有任何东西显示它是否仍在加载,完成(文件下载除外)或失败(这导致页面实际重定向,可能使他失去他正在做的工作).

所以我创建了一个停靠在右下角的小型非模态窗口,其中包含iframe以及一条小消息以确保用户放心.我需要的是能够检测何时加载并能够区分2种情况:

  • 无数据:OK =>关闭窗口
  • 文本数据:错误消息=>向用户显示消息+关闭窗口

但是,我尝试了所有4个事件(W3Schools的文档),并没有被永远开除.我至少可以理解,如果它不是返回的HTML数据,它可能无法触发事件,但即使我强制错误返回文本数据,它也不会被触发.

如果有人知道这个的解决方案,或者可能适合这里的替代系统,我全都耳朵!谢谢 !

编辑:添加iframe代码.我们的想法是获得一个更好的方法来关闭它而不是一个setTimeout.

var url = 'http://mywebsite.com/my_export_route';

var ifr = $('<iframe class="dl-frame" src="'+url+'" width="0" height="0" frameborder="0"></iframe>');
ifr.appendTo($('body'));

setTimeout(function() {
    $('.dl-frame').remove();
}, 3000);
Run Code Online (Sandbox Code Playgroud)

javascript iframe

13
推荐指数
3
解决办法
1万
查看次数

PHP静态方法调用变量类名和命名空间

我正在尝试从具有相同名称空间的另一个类调用名称空间类的静态方法.但是另一个类的名称包含在变量中:

<?php 

namespace MyApp\Api;
use \Eloquent;

class Product extends Eloquent {

    public static function find($id)
    {
        //....
    }

    public static function details($id)
    {
        $product = self::find($id);
        if($product)
        {
            $type = $product->type; // 'Book'
            $product = $type::find($product->id);
            return $product;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是Book班级:

<?php

namespace MyApp\Api;
use \Eloquent;

class Book extends Eloquent {

    public static function find($id)
    {
        //....
    }

}
Run Code Online (Sandbox Code Playgroud)

我的类型变量在此处包含有效的类名Book.此类位于同一文件夹中,并使用相同的命名空间.此代码返回错误Class 'Book' not found.我尝试了几种变体(我发现的SO问题)使用反斜杠或call_user_func函数,但没有任何效果.谁知道什么是错的?

php static-methods namespaces

9
推荐指数
1
解决办法
5648
查看次数

使用Java将DOC文件转换为DOCX

我需要在我正在开发的Java软件中使用DOCX文件(实际上是其中包含的XML),但我公司的一些人仍然使用DOC格式.

您知道是否有办法使用Java将DOC文件转换为DOCX格式?我知道使用C#是可能的,但这不是一个选择

我用Google搜索了,但没有出现......

谢谢

java doc docx ms-office

8
推荐指数
1
解决办法
2万
查看次数

我应该在哪里存储我的图像?

我正在开发一个Java应用程序,我不知道在项目文件夹中存储图像的最佳位置.我应该resources在根目录或src文件夹内创建一个文件夹.或者别的地方 ?

它应该在哪里,这样就不会让我的Ant构建崩溃?

谢谢.

PS:我不知道我是应该在这里发布还是在meta上发布.我在这里做了,但如果这不合适,那就告诉我,我会知道下一个.

java ant directory-structure

7
推荐指数
1
解决办法
4715
查看次数

使用Java将宏添加到Excel电子表格中

我正在开发一个创建Excel电子表格的应用程序.我正在将Java与docx4j库一起使用,但它没有Macro支持,因为它不是通过Open XML API提供的.我只是想知道是否有人知道使用Java将宏添加到现有Excel电子表格的解决方法(即使使用其他库).

谢谢

java excel

6
推荐指数
1
解决办法
6090
查看次数

无法使搜索框显示在自定义主题中

我正在尝试为drupal博客制作一个自定义主题,我希望搜索框出现在标题中.为此,我将以下代码放在page.tpl.php模板文件中:*

<?php if ($search_box): ?>
    <div id="search-box"><?php print $search_box; ?></div>
<?php else: ?>
    <h2>Pas de search box</h2>
<?php endif; ?>
Run Code Online (Sandbox Code Playgroud)

但该死的东西不会出现.我做了一些研究谷歌,并检查了搜索模块admin/build/modulesadmin/build/themes/settings/mytheme,以及增加的搜索形式在标题中admin/build/block/list/mytheme.我错过了什么,或者我做错了什么?因为它仍然不起作用,并开始惹恼我......

谢谢.
来自法国的问候;)

themes drupal content-management-system drupal-themes drupal-theming

5
推荐指数
1
解决办法
2万
查看次数

在PHP中编辑Excel 2007(.xlsm)文件

我正在使用PHP(Zend Framework)和JS(extJS 4)开发一个Web应用程序,该应用程序读取客户发送的Excel文件。问题在于它们大量使用宏,这意味着发送的所有文件均为xlsm格式。我们读取文件并使用数据更新数据库,但是有时我们还需要tu编辑它们的文件,以更新其中的一些数据。

我们使用了很多PHPExcel来满足我们所有的PHP / excel需求,但是我对此仍然有些固执。我知道该库并不正式支持启用宏的文件,但是就我而言,我所需要的只是打开文件,编辑“工作表数据”部分,并将文件及其宏一起保存。我将永远不需要访问/编辑文件的宏部分。我已经进行了一些测试,我所能管理的,就是编辑文件,然后以xlsx格式写回。

我给他们返回一个包含它们的宏的文件,这一点非常重要,因为它们每天都会使用此文件,有时一天会多次导入。我不能要求他们改变他们的工作方式,所以我正在努力解决这个问题。我在Google上搜索了其他实现xlsm编写的库,但是我唯一能找到的线索是PHP内置的COM对象以及非常稀疏的文档...

因此,我正在尝试查看这里是否有人在那儿,并提供针对此特定需求的提示或教程。

顺便说一句,我对此有技术要求:我只能使用PHP,也许也可以使用.NET语言,但是Java是不行的。

谢谢

php excel-2007 xlsm

5
推荐指数
0
解决办法
1842
查看次数