小编nic*_*cks的帖子

为什么我的ChangeListener只对JMenu做出反应,而不是对JMenuItem做出反应?

现在,我有一个JMenu,还有一些JMenuItems.当JMenu和JMenuItem的状态更改为"selected"时,我希望我的程序执行一些操作.我不使用MouseLitener的MouseOver,因为我希望用户也可以使用键盘在菜单中导航.现在,我写了这个监听器:

class MenuItemListener implements ChangeListener {
    @Override
    public void stateChanged(ChangeEvent arg0) {
        JMenuItem item = (JMenuItem) arg0.getSource();
        if(item.isSelected())
            System.out.println(item.getText()+" pressed!");
    }
}
Run Code Online (Sandbox Code Playgroud)

当我将这个监听器添加到JMenu时,它可以正常工作,但是当我将它添加到JMenuItem时,没有任何反应......当我删除if语句以便监听器对两者做出反应时,当菜单被选中并且被选中时我对JMenu以及对于JMenuItem.所以,正如我所见,JMenuItem无法"通过"isSelected()测试......但是什么可能是个问题呢?:S

java swing jmenuitem jmenu changelistener

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

JScrollPane不起作用

这是一个简单编辑器的代码.

public class editor {
    public static void main(String[] args) {
        JFrame f = new JFrame();
        final JTextArea area = new JTextArea(20,120);
        JScrollPane scrollingResult = new JScrollPane(area,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
        f.getContentPane().add(scrollingResult);
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

这不起作用.JTextArea很好,所以是Frame,但JScrollPane仍然是残疾人.为什么会这样?

java swing jscrollpane jtextarea

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

如何扩展 ListView 以自动调整大小?

在发现没有明确的方法来调整 ListView 的大小以适应内容后,我决定扩展 ListView 以在每次添加孩子时调整自己的大小。我试过这段代码,但没有用。可能是什么问题呢?我该如何解决?

public class SmartListView : ListView
{
    public SmartListView() : base()
    {
        ChildAdded += Resize;
    }

    private void Resize(object sender, ElementEventArgs e)
    {
        HeightRequest = Height + ((ViewCell)sender).Height;
    }
}
Run Code Online (Sandbox Code Playgroud)

然而,回调Resize从未被击中。

listview xamarin xamarin.forms

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

如何为 UILabel 的多行添加缩进?

虽然我找到了如何向第一行 (FirstLineHeadIndent) 和其余行 (HeadIndent) 添加缩进,但我找不到如何仅向前两/三行添加缩进以实现如下所示的效果: MS 画图万岁!

PS:这不是重复的,因为我没有像一位用户建议的那样询问如何仅缩进第一行

uikit uilabel xamarin.ios ios

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

我想在鼠标悬停在JMenuItem上时执行一些操作.我应该使用什么样的听众?

我想在鼠标悬停在JMenuItem上时执行一些操作.我应该使用什么样的听众?

java swing listeners

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

嵌入AS3的字体.怎么样?

我使用Flash Professional CS5嵌入字体,但我仍然无法在我的AS代码中使用它.我应该如何嵌入字体以便能够在AS3以及Flash Professional CS5中使用它?

embed flash actionscript-3

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

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

为什么urlencode和urldecode不起作用?

这是我正在使用的代码:

$from=urldecode($_GET['from']);
$str =urldecode("%2B");
echo "$str<br>";
echo "$from<br>";
Run Code Online (Sandbox Code Playgroud)

这是URL的一部分: from=%2B995594262653

为什么会这样

+
 995594262653
Run Code Online (Sandbox Code Playgroud)

?(注意,号码前面有一个空格).我$str用来检查功能是否有效.显然,它适用于简单%2B.可能是什么问题?

php url get

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

如何在ListView的TextCell中包装文字?

如何在ListView的TextCell中包装文字?我尝试设置HasUnevenRows为,True但这无济于事。

listview xamarin xamarin.forms

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

如何在两个不同的线程上等待一个任务?

我可以等待在不同线程上创建的任务吗?例如:

...
CurrentIteration = Execute(); // returns Task
await CurrentIteration;
...
Run Code Online (Sandbox Code Playgroud)

然后,在另一个线程上:

...
await CurrentIteration;
...
Run Code Online (Sandbox Code Playgroud)
  1. 第二个线程会等待Execute方法完成执行吗?
  2. 如果它会,我将能够在第二个线程中为同一目的重新使用CurrentIteration,因为我重新运行

CurrentIteration = Execute(); // returns Task await CurrentIteration;

在第一个线程?

我试过这段代码:

public class Program
{
    public static void Main(string[] args)
    {
        MainAsync(args).GetAwaiter().GetResult();
    }
    public static async Task MainAsync(string[] args)
    {

        var instance = new SomeClass();
        var task = instance.Execute();
        Console.WriteLine("thread 1 waiting...");
        Task.Run(async () =>
        {
            Console.WriteLine("thread 2 started... waiting...");
            await task;
            Console.WriteLine("thread 2 ended!!!!!");
        });

        await task;

        Console.WriteLine("thread 1 done!!");

        Console.ReadKey();
    } …
Run Code Online (Sandbox Code Playgroud)

.net c# multithreading async-await c#-7.0

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