Tag: 动态

以编程方式使用JPA 2.0加载实体类?

使用Hibernate,您可以将Entity类加载为: sessionFactory = new AnnotationConfiguration() .addPackage(“test.animals”) .addAnnotatedClass(Flight.class) .addAnnotatedClass(Sky.class) .addAnnotatedClass(Person.class) .addAnnotatedClass(Dog.class); 有没有办法做同样的事情 – 以编程方式加载您的实体类 – 以符合JPA 2.0的方式? 这个问题的原因是因为我想动态加载我的Entity类,因此不一定以编程方式。

用坐标系生成六边形网格的算法

我试图将19行代码汇总到一个for循环中,但我感觉有点难过。 我问的原因是因为我希望网格是其他尺寸而不是5。 在Main::drawHexGridAdvanced() ,我试图推断出每一行之间的相似性,而不是Main::drawHexGridBasic() ,其中我是硬编码值。 我不确定如何确定每行中每列的x的开始,因为n == 5的模式是0, -1 -2 -2 -2之后,每个连续的列只是递增,除非循环到达中途点…… 信息和理解 `n` must be odd n | columns-per row sequence –+————————- 3 | 2 3 2 5 | 3 4 5 4 3 7 | 4 5 6 7 6 5 4 9 | 5 6 7 8 9 8 7 6 5 […]

在Java中动态生成按钮

我正在尝试动态生成表单。 基本上,我想加载一个购买项目列表,并为每个项目生成一个按钮。 我可以确认按钮是使用调试器生成的,但它们没有显示。 这是在JPanel的子类中: private void generate() { JButton b = new JButton(“height test”); int btnHeight = b.getPreferredSize().height; int pnlHeight = this.getPreferredSize().height; int numButtons = pnlHeight / btnHeight; setLayout(new GridLayout(numButtons, 1)); Iterator it = DrinkMenu.iterator(); for (int i = 0; i <= numButtons; ++i) { if (!it.hasNext()) { break; } final Drink dr = it.next(); […]

Java动态加载类

我试图动态地将类加载到组件中。 我正在使用文件选择器来选择将要加载的.JAR文件,然后使用选项窗格来获取类的名称。 我已经在互联网上搜索如何将java文件转换为URL以便在URLClassLoader中加载它我已经提出: File myFile = filechooser.getSelectedFile(); String className = JOptionPane.showInputDialog( this, “Class Name:”, “Class Name”, JOptionPane.QUESTION_MESSAGE); URL myUrl= null; try { myUrl = myFile.toURL(); } catch (MalformedURLException e) { } URLClassLoader loader = new URLClassLoader(myUrl); loader.loadClass(className); 我现在收到一个’无法找到符号’错误,将URL加载到URLClassLoader中

是否可以在Java中在运行时创建变量?

例如,假设我想“提取” String[] fruits = {“Pear”, “Banana”, “Apple”}; 分成三个独立的变量,例如: for (int i=0; i != fruits.length; ++i) { // of course there’s no eval in Java eval(“String fruit + i = ” + fruits[i] + “;”); } // ie: code that creates something equivalent to the following declarations: String fruit0 = “Pear”; String fruit1 = “Banana”; String […]

是否可以在Java中动态构建多维数组?

假设我们有Java代码: Object arr = Array.newInstance(Array.class, 5); 那会跑吗? 作为进一步的说明,如果我们尝试这样的事情怎么办: Object arr1 = Array.newInstance(Array.class, 2); Object arr2 = Array.newInstance(String.class, 4); Object arr3 = Array.newInstance(String.class, 4); Array.set(arr1, 0, arr2); Array.set(arr1, 1, arr3); 那么arr1会是一个2D数组,相当于: String[2][4] arr1; 怎么样:如果我们在运行时之前不知道这个数组的大小怎么办? 编辑:如果这有帮助(我相信它会…)我们试图从表单的字符串解析未知维度的数组 [value1, value2, …] 要么 [ [value11, value12, …] [value21, value22, …] …] 等等 编辑2:如果有人像我一样愚蠢尝试这个垃圾,这里是一个至少编译和运行的版本。 逻辑是否合理完全是另一个问题…… Object arr1 = Array.newInstance(Object.class, x); Object […]