在运行时将新方法和属性注入类中

有没有什么办法可以在运行时将新的方法和属性注入到类中。 http://nurkiewicz.blogspot.com/2009/09/injecting-methods-at-runtime-to-java.html声明我们可以通过使用Groovy来做到这一点。 只使用Java就可以了吗?

如何使用Swing制作动画?

我正在制作一个JApplet并且遇到动画问题。 这是我的代码: this.sprite.setBounds(0,0,20,17); this.sprite.setIcon(this.rangerDown); for(int i = 0; i< 16;i++) { this.sprite.repaint(); this.sprite.setLocation(this.sprite.getX(), this.sprite.getY()+10); try{ Thread.currentThread().sleep(100); }catch(InterruptedException e){ } } 有了这个,没有动画:在循环过程中没有任何反应,repaint()方法似乎只在精灵停止移动时才会动作。 我想只使用Swing,任何关于如何进行的想法? 谢谢阅读。

如何在找不到请求的页面或方法时定义全局页面?

我知道如何通过在struts.xml中的父包中添加以下配置时遇到exception时,如何在我们定义的包中完善全局错误重定向页面: /error.jsp 但它似乎无法捕获那些exception,如请求的资源,方法,页面都找不到,我的意思是如何捕获struts2级错误,然后我可以做一些事情来处理它。

伪造GWT同步RPC调用

首先,我知道做同步调用是“错误的”,并且知道“不可能”。 但是,在一个很复杂的情况下(我不知道如何解释),我需要等待服务器的响应,我使用GWT-Platform命令实现GWT RPC调用。 我正在寻找某种“黑客”来做这件事。 提前致谢。

DynamicTimeSeriesCollection中的XYTextAnnotation

我正在尝试在DynamicTimeSeriesCollection中实现XYTextAnnotation。 我不知道如何在DynamicTimeSeriesCollection中找到系列的X值。 我的代码到目前为止: DynamicTimeSeriesCollection dataset = new DynamicTimeSeriesCollection(1, 60, new Minute()); final JFreeChart result = ChartFactory.createTimeSeriesChart(TITLE, “A”, “B”, dataset, true, true, false); float[] series1Small = new float[10]; dataset.setTimeBase(new Minute(1, 1, 1, 1, 2013)); dataset.addSeries(series1Small,0,”1″); JFreeChart result = ChartFactory.createTimeSeriesChart(TITLE, “Время”, “Платежи”, dataset, true, true, false); final XYPlot plot = result.getXYPlot(); ———————————————————–Below line doesn’t work. TimeSeriesDataItem item1 […]

Jasper Reports JSON数据源获取空值

我正在使用Jasper Reports来构建一个简单的报告pdf。 我有一个看起来像这样的JSON文件: {“employees”: [ {“firstName” : “John”, “lastName” : “Doe”}, {“firstName” : “Anna”, “lastName” : “Smith”}, {“firstName” : “Peter”, “lastName” : “Jones”} ]} 而我正试图像这样阅读: File file = new File(“E:/Workspaces/jasperPDFreport/src/main/resources/emp.json”); JsonDataSource datasource = new JsonDataSource(file); JasperDesign jasperDesign = JRXmlLoader .load(“E:/Workspaces/jasperPDFreport/src/main/resources/jsonTemplate.jrxml”); JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign); Map parameters = new HashMap(); JasperPrint jasperPrint; jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, […]

Java JSlider精度问题

