小编Jim*_*_CS的帖子

从Java中的字符串中删除第一个单词

从Java中删除字符串中第一个单词的最佳方法是什么?

如果我有

String originalString = "This is a string";

我想从中删除第一个单词,实际上形成两个字符串 -

removedWord = "This"
originalString = "is a string;
Run Code Online (Sandbox Code Playgroud)

java string split

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

收听元素的创建,并在Chrome扩展程序中显示在页面上时触发事件

是否可以让Chrome扩展程序侦听尚未创建的元素的外观?

假设用户单击一个按钮,click事件会创建一个元素<div id='myDiv'>My Div</div>并将其添加到页面/ DOM.是否可以设置一个侦听器,该侦听器会在该元素出现时自动触发事件?

或者我是否必须使用轮询页面并每隔X毫秒检查一次这个元素?

对我来说,jQuery和其他库不是一个选择顺便说一句.

javascript google-chrome google-chrome-extension

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

Prism事件聚合器不能从单独的模块工作

我遇到了棱镜事件聚合器的问题.如果我订阅,并在同一模块中发布一个事件,它工作正常.像这样 -

public class InfrastructureModule : IModule
{
    private IEventAggregator eventAggregator;

    public InfrastructureModule(IEventAggregator eventAggregator)
    {
        this.eventAggregator = eventAggregator;
        eventAggregator.GetEvent<TestEvent>().Subscribe(TestSub);
    }

    public void Initialize()
    {
        eventAggregator.GetEvent<TestEvent>().Publish("Infrastructure module");
    }

    private void TestSub(string s)
    {
        MessageBox.Show(s);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我在另一个模块中订阅该事件,则在调用eventAggregator.GetEvent().Publish()时没有任何反应 -

public class OtherModule : IModule
{
    private IEventAggregator eventAggregator;

    public OtherModule (IEventAggregator eventAggregator)
    {
        this.eventAggregator = eventAggregator;
    }

    public void Initialize()
    {
        eventAggregator.GetEvent<TestEvent>().Publish("Other module");
    }
}
Run Code Online (Sandbox Code Playgroud)

基础架构模块首先注册,因此问题不在于OtherModule在订户之前发布事件.任何想法都出错了?

编辑:这是我注册模块的地方

class Bootstrapper : UnityBootstrapper
{
    protected override DependencyObject CreateShell()
    {
        return new Shell();
    }

    protected …
Run Code Online (Sandbox Code Playgroud)

c# wpf events prism

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

将对象添加到JList

我有一个对象 - ArrayList<User> users包含一些用户对象.

public class User
{
    int id;
    String name;
    String location;
}
Run Code Online (Sandbox Code Playgroud)

我想把这个ArrayList放在一个JList中,这样它就会显示用户名 -

John
Mick
Sam
Joe
Run Code Online (Sandbox Code Playgroud)

---当我选择一个用户名时,会触发一个事件,让我使用相应的User对象执行某些操作.所以有人点击'Mick',我得到这样的代码(伪代码) -

public jListClicked(User user)
{
    int id = user.id;
    String name = user.name;
    String location = user.location;

    updateDatabase(id, name, location);
}
Run Code Online (Sandbox Code Playgroud)

我认为这可以使用JList ?? 毕竟我想象这就是为JList组件创建的.那么如何将一个像ArrayList这样的对象添加到JList中,以便我具备上述功能呢?

java swing jlist

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

使用Prism与模块进行通信?

从Prism文档开始,它说有四种方式可以跨模块进行通信 -

  • 解决方案指挥
  • 地区背景
  • 共享服务
  • 事件聚合

    1. 我可以选择其中一种方法并将其应用于所有跨模块通信吗?或者我应该根据情况使用不同的方法?
    2. 特别是,在我正在编写的应用程序中,我在一个模块中有按钮,当用户点击它时,我想在另一个模块中启动一个线程.我会在这种情况下使用哪种通讯方式?

c# wpf prism

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

正确更新摆动组件

我一直在为摆动组件设置值,就像我对任何其他变量一样,但是我遇到了这个页面 - https://bitguru.wordpress.com/2007/03/21/will-the-real-swing-single-threading -rule-please-stand-up / - 似乎我正在使用事件调度线程对swing组件进行所有更改 -

所以,这是否正确,我是否应该更改所有更新swing组件的代码

    String name = this.getNameTextfield().getText();
    String password = new String(this.getPasswordField().getPassword());
    String confirmPassword = new String(this.getConfirmPasswordField().getPassword());
Run Code Online (Sandbox Code Playgroud)

这个?

java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
               String name = this.getNameTextfield().getText();
               String password = new String(this.getPasswordField().getPassword());
               String confirmPassword = new String(this.getConfirmPasswordField().getPassword());
            }
        });
Run Code Online (Sandbox Code Playgroud)

这是标准做法吗?

编辑:哎呀,只是复制并粘贴了一些与组件相关的代码,忽略了它没有更新组件的事实.

java swing

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

用纯javascript动画,没有jquery

我正在使用jquery/jquery-ui的slideDown()动画功能来完成特定的任务.现在发现我将无法在这个项目中使用jQuery.我也不能使用YUI或任何其他库.所以我想知道有没有办法使用纯javascript执行slideDown风格的动画?

编辑:我必须在没有jQuery的情况下这样做,因为我使用selenium来控制网页,并且在这个特定的网站上由于某种原因将jQuery添加到分页符事件处理程序.

javascript

4
推荐指数
1
解决办法
4335
查看次数

使用percall实例化可能的WCF异步双工回调?

我正在使用netTcpBinding,根据我的阅读,percall实例上下文是使用wcf的推荐方法.但这是否意味着我将无法使用异步双工回调?因为在方法调用之间销毁服务对象所以无法在客户端上执行异步回调?它是否正确?

似乎如果我想使用percall进行可扩展性,我将在客户端计算机上遇到错误的响应,因为回调不能是异步的.或者我弄错了?

c# wcf

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

将变量添加到另一个线程正在使用的List中,这是一种不好的做法吗?

我在一个单独的线程中运行一个字符串List的无限循环.我希望能够在线程运行时将字符串添加到此列表中.我觉得我写的代码是"错的".在无限循环中,我遍历列表中的每个字符串并对其执行操作,因此我似乎无法从主线程向该列表添加字符串,因为我将干扰同时发生的变量被另一个线程访问.这是我的代码的样子 -

class StringTest
{
public List<string> ListOfStrings = new List<string>();
public Task MainLoopTask;
bool IsRunning = false;

public void AddToList(string myString)
{
    ListOfStrings.Add(myString); // Adding a string to the list

    if (!IsRunning)
    {
        IsRunning = true;
        MainLoopTask = Task.Factory.StartNew(MainLoop);
    }
}

public void MainLoop()
{
    while (true)
    {
        foreach(string s in ListOfStrings) // Operating on the list in a separate thread
        {
            ...
            ...
            ...
        }
}
Run Code Online (Sandbox Code Playgroud)

}

这个坏代码还是可以的?如果它不好,我该怎么办才能解决它?

c# multithreading task-parallel-library

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

零值函数的正确参数类型是什么?

num =输入('输入大小')

我想用num创建一个维度为numx2的二维矩阵矩阵.所以我使用零(num,2);

但是我得到了这个错误

Undefined function or method 'zeroes' for input
arguments of type 'double'.
Run Code Online (Sandbox Code Playgroud)

我试图强制转换为UINT8和INT8和它没有工作,所以我抬头matlab的文档,但它没有给出参数类型的功能.所以任何人都知道如何使用我从用户获得的num值创建这个2d矩阵?

matlab

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