小编Kev*_*Kev的帖子

如何创建可插入的Java程序?

我想创建一个可以使用插件扩展的Java程序.我怎么能这样做,我应该在哪里寻找?

我有一组插件必须实现的接口,它应该在一个jar中.程序应该在相对(程序)文件夹中监视新的jar并以某种方式注册它们.


虽然我喜欢Eclipse RCP,但我认为这对我的简单需求来说太过分了.

对于Spring来说也是如此,但是无论如何我都要去看它,我不妨试试吧.

但是,我仍然希望找到一种尽可能简单的方法来创建自己的插件"框架".

java plugins plugin-architecture

37
推荐指数
4
解决办法
3万
查看次数

CanExecuteChanged和CommandManager.RequerySuggested的实际任务是什么?

我从Josh Smith的MVVM 教程中获得了以下代码.

任何人都可以快速解释这段代码实际上做了什么吗?

public event EventHandler CanExecuteChanged
{
    add { CommandManager.RequerySuggested += value; }
    remove { CommandManager.RequerySuggested -= value; }     
}
Run Code Online (Sandbox Code Playgroud)

我无法理解两件事:

  1. 什么是CanExecuteChanged事件呢?
  2. 这是CommandManager.RequerySuggested做什么的?

上面的代码RelayCommand来自这里的Class .

wpf relaycommand icommand

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

Java相当于C#的TimeSpan

Java是否具有表示一段时间的数据类型,例如34秒,5分钟等.

我已经看过一些TimeSpan的实现,涵盖了从12月10日到12月11日的时间段.

我需要的是像C#中的TimeSpan.

java time datetime timespan

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

SDL init失败,原因是:没有可用的视频设备

我尝试在Ubuntu 64bit 10.10上启动我的avd,但它失败并在日志中显示以下内容:

SDL init failure, reason is: No available video device

我该怎么办?

我试图搜索解决方案,有人说它需要x11/sdl/jdk库,我安装了它们但它仍然无效.

android android-virtual-device

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

我应该在PHP中允许'allow_url_fopen'吗?

我们有几个开发人员要求allow_url_fopen在我们的服务器上启用.这些天的常态是什么,如果libcurl启用,是否真的有任何理由允许?

环境是:Windows 2003,PHP 5.2.6,FastCGI

php configuration

33
推荐指数
2
解决办法
7万
查看次数

无法在嵌入UpdatePanel的WebControl中获取ScriptManager.RegisterStartupScript

我有我认为应该是一个相当简单的问题,但对于我的生活,我看不出我的问题.问题与ScriptManager.RegisterStartupScript有关,这是我之前多次使用过的.

我的场景是我有一个插入页面的自定义Web控件.控件(以及一个或两个其他)嵌套在UpdatePanel中.它们被插入到PlaceHolder的页面上:

<asp:UpdatePanel ID="pnlAjax" runat="server">
  <ContentTemplate>
    <asp:PlaceHolder ID="placeholder" runat="server">
    </asp:PlaceHolder>
    ...

protected override void OnInit(EventArgs e){
  placeholder.Controls.Add(Factory.CreateControl());
  base.OnInit(e);
}
Run Code Online (Sandbox Code Playgroud)

这是页面上唯一的更新面板.

控件需要运行一些初始的javascript才能正常工作.控制电话:

ScriptManager.RegisterStartupScript(this, GetType(), 
                                    Guid.NewGuid().ToString(), script, true);
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

ScriptManager.RegisterStartupScript(Page, Page.GetType(), 
                                    Guid.NewGuid().ToString(), script, true);
Run Code Online (Sandbox Code Playgroud)

问题是脚本在首次显示页面时正确运行,但在部分回发后不会重新运行.我尝试过以下方法:

  1. 从CreateChildControls调用RegisterStartupScript
  2. 从OnLoad/OnPreRender调用RegisterStartupScript
  3. 对前两个参数使用不同的参数组合(在上面的例子中,Control是Page和Type是GetType(),但我尝试过使用控件本身等).
  4. 我尝试过使用持久性和新的ID(不是我认为这应该会产生重大影响).
  5. 我使用了一些断点,因此验证了正确调用了寄存器行.

我唯一没有尝试的是使用UpdatePanel本身作为控件和类型,因为我不相信控件应该知道更新面板(并且在任何情况下似乎都没有获得更新的好方法面板?).

任何人都可以看到我在上面做错了什么吗?

谢谢 :)


