如何在Java中居中显示Graphics.drawString()?

我正在为我的Java游戏开发菜单系统,我想知道如何将Graphics.drawString()的文本居中,这样如果我想绘制一个中心点位于X: 50和Y: 50的文本Y: 50 ,文本宽30像素,高10像素,文本将从X: 35和Y: 45 。 我可以在绘制之前确定文本的宽度吗? 然后这将很容易数学。 编辑:我也想知道我是否可以获得文本的高度,以便我也可以垂直居中。 任何帮助表示赞赏!

如何在嵌套HashMap中放入/获取值

我想创建一个嵌套的HashMap,它将采用float类型的两个键,并给出Integer类型的值。 public static HashMap<Float, HashMap> hashX = new HashMap<Float,HashMap>(); 有没有像普通HashMap那样放置/获取值的简单方法 hashX.put(key, value); hashX.get(key); 或者它是一种必须使用的更复杂的方法? 我已经在网上搜索了一个解决方案,但我发现很难找到适用于我的解决方案。 任何帮助,将不胜感激!

Java 8和广义目标类型推断

我安装了最后一个JDK 8 ea b114来测试新的语言function。 然而,链式调用中的推断似乎还不起作用。 如果我写: Iterator it = new ArrayList().iterator(); 编译器给我一个错误。 然而,论证位置的推断效果很好。 也许不会插入链式调用中的推断?

使用HttpClient 4.1.1避免循环重定向

如何使用HttpClient 4.1.1避免循环重定向。 因为我得到这样的错误: – executing requestGET http://home.somehost.com/Mynet/pages/cHome.xhtml HTTP/1.1 org.apache.http.client.ClientProtocolException at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:822) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754) at edu.uci.ics.crawler4j.url.WebURL.setURL(WebURL.java:122) at edu.uci.ics.crawler4j.crawler.CrawlController.addSeed(CrawlController.java:207) at edu.uci.ics.crawler4j.example.advanced.Controller.main(Controller.java:31) Caused by: org.apache.http.client.CircularRedirectException: Circular redirect to ‘http://home.somehost.com/Mynet/pages/Home.xhtml’ at org.apache.http.impl.client.DefaultRedirectStrategy.getLocationURI(DefaultRedirectStrategy.java:168) at org.apache.http.impl.client.DefaultRedirectStrategy.getRedirect(DefaultRedirectStrategy.java:193) at org.apache.http.impl.client.DefaultRequestDirector.handleResponse(DefaultRequestDirector.java:1021) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:482) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820) 这是我的代码…… DefaultHttpClient client = null; try { // Set url //URI uri = new URI(url.toString()); client = new DefaultHttpClient(); […]

我应该在环境变量PATH中添加JAVA_HOME和JRE_HOME吗?

我在设置Tomcat和Java环境路径时遇到了这个错误: JAVA_HOME和JRE_HOME环境变量都没有定义。 运行该程序需要至少一个环境变量。 在用户变量中:我创建了JAVA_HOME变量并将C:\ Program Files \ Java \ jdk1.8.0_25添加到其路径中。 然后编辑了系统变量PATH ,添加了C:\ Program Files \ Java \ jdk1.8.0_25; 到它的路径的开头。 我还在用户变量中创建了JRE_HOME ,并在其路径中添加了C:\ Program Files \ Java \ jre1.8.0_25 。 是否有必要创建JRE_HOME并且还应该将JRE路径添加到系统变量中吗?

以编程方式创建Spring Framework任务?

我需要在我的应用程序中即时创建任务。 我怎样才能做到这一点? 我可以使用@autowired注释获取调度程序,但调度程序使用Runnable对象。 我需要提供Spring对象,以便我的任务也可以使用@autowired注释。 @Autowired private TaskScheduler taskScheduler;

无法在MessageSource中找到消息

我试图让一个简单的spring应用程序运行,但得到以下exception: javax.servlet.ServletException:javax.servlet.jsp.JspTagException:在代码’label.firstname’下找不到区域设置’en_US’的消息。 我的contact.jsp文件: Spring 3 MVC Series – Contact Manager | viralpatel.net Contact Manager <input type="submit" value="”/> Contacts Name Email Telephone   ${contact.lastname}, ${contact.firstname} ${contact.email} ${contact.telephone} delete 我的spring-servlet.xml文件 <!– classpath:hibernate.cfg.xml org.hibernate.cfg.AnnotationConfiguration ${jdbc.dialect} true 我正在打url: 本地主机:8080 / MavenWeb-0.0.1 /索引 和我的服务器堆栈跟踪: SEVERE: No message found under code ‘label.firstname’ for locale ‘en_US’. javax.servlet.jsp.JspTagException: No message found under code […]

如何在GWT应用程序中使用OAuth?

如何在Java GWT应用程序中使用OAuth? 特别是,我希望使用此API获取Google Aps域中的用户列表: http://code.google.com/googleapps/domain/profiles/developers_guide_protocol.html 我知道这听起来像一个问题,可能以前曾多次被问过,但我找不到任何关于如何实现上述API中描述的OAuth步骤的Java代码。 如果有人可以分享一些代码,或者指向正确的文档,我会很高兴。

Java添加到未知类型的通用列表

我之前遇到过一些我在Java中没有遇到过的东西,也就是说,我需要在运行时创建一个新的ArrayList类实例而不分配已知类型然后将数据添加到列表中。 这听起来有点模糊,所以这是一个例子: Class c = i.getClass(); Constructor con = ArrayList.class.getConstructor(); ArrayList al = (ArrayList)con.newInstance(); al.add(“something”); 现在我这样做而不仅仅使用generics的原因是因为generics已经被大量使用而且这个例子中的“i”变量将被用作类型“?”。 我真的不想抛弃另一个generics,因为这会给用户带来更多的工作,并且在最终设计中会更不灵活。 有没有办法使用下面的东西(注意:下面的内容不起作用)。 有人有想法吗? ArrayList al = (ArrayList)con.newInstance();

Hibernate自动创建数据库

我有一个Java EE Hibernate项目,我使用MySQL作为数据库。 我希望当我第一次运行项目时,它会自动创建数据库。 这是我的hibernate.cnf.xml : com.mysql.jdbc.Driver jdbc:mysql://localhost/InternetProject root 10 org.hibernate.dialect.MySQLDialect update true 当我第一次在另一台计算机上运行该项目时,如何创建数据库InternetProject ? 根据配置文件,它可能已经做到了,我不知道它。 提前致谢。