简单的圆圈旋转(模拟运动)

我在Java中有一个简单的动画,它包含一个在窗口移动的轮子。 它只是一个普通的圆圈,从左侧开始离开屏幕,进入并继续向右,直到它离开屏幕。 然后它循环并重复这个过程。 X是包含车轮位置的变量。 它可以在 – (车轮宽度)和窗口尺寸+车轮宽度之间。 我想通过在这个轮子中画一个圆圈来模拟旋转,这个圆圈围绕圆圈旋转,就好像它被连接一样。 想象一下现实生活中的自行车车轮,车轮上有一面红旗。 随着车轮的旋转,当车轮前进时,车轮边缘上的红旗将会移动。 这是我想要的行为。 我得到一个百分比来传递到我的轮子类这样: int percentage = x/windowWidth; 车轮移动的每个框架,我称为wheel.rotate(percentage) 。 这是实施: private int diameter = 50; private final int SPOKE_DIAMETER = diameter/5; public void rotate(double percent){ this.percent = percent; this.theta = percent*(PI*2); System.out.println(percent*PI); } public void paintComponent(Graphics canvas) { // wheel canvas.setColor(Color.gray); canvas.fillOval(0, 0, diameter, diameter); // […]

GSON没有反序列化对外层的引用

在我的Java应用程序中,我定义了两个类,称为A和B ,其中B是A内部类。 两者都被定义为可序列化 public class A implements Serializable { int attrParent; List items = new ArrayList(); public void setAttrParent(int attrParent) { this.attrParent = attrParent; } public int getAttrParent() { return attrParent; } public class B implements Serializable { private int attr; public void setAttr(int attr) { this.attr = attr; } public int getAttr() { return […]

perl和java正则表达式function有什么区别?

关于支持哪些正则表达式术语,perl和java之间有什么区别? 这个问题仅与正则表达式隔离,并且特别排除了如何使用正则表达式的差异 – 即使用正则表达式的可用函数/方法 – 以及诸如java要求之间的语法差异以逃避反斜杠等。 特别感兴趣的是java对可变长度后视的部分/偶尔支持。

JPA本机查询连接返回对象但是取消引用会抛出类强制转换exception

我正在使用JPQL Native查询来连接表,查询结果存储在List 。 public String getJoinJpqlNativeQuery() { String final SQL_JOIN = “SELECT v1.bitbit, v1.numnum, v1.someTime, t1.username, t1.anotherNum FROM MasatosanTest t1 JOIN MasatoView v1 ON v1.username = t1.username;” System.out.println(“get join jpql native query is being called ============================”); EntityManager em = null; List out = null; try { em = EmProvider.getDefaultManager(); Query query = em.createNativeQuery(SQL_JOIN); out = […]

如何检查日期字符串的有效性?

在我的项目中,我需要检查日期字符串是否评估为正确的Date对象。 我决定允许yyyy-MM-dd和日期格式[(年,月,日)和(年,月,日,小时,分)]。 如何检查它们是否有效? 我的代码为“1980-01-01”和一些奇怪的日期(如3837.05.01)返回null,它们用逗号分隔一个字符串: private Date parseDate(String date){ Date data = null; // yyy-mm-dd try { DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT); df.setLenient(false); df.parse(date); return data; } catch (Exception e) { try{ int[] datArr = parseStringForDate(date); int len = datArr.length; // year, month, day if(len == 3){ return new Date(datArr[0], datArr[1], datArr[2]); } // year, montd, day, […]

如何使用另一个comboboxswing来控制combobox

我有两个combobox,第一个项目是(女性和男性)。我想当用户在第一个combobox中选择女性时,女性服装列表将出现在第二个combobox中,当男性被选中时,男士服装列表将出现在第二个。可以使用JCombo框执行此function吗? 如果是的话我该怎么办呢?请给我举个例子。 任何帮助将不胜感激。

为什么Java 8中存在像DoubleFunction这样的原始函数

我刚看了一下新的Java 8 函数包,并想知道为什么有这样的接口 DoubleFunction IntFunction LongFunction … 哪些不扩展Function 。 这是否意味着我无法传递Function ,其中需要IntFunction ,反之亦然? 这同样适用于*Block , *Supplier和*UnaryOperator 。 我可以看到返回基元时我不必检查null的优点,但缺点列表似乎要长得多

数组的平等方法如何工作?

嘿,我正在学习Java决赛,我被一个简单的equals方法弄糊涂了。 给出的问题是 “鉴于以下数组声明,以下打印是什么” 并且我认为这是真的,错误的,但是在复制和粘贴代码之后,它显示答案是错误的,错误的,真实的。 我知道==只有在它们是对象的同一个实例时才有效,但我不明白为什么第一个是假的。 我尝试在数组api中找到该方法,但找不到具有相同参数的方法。 请原谅我,如果这是显而易见的,我在过去的几个晚上一直在学习,现在我对咖啡因感到厌倦。 int[] d = { 1, 2, 3 }; int[] b = { 1, 2, 3 }; int[] c = d; System.out.println(d.equals(b)); System.out.println(d == b); System.out.println(d == c);

需要帮助才能从主图表中打开子图表?

我有以下图表: 现在我的问题是当用户点击图表的Linux部分时,我想打开一个包含Linux OS信息的新图表,如红色所示。 我试过这个: //check if Linux OS is clicked on chart… if(“Linux”.equals(chartMouseEvent.getEntity().getToolTipText())) { //open new chart having the information for Linux } 但我认为可能有更好的替代方法来做同样的工作。 如果您知道如何实现这一目标,请提供帮助。

Java lang IllegalAccess通过HashBasedTable累加器收集Guava不可变表

执行下面的代码时出错, 引起:java.lang.IllegalAccessError:试图从类访问com.google.common.collect.AbstractTable类 ImmutableTable.copyOf(listItemsToProcess.parallelStream() .map(item -> ProcessorInstanceProvider.getInstance() .buildImmutableTable(item)) .collect(() -> HashBasedTable.create(), HashBasedTable::putAll, HashBasedTable::putAll) ); 出现错误 – HashBasedTable :: putAll使用Oracle的1.8 jre