好吧,回答上面的查询 - 它看起来好像占位符以某种方式混淆了ScriptManager.RegisterStartupScript.

当我将控件拉出占位符并将其直接编码到页面上时,Register脚本正常工作(我也将控件本身用作参数).


ScriptManager.RegisterStartupScript(this, GetType(), Guid.NewGuid().ToString(), script, true);

任何人都可以解释为什么注入控件到PlaceHolder会阻止ScriptManager正确注册脚本?我猜这可能与动态控件的生命周期有关,但如果有一个正确的上述过程,我会欣赏(据我所知).

c# asp.net ajax updatepanel scriptmanager

33
推荐指数
3
解决办法
11万
查看次数

如何计算网格中两点之间的最短路径

我知道有很多算法可用于计算图形或网格中两点之间的最短路径,如广度优先,全对(Floyd's),Dijkstra's.

但是,正如我所注意到的,所有这些算法都计算出该图或网格中的所有路径,而不仅仅是我们感兴趣的两点之间的路径.

我的问题是: 如果我有一个网格,即一个二维数组,我有兴趣计算两点之间的最短路径,比如P1和P2,如果我可以在网格上移动的方式有限制(例如,只对角,或只对角和向上等),什么算法可以计算这个?

请注意,如果您有答案,我希望您发布算法的名称而不是算法本身(当然,如果您也发布算法,则更好); 例如,无论是Dijkstra的算法,还是Floyd的算法,或者其他什么.

请帮助我,我几个月来一直在考虑这个问题!


好吧我们在TOPCODER.COM上发现这个算法在网格中你只能移动(对角线和向上)但我无法理解这是什么算法,任何人都知道?

#include<iostream>
#include <cmath>

using namespace std;




inline int Calc(int x,int y)

{



if(abs(x)>=abs(y)) return abs(x);
int z=(abs(x)+abs(y))/2;
return z+abs(abs(x)-z);
 }

class SliverDistance
{


    public:
int minSteps(int x1,int y1, int x2, int y2)
{
    int ret=0;
    if(((x1+y1)&1)!=((x2+y2)&1))y1++,ret++;
    return ret+Calc(x2-x1,y2-y1);
}
};
Run Code Online (Sandbox Code Playgroud)

algorithm shortest-path

33
推荐指数
3
解决办法
9万
查看次数

使用ServerManager在Application中创建Application

我正在使用ServerManager(Microsoft.Web.Administration.dll)在IIS 7上的网站中创建应用程序.我需要在此应用程序中创建应用程序或将虚拟目录转换为应用程序(如iis manager功能权限 - 单击 - >转换为应用程序)这怎么可行?我发现关于这个lib的文档很少,并且没有一个提到这个特定的功能.谢谢.

c# iis configuration iis-7

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

在Linux和Windows上创建一个路径

我怎样才能确定这条路径:

new Zend_Log_Writer_Stream(APPLICATION_PATH . '\logs\app.log')  
Run Code Online (Sandbox Code Playgroud)

适用于Linux和Windows吗?

php linux windows

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

如何在使用自定义位置时在asp.net core mvc中指定视图位置?

假设我有一个控制器使用基于属性的路由来处理请求的/ admin/product网址,如下所示:

[Route("admin/[controller]")]        
public class ProductController: Controller {

    // GET: /admin/product
    [Route("")]
    public IActionResult Index() {

        return View();
    }
}
Run Code Online (Sandbox Code Playgroud)

现在让我们说我希望将我的视图组织在一个文件夹结构中,该文件夹结构大致反映了它们相关的url路径.所以我希望这个控制器的视图位于这里:

/Views/Admin/Product.cshtml
Run Code Online (Sandbox Code Playgroud)

更进一步,如果我有这样的控制器:

[Route("admin/marketing/[controller]")]        
public class PromoCodeListController: Controller {

    // GET: /admin/marketing/promocodelist
    [Route("")]
    public IActionResult Index() {

        return View();
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望框架在这里自动查找它的视图:

Views/Admin/Marketing/PromoCodeList.cshtml
Run Code Online (Sandbox Code Playgroud)

理想情况下,用于通知视图位置框架的方法将基于基于属性的路由信息​​以一般方式工作,而不管涉及多少URL段(即,嵌套的程度有多深).

如何指示Core MVC框架(我目前正在使用RC1)在这样的位置查找控制器的视图?

asp.net-core-mvc asp.net-core asp.net-core-1.0 asp.net-core-2.1

31
推荐指数
4
解决办法
3万
查看次数