在本文中, Jeroen解释了使用XML文件将Java Bean getter和setter重新映射到.NET Properties的示例.
将XML文件是什么样的,如果我想,说,所谓的重映射Java方法showDialog()以ShowDialog()在.NET?之前有没有人使用重映射选项?除了检查remapper.cs源代码之外,还有什么想法获取有关它如何工作的信息?
编辑#1 - 发现了一些肯定有帮助的东西:OpenJDK文件夹中的map.xml文件似乎具有相同的格式.
编辑#2哦.16小时内7次观看.:-)我已经正式达到SO知识的边缘......;)
对于长时间运行的进程,我想要一个很好的进度条.JProgressBar有没有替代品,特别是对于不确定的流程?
我在考虑看起来像Web-2.0的旋转轮,旋转轮,你有什么.
虚构的奖励积分,免费,LGPL许可的东西.;)
到目前为止我所能找到的是这个(开放的)Sun bug/RFE条目,获得426 506票:
http://bugs.sun.com/view_bug.do?bug_id=6530906
它在RFE列表中位居第三.
很多人都表示它将被包含在Java 7中......但是有没有人有关于是否包含MiGLayout的任何明确信息?
回答
嗯,似乎Chad有一个观点 - 它不在任何地方的官方列表上,时间肯定会消失,所以除非发生重大事件,否则可以说MiGLayout显然不会包含在Java 7中,尽管有426票来自社区.太糟糕了.
Enumeration <?之间有区别吗?扩展ZipEntry>和Enumeration <ZipEntry>?如果是这样,有什么区别?
我有一个名为Orders的页面和一个名为OrderDetails的页面.正如优秀的MVP教程中所述,我正在使用History(带有一个中央ValueChangeListener)和一个"事件总线"HandlerManager.
我有一个为某个人点击订单的事件注册的处理程序,它基本上创建了OrderDetailPresenter,传递了订单ID(包含在ShowOrderDetailEvent中),然后调用History.newItem("orderDetails").
这有几个主要缺点:这个新创建的历史记录步骤不知道传入了哪个订单ID.例如,如果有人为订单详细信息页面添加书签(或者在浏览器中返回然后向前),它们将变为空没有订单详情的页面.
所以我的问题是:我应该做一些类似的事情History.newItem("orderDetails?id="+id),然后在我的值变更监听器中解析历史记录吗?如果是这样,是否有最佳实践,API或库以这种方式将参数解析并格式化为字符串?
我有以下方法:
public <T> T fromJson( Reader jsonData, Class<T> clazz ) {
return fromJson( jsonData, (Type)clazz );
}
public <T> T fromJson( Reader jsonData, Type clazz ) {
...
}
Run Code Online (Sandbox Code Playgroud)
编译器说的是第一种方法:
type parameters of <T>T cannot be determined;
no unique maximal instance exists for type variable T
with upper bounds T,java.lang.Object
return fromJson( jsonData, (Type)clazz );
^
Run Code Online (Sandbox Code Playgroud)
问题是什么?
我有一个带有X-GWT-Module-Base的GWT模块,http://host:8080/foo/想要调用位于的GWT服务http://host:8080/bar/.原因是例如我希望能够在两个不同的GWT客户端项目之间共享GWT服务.
到目前为止,我所有的工作都是服务位于模块上下文中,即http://host:8080/foo/bar工作正常,@RemoteServiceRelativePath("bar")在我的服务界面中使用.
似乎@RemoteServiceRelativePath只允许相对于模块基本URL的值...所以是否有其他方法来实现我想要完成的任务?
我想从表示十六进制值(大写或小写)的字符转换为字节,如
'0'->0, '1' -> 1, 'A' -> 10, 'a' -> 10, 'f' -> 15 etc...
Run Code Online (Sandbox Code Playgroud)
我会经常调用这种方法,所以性能很重要.有没有比使用预先初始化HashMap<Character,Byte>从中获取值更快的方法?
回答
看起来这是使用switch-case和Jon Skeet的直接计算解决方案之间的一个折腾 - 尽管如此,交换机案例解决方案似乎有点微不足道.Greg的阵列方法胜出.以下是各种方法的200,000,000次运行的性能结果(以ms为单位):
Character.getNumericValue:
8360
Character.digit:
8453
HashMap<Character,Byte>:
15109
Greg's Array Method:
6656
JonSkeet's Direct Method:
7344
Switch:
7281
Run Code Online (Sandbox Code Playgroud)
多谢你们!
基准方法代码
你好,JonSkeet,你是老竞争对手.;-)
public class ScratchPad {
private static final int NUMBER_OF_RUNS = 200000000;
static byte res;
static HashMap<Character, Byte> map = new HashMap<Character, Byte>() {{
put( Character.valueOf( '0' ), Byte.valueOf( (byte )0 ));
put( Character.valueOf( '1' ), Byte.valueOf( …Run Code Online (Sandbox Code Playgroud) 使用某种字体,我使用Java的FontLayout来确定它的上升,下降和前导.(见Java的FontLayout教程这里)
在我的具体情况下,我使用的是Arial Unicode MS,字体大小为8.使用以下代码:
Font font = new Font("Arial Unicode MS", 0, 8);
TextLayout layout = new TextLayout("Pp", font,
new FontRenderContext(null, true, true));
System.out.println( "Ascent: "+layout.getAscent());
System.out.println( "Descent: "+layout.getDescent());
System.out.println( "Leading: "+layout.getLeading());
Run Code Online (Sandbox Code Playgroud)
Java给了我以下值:
Ascent: 8.550781
Descent: 2.1679688
Leading: 0.0
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.但是,如果我使用这些值的总和作为各行文本的行间距,这与OpenOffice,Microsoft Word等中使用的行间距相差很大:它更小.当使用默认单行间距Word和OO似乎有大约13.7 pt 的行间距(而不是像我使用上面的Java字体指标计算的10.7 pt).
任何的想法
到目前为止我尝试过的事情:
font.getNumGlyphs()等 - 仍然获得相同的字体度量值FontMetrics'等方法getLeading()我有一个使用Substance LookAndFeel和Windows作为目标平台的Java应用程序,我想在不更改系统设置的情况下增加应用程序的DPI 设置.
我想这样做是因为我不想强迫用户重新启动Windows,因为很多Windows应用程序似乎都有很高的DPI设置问题(> 120)
PS:我知道Substance LaF允许在运行时缩放字体大小,但这样只调整控件的高度,而不是宽度.我希望我的GUI完全缩放,如果我设置系统的DPI设置会发生.