小编Béa*_*tat的帖子

滚动JComboBox弹出窗口会隐藏它

我的客户抱怨JComboBox弹出窗口经常在JComboBox弹出窗口上使用滚动而没有垂直滚动条时关闭.(他似乎意外地使用滚动它,因为他正在使用Apple Magic Mouse.)

有什么方法可以防止这种情况发生?

我知道它与ComboBoxUI有关,但我想要一些指针从哪里开始.BasicComboPopup.handler是私有的(不可重用),我没有看到任何与BasicComboPopup中的任何MouseWhellListener相关的代码.

java swing mousewheel jcombobox

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

"var&= expr"的行为不像"var = var && expr"

我只是好奇.我想知道表达式是否有特定原因

var &= expr
Run Code Online (Sandbox Code Playgroud)

表现不一样

var = var && expr.
Run Code Online (Sandbox Code Playgroud)

看起来第一个中的表达式正在执行,而不管var上的错误值.

我正在使用Java 6,FYI.这段代码:

public class Test
{
    protected static String getString()
    {
        return null;
    }

    public static void main(String... args)
    {
        String string = getString();
        boolean test = (string != null);
        test = test && (string.length() > 0);
        System.out.println("First test passed");
        test &= (string.length() > 0);
        System.out.println("Second test passed");
    }
}
Run Code Online (Sandbox Code Playgroud)

给我:

First test passed
Exception in thread "main" java.lang.NullPointerException
    at Test.main(Test.java:14)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at …
Run Code Online (Sandbox Code Playgroud)

java compilation

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

弱引用中的强引用

在Java中,可从弱可达对象访问的强引用是否被视为强引用?

示例:

  • 我可以通过弱引用来访问X.
  • 我可以通过弱引用来访问Y.
  • 我可以通过Y的指针访问X.
  • 我可以通过X的指针访问Y.

如果X和Y上没有其他指针,我会期望它们被垃圾收集.我错了吗?

java memory weak-references

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

Swift 的 var list.enumerated()

我有一个对象数组,其类型是具有变异函数的结构。所以我得到了这个代码:

for (index, object) in objects.enumerated() {
     otherArray[index] = object.someMutatingFunction(...)
}
Run Code Online (Sandbox Code Playgroud)

这导致我出现此错误Cannot use mutating member on immutable value of type 'Blabla',我可以通过添加 var 来修复该错误:

for var (index, object) in objects.enumerated() {
     otherArray[index] = object.someMutatingFunction(...)
}
Run Code Online (Sandbox Code Playgroud)

但后来我收到另一个警告Variable 'index' was never mutated; consider changing to 'let' constant,我不知道如何优雅地修复。唯一的想法是添加一个新的 var 变量。我还能做些什么来防止出现此警告吗?

for-loop var let swift

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

带有样式块的JTextField

我需要某种JTextField,它用一个样式块替换回车字符,该块用另一种字体,样式或颜色显示文本<New Line>.

例如,文字..

Dear Mr. Smith,\nblablabla...\nRegards...
Run Code Online (Sandbox Code Playgroud)

..将以一行JTextField显示给用户,这样:

亲爱的史密斯先生,<新线> blablabla ... <新线> 问候......

这些<New Line>应该是可选择的块,就像它是单个字符一样,并且可以使用单个退格键删除.按返回键将在插入位置添加<新线>.

我认为通过覆盖是可能的PlainDocument,但是我很难理解Document和EditorKit API.我需要一些关于这个的指示......

我没有任何异议使用JTextPaneJEditorPane只要它表现得像JTextField(一行,没有滚动条).

有什么建议?

java swing jtextfield styleddocument

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