小编mre*_*mre的帖子

返回不可修改的地图

使用Collections.unmodifiableMap(...),我试图返回一个不可修改的地图视图.假设我有以下方法,

public final Map<Foo, Bar> getMap(){
    ...
    return Collections.unmodifiableMap(map);
}
Run Code Online (Sandbox Code Playgroud)

为什么在其他地方合法执行以下操作,

Map<Foo, Bar> map = getMap();
map.put(...);
Run Code Online (Sandbox Code Playgroud)

这并不UnsupportedOperationException像我想的那样.有人可以解释一下,或者建议我如何成功地返回真正无法修改的地图?

java collections unmodifiable map

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

单例和静态实用程序类

哪些因素影响适当的设计模式?

澄清:

我问这个问题的原因是因为我正在设计一个需要多个静态工厂类和单例管理器类的应用程序.有时候,我对我应该雇用哪种设计感到困惑,我想问这个社区为什么以及何时可能有助于为我澄清一些事情.

java design-patterns

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

如何在JAVA中运行JFrame最大化?

我是JAVA的新手.

我需要运行以MainFrame最大化模式命名的JFrame .

我该怎么做?

public class MainFrame extends javax.swing.JFrame {

/**
 * Creates new form MainFrame
 */
public MainFrame() {
    initComponents();
}
Run Code Online (Sandbox Code Playgroud)

java swing jframe

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

JMenu ActionListener

我想知道你是否可以测试是否点击了JMenu(而不是JMenuItem).我尝试添加一个ActionListener但它似乎没有认出它.我只需要在按下JMenu按钮时执行操作,以便我可以更改该菜单的JMenuItem,因为它打开了.欢迎所有工作以获得这个结果!

谢谢

java swing actionlistener jmenu

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

Java 7 switch语句,字符串不起作用

根据The Java Tutorials,在Java SE 7及更高版本中,您可以在switch语句的表达式中使用String对象.

String s = ...
switch(s){
    //do stuff
}
Run Code Online (Sandbox Code Playgroud)

但这是真的吗?我已经安装了JRE并将其添加到我的Eclipse项目的构建路径中,但是我收到以下编译时错误:

无法打开String类型的值.只允许使用可转换的int值或枚举常量

此外,我认为我已经正确配置,因为我能够使用它的java.nio.file.Files类,以及JLayer.

有任何想法吗?

java eclipse string switch-statement java-7

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

你能解释一下Java中的"isXxx"方法名吗?

是否在其中一个规范中引用了以"is"开头的方法,而方法名称的后缀是属性的名称(类似于Java bean的getter/setter方法)?

例如:

public boolean isConditionTrue() {
   ...
   ...
}

private boolean conditionTrue;
Run Code Online (Sandbox Code Playgroud)

谢谢!

java annotations spring-mvc

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

长度和长度()有什么区别?

我注意到在做一个数组的长度时,你写的东西如:

arrayone.length;
Run Code Online (Sandbox Code Playgroud)

但是,对于诸如数组列表或字符串之类的东西,您可以在末尾写一个括号,例如以下字符串的长度:

stringone.length();
Run Code Online (Sandbox Code Playgroud)

这个的关键原因是什么?你怎么知道何时放括号或现在?

java arrays string

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

Java Tutorials半透明窗口示例给使用jdk7的人带来了麻烦吗?

这是一个例子.

如果你构建并运行TranslucentWindow支持jdk7的NetBeans IDE 7.0,你将得到以下异常:

Exception in thread "AWT-EventQueue-0" java.awt.IllegalComponentStateException: The frame is decorated
    at java.awt.Frame.setOpacity(Frame.java:960)
    at main.TranslucentWindow.<init>(TranslucentWindow.java:23)
    at main.TranslucentWindow$1.run(TranslucentWindow.java:47)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:705)
    at java.awt.EventQueue.access$000(EventQueue.java:101)
    at java.awt.EventQueue$3.run(EventQueue.java:666)
    at java.awt.EventQueue$3.run(EventQueue.java:664)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:675)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
BUILD SUCCESSFUL (total time: 1 second)
Run Code Online (Sandbox Code Playgroud)

根据这个堆栈跟踪,违规行是tw.setOpacity(0.55f).但是,正如错误所示,如果你setUndecorated(true)在框架上调用,那么它不会抛出异常并创建一个半透明的窗口,虽然没有任何装饰(这很痛苦).这是正常的吗?这段代码不应该"开箱即用"吗?我忽略了什么吗?

编辑

为什么他们的半透明窗口看起来是装饰的,还是这个自定义渲染?

这是什么...

在此输入图像描述

应该是什么......

在此输入图像描述

java swing translucency java-7 netbeans7.0

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

使用apache-commons-net TelnetClient发送终端命令时如何禁用echo

所以,我有这个使用org.apache.commons.net.telnet.TelnetClient该类的类.它尝试发送命令并读取响应.

public class AutomatedTelnetClient
{
    private TelnetClient telnet = new TelnetClient();
    private InputStream in;
    private PrintStream out;
    private String prompt = "$";

    public AutomatedTelnetClient(String server, String user, String password)
    {
        try
        {
            EchoOptionHandler echoopt = new EchoOptionHandler(false, false, false, false);
            telnet.addOptionHandler(echoopt);

            // Connect to the specified server
            telnet.connect(server, 23);

            // Get input and output stream references
            in = telnet.getInputStream();
            out = new PrintStream(telnet.getOutputStream());

            // Log the user on
            readUntil("login: ");
            write(user);
            readUntil("Password: ");
            write(password);

            // Advance to a …
Run Code Online (Sandbox Code Playgroud)

java apache-commons

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

推荐用于显示unicode字符的字体?

对于那些开发了支持多种语言的面向客户的Java Swing应用程序的人来说,哪种字体最适合显示所有语言的字符?

java unicode fonts swing

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