我可以实例化一个超类,并根据提供的参数实例化一个特定的子类

我正在使用Google的GSON软件包http://code.google.com/p/google-gson/ 我正在将JSON转换为Java。 我有这段代码,我在那里进行转换。 Gson gson = new Gson(); Type collectionType = new TypeToken<Collection>() {}.getType(); Collection queryProperties = gson.fromJson(query, collectionType); 我的QueryProperty类有这些字段(带有getter / setter): int id; String uri; String name; Set values; String selected; QueryValue类具有以下字段(带有getter / setter): int id; String uri; String name; 我现在希望能够拥有不同types的QueryValue。 我想添加一个NumericQueryValue类(QueryValue的子类),所以我可以传入一组边界来查询db。 double lower; double upper; 并且想要创建一个新的ResourceQueryValue(QueryValue的子类),它看起来与用于以下的QueryValue相同: int id; String uri; String name; 无论如何我能做到这一点。 […]

Hibernateexception帮助:TransientObjectException

我尝试更新对象时收到以下exception: org.hibernate.TransientObjectException:object引用未保存的瞬态实例 – 在刷新之前保存瞬态实例:…… 谁能帮忙??? 我尝试更新的对象在映射文件中将“lazy”属性设置为false。 好像hibernate希望我在刷新更新之前保存子对象??? 编辑(已添加):

.drawLine()问题和缓冲图像

我有一个绘画程序,我已完成所有按钮和滑块,但我对实际绘画本身有问题。 当我将光标拖过屏幕而不是一条连续线时,我几乎得到了一条我不想要的虚线。 这是JPanel和BufferedImage MouseListener的代码: public void mouseDragged(MouseEvent e) { Graphics g=buffered.getGraphics(); g.setColor(mycol); Graphics2D graph=(Graphics2D)g; BasicStroke stroke=new BasicStroke(30); graph.setStroke(stroke); // g.fillRect(xcor, ycor, 20, 20); / /varx=e.getX(); ycor=e.getY(); xcor=e.getX(); int bad=xcor; int good=ycor; graph.drawLine(xcor, ycor, bad, good); // buffered.setRGB(xcor, ycor, mycol.getRGB()); repaint(); // g.drawLine(xcor, ycor, x, x) repaint(); }

是否可以将包含自定义JavaFX控件的JAR导入Scene Builder?

当我注意到我几乎完全有同样的事情三次时,我正在一个舞台上工作。 而不是那个(因为我讨厌那个),我决定把我拥有的那些3次并把它变成一个自定义组件。 现在我知道我可以在代码中添加它但我无法预测布局行为(其中两个将直接进入选项卡,第三个将进入网格窗格)。 我尝试将包含控件的.jar导入Scene Builder。 弹出一个对话框,询问我想要导入的JAR中的内容,但它完全是空的。 我之前看到有些人添加了“自定义控件”(我松散使用的术语),但发现基本上它只是将一堆组件转储到一起形成控件。 这可能适用于某些人,但我不是在寻找。 澄清 我想要的是什么(我是否要查看FXML代码): 我不想要的: //bla bla column constraint stuff //etc, etc 这可能吗? 我再次离开C#和VS2010而且在自定义控件方面我有点被宠坏了所以如果有可能做出类似的事情,有人可以告诉我怎么样? 是否可以将包含自定义JavaFX控件的已编译JAR文件导入到Scene Builder中,以便将其从库中删除将导致我在那里描述的内容? 编辑1好的,这就是我在FXML文件中的内容。 根据mlody991,我需要3个文件来完成这项工作:FXML文件(使用SceneBuilder构建): Java类文件(代表代码中的实际对象): package DGCSDefiner; import java.io.IOException; import static java.util.Arrays.asList; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.scene.control.ColorPicker; import javafx.scene.control.ComboBox; import javafx.scene.control.Slider; import javafx.scene.control.TabPane; import javafx.scene.layout.GridPane; import javafx.scene.layout.Pane; import javafx.scene.layout.StackPane; public class DGCSDefiner extends Pane […]

鼠标运动监听器只在一个方向

我一直在研究Java中的鼠标运动监听器无法将其完全排序,因为我希望对象朝着鼠标所指向的屏幕方向移动但不幸的是当鼠标位于applet窗口内时,该对象只向单一方向移动。 这是我的代码如下.. import java.awt.*; import java.awt.geom.*; import java.util.*; import java.applet.*; import java.awt.event.*; import javax.swing.*; public class MouseOver extends Applet implements KeyListener, MouseListener, MouseMotionListener { private int[] Xpoints = { 0, -5, 5 }; private int[] Ypoints = { -10, -2, -2 }; private double xpos, ypos; private Polygon poly; int polyrot = 0; private int […]

在java中打印2页的jframe

我想打印一个包含大量文本字段和包含数据的按钮的jframe。 我想通过单击打印jbutton打印此jframe。 我试过这段代码。 protected void print() { PrinterJob job = PrinterJob.getPrinterJob(); if(job.printDialog()){ try { job.setPrintable(new Printable() { @Override public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException { if(pageIndex == 0){ Graphics2D g2d = (Graphics2D)graphics; g2d.translate(pageFormat.getImageableX(), pageFormat.getImageableY()); Dimension dim = ODietListJFrame.this.getSize(); double cHeight = dim.getHeight(); double cWidth = dim.getWidth(); // get the bounds of […]

使用BrowserMob-Proxy REST api设置自定义标头

我有一个在端口9091上运行的browsermob代理。我正在尝试使用browsermob-proxy REST API来设置自定义标头。 当我通过代理使用Selenium向我的应用程序发出请求时,我看不到我的应用程序控制台中打印的标题。 以下是我的代码。 请求正文基于此处的文档。 我的要求是使用BrowserMob代理API而不是它的Java库用于这个特定的用例。 我在下面的代码中做错了什么? Proxy proxy = new java.net.Proxy(java.net.Proxy.Type.HTTP, new InetSocketAddress(“localhost”, 9091)); String bpmUrl = “http://localhost:8787/proxy/9091/interceptor/request”; Client client = Client.create(); String requestBody = “request.getMethod().addHeader(\”custom-header\”, \”Bananabot/1.0\”);”; WebResource resource = client.resource(bpmUrl); resource.type(MediaType.TEXT_PLAIN_TYPE).post(requestBody); String url = “http://localhost:8004”; DesiredCapabilities capabilities = DesiredCapabilities.firefox(); capabilities.setCapability(CapabilityType.PROXY, proxy); WebDriver driver = new FirefoxDriver(capabilities); driver.get(url); driver.quit(); 编辑1 我试过@ Erki的解决方案,我觉得应该可行,但事实并非如此。 这里有什么遗漏? […]

注释变量可以在运行时确定吗?

我想知道我是否可以在运行时设置注释变量?

JAXB Ant任务错误:xjc2 null未知位置

使用Ant的xjc2任务绑定一些有效的XML文档时,我收到以下失败消息: [xjc2] [ERROR] null [xjc2] unknown location 这些文档与已成功绑定的其他文件非常相似,所有导入的模式都存在。 生成以详细模式运行xjc: Parent is not Defined Class…I cannot get the fields from this class 任何人都知道这意味着什么?

如何在Spring中读取具有相同键的多个属性?

我在这里遇到一个简单的问题。 我有两个属性文件我想读取来创建两个数据源。 然而,那些属性文件具有完全相同的键! 我可以使用以下方法读取这两个文件: 但后来我无法访问正确的值: … 如何读取我的属性,以便我可以使用${foo1.driver}变量并知道调用哪一个? 谢谢你的帮助!