我有一个N JSliders的列表(N不会在程序上改变,只是在我添加更多function时。目前N等于4)。 所有滑块值的总和必须等于100.当一个滑块移动时,其余的滑块应进行调整。 每个滑块的值范围为0到100。 目前我在更改滑块时使用此逻辑(伪代码): newValue = currentSlider.getValue otherSliders = allSliders sans currentSlider othersValue = summation of otherSliders values properOthersValue = 100 – newValue ratio = properOthersValue / othersValue for slider in otherSlider slider.value = slider.getValue * ratio 此设置的问题是滑块的值存储为整数。 因此,当我调整滑块时,我会遇到精度问题:根据比率值,滑块会根据或不移动。 此外,总价值并不总是达到100。 有没有人有一个解决这个问题的方法而不创建一个支持浮点数或双打的全新JSlider类? 如果您想要我想要的行为示例,请访问: Humble Indie Bundle并滚动到页面底部。 谢谢 ps将值乘以比率允许用户将值“锁定”为0.但是,当4个滑块中的3个为0且第4个滑块为100且我移动第4个滑块时,我不确定该怎么办下。 使用上面的逻辑,3个滑块以0为值保持不变,第4个滑块移动到用户放置的位置,这使得总数小于100,这是不正确的行为。 编辑 这是SSCCE: import javax.swing.*; import javax.swing.event.ChangeEvent; […]

Eclipse – 添加module-info.java时找不到模块

我在eclipse中有一个简单的hello world项目,我希望用java 9运行。当我没有module-info.java文件时程序运行但是当我添加该文件时,我收到以下错误: Error occurred during initialization of boot layer java.lang.module.FindException: Module modulefinder not found 重现步骤 1.创建一个新的maven项目 2.将编译器和构建路径jre更改为9 3.自动生成module-info.java 4.如果eclipse抱怨,请将junit中的junit依赖关系更新为4.12 5.运行项目 这是一个与日食有关的问题,还是我在运行项目时遗漏了什么? 我使用的FYI eclipse版本是Oxygen.1a版本(4.7.1a)

String Literal在Java HotSpot vm中加载到StringTable的时间

当我学习java.lang.String Java API时,问题出来了。 我发现了一篇中文文章。 Java中新字符串(“字面量”)中“字面量”是何时进入字符串常量池的? 它说, CONSTANT_String是HotSpot VM中的延迟解析,因此String Literal被加载到StringTable util中使用它。 我发现了一些相关的说法。 jvms第5.4章。 链接说 例如,Java虚拟机实现可以选择在使用它时分别解析类或接口中的每个符号引用(“延迟”或“延迟”解析),或者在validation类时立即解析它们( “渴望”或“静态”解决方案)。 我找到了一些关于ldc openjdk代码 IRT_ENTRY(void, InterpreterRuntime::ldc(JavaThread* thread, bool wide)) // access constant pool constantPoolOop pool = method(thread)->constants(); int index = wide ? get_index_u2(thread, Bytecodes::_ldc_w) :get_index_u1(thread, Bytecodes::_ldc); constantTag tag = pool->tag_at(index); if (tag.is_unresolved_klass() || tag.is_klass()) { klassOop klass = pool->klass_at(index, CHECK); oop java_class […]

Firebase身份validation限制

我是Firebase的新手,所以任何见解都值得赞赏。 我正在编写Java服务器端测试代码。 我从数据库中抓取了几个用户,并尝试将数据迁移到Firebase中经过用户身份validation的节点中。 我的代码从数据库中选择一些用户并为每个用户旋转一个新线程。 第一个线程成功连接和validation。 随后的同步身份validation尝试失败,并显示以下错误消息。 每个线程都有自己的Firebase引用对象实例。 同时登录的数量是否有限制,可能来自同一个IP地址? 尚未在文档中找到任何内容。 如果我将代码更改为在单个线程中运行并逐个登录并注销每个用户,那么我不会收到错误。 任何见解都非常赞赏。 Message: -5 Message: Due to another authentication attempt, this authentication attempt was aborted before it could complete. Firebase ref = new Firebase(“https://.firebaseio.com/”); ref.authWithPassword(mEmail, mPassword, new Firebase.AuthResultHandler() { @Override public void onAuthenticated(AuthData authData) { System.out.println(“Successfully authenticated: ” + mEmail); user.setUID(authData.getUid()); user.setCurrentUserRef(ref); done.set(true); } @Override public […]