我正在构建一个Java Swing gui,我想知道管理我所有图像的最佳方法是什么.到目前为止,我只是在需要时通过指出每个类的路径来创建来自不同类的图像,例如:
ImageIcon temp= new ImageIcon("resources/pictures/temp.png");
Run Code Online (Sandbox Code Playgroud)
有两件事我不喜欢.首先是拥有所有这些路径.第二个是我更喜欢更像"中央存储库"的方法.有没有人有更好的实践建议,我想也许像ImageManager一样,在程序的最开始加载所有图像.属性文件能以某种方式帮助(从未使用它们)与所有这些路径?
谢谢
我希望在我的 PC 中为 Maven 项目拥有多个(本地)settings.xml 文件,每个项目一个。处理这些settings.xml的最佳方法是什么(希望通过版本控制)?我知道每个开发人员(和 CI 服务器)都希望在这些 settings.xml 中拥有一些不同的变量。
我正在考虑每个项目的 subversion 中的一个 settings.xml ,提供一个带有一些空字段的框架,以便每个人都可以将 settings.xml 文件复制并粘贴到本地目录,Maven 会在其中拾取该文件并填写每个环境/用户唯一的空白值。请记住,我指的不是可以通过配置文件设置的内容,它更像是用户名和密码等。
这给我们留下了多个settings.xml 文件的问题。据我所知,IntelliJ 每个项目都有 Maven 配置,因此为每个项目设置单独的位置应该不会有任何问题。至于命令行,我真的需要在每次运行某些内容时(通过 -s 命令)输入 settings.xml 文件的路径吗?
有点关于 css 的菜鸟问题
我有几个 div

在一个页面中。现在,当我放大该页面时,Div 3(当前向左浮动)不再适合,因此它正好位于 Div 2 之下。如何更改整个页面的这种行为,以便在放大时出现滚动条?我尝试在 css 中为整个身体设置 overflow-x : scroll ,但它似乎没有任何效果。
我为此做了一个 JSFiddle:http : //jsfiddle.net/Lq3Hv/
html
<div class="first">div1</div>
<div class="second">div2</div>
<div class="third">div3</div>
<div class="fourth">div4</div>
Run Code Online (Sandbox Code Playgroud)
css
.first {
background-color:red;
width: 400px;
}
.second {
background-color:blue;
width: 200px;
float:left;
}
.third {
background-color:green;
width: 200px;
float:left;
}
.fourth {
clear:both;
background-color:yellow;
width: 400px;
}
Run Code Online (Sandbox Code Playgroud)
尝试放大浏览器,您会看到 div3 位于 div2 之下。(无论如何都是铬)。我通常想使用在 IE8+ 和 chrome 中都适用的解决方案。
谢谢。
我正在用Java构建一个图形用户界面,我想知道是否有人可以给我一些指示.具体来说,当点击这个GUI中的一个按钮时,一个大的JDialog(它是一个扩展JDialog的类)打开,供用户输入一些信息,查看一些信息,点击一些东西等.
该类包含多个JLabel和其他组件.我的问题是如何创建这样的实例?现在我在构造函数中拥有所有内容,使其成为500(!)行构造函数.必须有一个替代品!构造函数大约有300行代码放置和设置代码,另外200行代表听众提供或接受.
另外一个问题是,现在我通过调用从另一个类打开这个窗口
MyClassExtendsJDIalog temp = new MyClassExtendsJDIalog();
但是我在创建它的类中根本不使用这个"temp"变量,因为"temp"的构造函数可以做到一切.看起来我再次以错误的方式做事.
感谢您阅读本文.
我有一个从哈希图中获取内容的方法,一个简化的示例(虽然没有多大意义,但目前已经足够好了)是:
private Map<String,String> map = new HashMap<String,String>();
public String get(String key) {
return map.get(key);
}
Run Code Online (Sandbox Code Playgroud)
当给定键的条目明显不存在时,此方法可以返回null。事实是,我想对此方法进行注释@NonNull(因为它用在了数不胜数的地方,而且我不喜欢Intellij向我发送有关生产NPE的检查警告,因此我不想关闭该检查,我也不想在每次调用此方法时都检查返回的值是否不同于null,这是因为我总是将此方法与始终在映射中的一堆键一起使用,因此由于程序逻辑,该方法是一定要返回一个@NonNull值。
我很想只用来注释它@NonNull,但谁知道有人可能用某处定义的键以外的名称来调用它,并实际上导致了NullPointerException。你会怎么做?一个断言听起来很诱人。还是您只是更改方法以引发RuntimException?还是AssertionError?
谢谢。
编辑:
这是实际的实现:
/**
* Typesafe heterogeneous container pattern - implementation
*/
public class HandlersMap {
private final Map<Class<? extends TableHandler>, TableHandler> handlers;
public HandlersMap() {
handlers = new HashMap<Class<? extends TableHandler>, TableHandler>();
putHandler(RolesTableHandler.class, new RolesTableHandler());
putHandler(UsersTableHandler.class, new UsersTableHandler());
putHandler(DevicesTableHandler.class, new DevicesTableHandler());
}
private <T extends TableHandler> void putHandler(@NonNull final Class<T> type, @NonNull final T instance) { …Run Code Online (Sandbox Code Playgroud)