草庐IT

java - 失去焦点时如何在 JTextField 中保留选定的文本?

现在完成我的自定义菜单弹出,但问题是如果我在JTextField中选择一些文本并单击鼠标按钮以显示弹出菜单,然后焦点转移到弹出窗口,并且之前选择的文本不再突出显示。当焦点回到JTextField时-所选文本再次突出显示。如何使所选文本在失去焦点时保持突出显示? 最佳答案 thenfocusistransferredtopopupwindow,ANDselectedtextbeforearenolongerhighlighted.WhenfocusisbacktoJTextField-selectedtextbecomehighlig

java - 我们能否以类似于静态单例的方式轻松地延迟加载 Java 成员?

在Java中对静态单例进行惰性初始化时,您可以这样做:publicclassBob{privatestaticclassSingletonWrapper{privatestaticfinalBobinstance=newBob();}publicstaticBobgetInstance(){returnSingletonWrapper.instance;}}因为内部类SingletonWrapper仅在第一次访问时加载Bob()直到getInstance()被调用。我的问题是是否有任何类似的技巧可用于在非静态上下文中对成员变量进行惰性实例化。publicclassBob{//Clear

java - 使 XStream 忽略一个特定的私有(private)变量

我目前正在为其编写保存函数的类有一个小问题。我正在使用XStream(com.thoughtworks.xstream)使用DOMDriver将类序列化为XML。这个类看起来像这样:publicclassWorld{privateConfigurationconfig;publicWorld(Configurationconfig){this.config=config;}}所以,这里的问题是我不想在序列化世界时序列化Configuration,而是我想在调用fromXml()时为XStream提供一个预构建的Configuration实例。这里的问题主要是类设计,Configurat

用于测试私有(private)方法的 Java 工具?

对于测试私有(private)方法的意义,众说纷纭,如here和here.我个人认为是有道理的,问题是如何正确地去做。在C++中,您可以使用#definehack或者使测试类成为friend,在C#中有InternalsVisibleToAttribute,但在Java中我们要么必须使用reflection或使它们“对测试可见”和annotatethemassuch为了明确意图。两者的缺点应该很明显。我认为应该有更好的东西。开始于publicclassSomething{privateintinternalSecret(){return43;}}如果能够像这样在测试代码中调用私有(pr

java - java中如何限制变量不能在类外访问?

我正在使用java。我知道通过使用private访问修饰符我们可以限制。但是使用ReflectionAPI我仍然可以访问类外的变量。那么这里的private修饰符有什么用呢? 最佳答案 private阻止您使用Java从其他类访问它。但是使用JNI或库你可以做不同的事情。您可以通过安全管理器防止反射,但这很少需要。注意:某些库(如Serialization)需要能够访问私有(private)字段才能工作。 关于java-java中如何限制变量不能在类外访问?,我们在StackOverfl

java - @ManyToMany 三个表之间的关系

我的SpringJPA应用程序中有三个独立的实体-用户、部门、角色我的数据库中有一个连接表来关联这些实体中的每一个:USER_DEPARTMENT_ROLE我的问题是,如何在我的实体类中定义这种关系?我是否必须在每个单独的实体中定义一个@ManyToMany关系?我知道如何定义两个表之间的这种关系,但对于两个以上的表,我不确定从哪里开始。感谢任何帮助! 最佳答案 如果您在连接表中映射了两个以上的关系,那么我建议创建一个单独的实体,用于映射该特定表。问题是您是否可以有一个不同的id列作为人工主键,或者您必须坚持使用三个外键构建的复合主

java - 如何在Java中实现对映射到内存的文件的并发读取?

我有很多线程并发读取同一个文件(总共100M左右),只有一个线程更新文件。我想将文件映射到内存中以减少文件I/O。这在Java中如何实现?我基本上考虑过以下2种方法:用字节数组存储文件,多线程读取时每次创建ByteArrayInputStream读取缓冲区。用NIO获取一个文件channel,同步channel从MappedByteBuffer中读取,实现多线程读取。我不确定这些方法是否有效。如果有更好的解决方案,请帮忙提示。 最佳答案 使用NIO,每个线程创建自己的映射并读取自己的私有(private)缓冲区中的数据。保持私有(p

java - Netbeans 警告 : Exporting non-public type through public API

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭9年前。Improvethisquestion我正在创建一个Slick2D游戏。现在,我正在创建一个Video类,其中包含内部类(FrameSize、FPS、FullScreen..)。所以我有一个OOD想法以一种方式进行包装,就像我们调用System.out.println()一样。这意味着我将拥有他的内部类的公共(public)视频类和公共(public)静态实例,但是netbeansIDE向我提示“通过公共(public)API导出非公共(pu

java - Mockito/Powermockito 模拟私有(private)无效方法

我需要使用mockito和powermock模拟一个不带参数的私有(private)void方法。该方法属于一个spy实例。我知道我需要这样做的事实表明代码不好,但我正在处理一个旧项目,将单元测试从一个测试框架转换为另一个测试框架。如果有人有任何建议,我们将不胜感激。谢谢!到目前为止我已经试过了:PowerMockito.doNothing().when(Whitebox.invokeMethod(spy,"method",null));但是我得到这个错误:Nomethodfoundwithname'method'withparametertypes:[]

java - 为什么 java.util.Objects 私有(private)构造函数抛出 assertionError

我观察到java.util.Objects有一个构造函数会抛出AssertionError。*@since1.7*/publicfinalclassObjects{privateObjects(){thrownewAssertionError("Nojava.util.Objectsinstancesforyou!");}...这是一个静态实用程序类,因此不需要实例。据我所知,一个可能的原因是,开发人员试图确保不创建此类的实例。因为任何人都可以调用此构造函数的唯一方法是通过反射。还有其他原因需要这种构造函数吗? 最佳答案 唯一的目的