Tag: java

java等待光标显示的问题

我有问题在我的应用程序中显示一个等待光标。 只要鼠标位于定义自己光标的面板上方,等待光标就不会出现。 如果面板不改变光标,等待光标出现。 我附上一个SSCE来准确地解释我的问题。 public class BusyCursorTest extends javax.swing.JFrame { public BusyCursorTest() { javax.swing.JMenuBar menuBar = new javax.swing.JMenuBar(); javax.swing.JMenu menu = new javax.swing.JMenu("Menu"); javax.swing.JMenuItem wait1 = new javax.swing.JMenuItem("Wait 100 ms"); javax.swing.JMenuItem wait2 = new javax.swing.JMenuItem("Wait 250 ms"); javax.swing.JMenuItem wait3 = new javax.swing.JMenuItem("Wait 500 ms"); javax.swing.JMenuItem wait4 = new javax.swing.JMenuItem("Wait 1000 ms"); menu.add(wait1); menu.add(wait2); menu.add(wait3); menu.add(wait4); […]

线程与键绑定

我是新来的Java图形和线程,我试图做一个游戏(具体来说,庞)。 这个想法是,两个人可以在同一个键盘上玩(即有两个通过不同的键控制的桨)。 目前,双方球员不能同时移动他们的桨。 有没有解决这个问题? 是单独的线程的答案? 如果可能,我希望桨能够同时移动(至少看起来)。 更新:好像使用Set<Integer>来存储按下的键是最好的选择。 我已经这样做了(而且它的工作原理),但我想知道是否有任何代码不在事件调度线程(EDT),如果我需要使用SwingUtilities.invokeLater(); 。 这是必要的代码: private Set<Integer> keysDown = Collections.synchronizedSet(new HashSet<Integer>()); public void keyPressed(KeyEvent e) { keysDown.add(e.getKeyCode()); } public void keyReleased(KeyEvent e) { keysDown.remove(e.getKeyCode()); } public void updatePaddlePositions() { if (keysDown.contains(KeyEvent.VK_W)) paddleOne.move(-PADDLE_MOVE_INCREMENT); if (keysDown.contains(KeyEvent.VK_S)) paddleOne.move(PADDLE_MOVE_INCREMENT); if (keysDown.contains(KeyEvent.VK_UP)) paddleTwo.move(-PADDLE_MOVE_INCREMENT); if (keysDown.contains(KeyEvent.VK_DOWN)) paddleTwo.move(PADDLE_MOVE_INCREMENT); try { Thread.sleep(DELAY); } catch (InterruptedException e) { System.out.println("You […]

在Java 8中使用LogManager(l4j2)时出错(java.lang.reflect.AnnotatedElement无法解析)

当我将一个新项目的JDK版本从7u45切换到8u20时,我遇到了一个奇怪的错误。 在我的课程开始时,一个无害的LogManager声明被拒绝,错误如下: The type java.lang.reflect.AnnotatedElement cannot be resolved. It is indirectly referenced from required .class files 这是代码: public class Class1 { private static Logger log = LogManager.getLogger(Class1.class); … Eclipse建议我配置构建路径,但我不知道要配置什么,因为我不知道该错误的基本问题。 使用版本7的JDK,一切工作正常。

在Janel上集中一个JLabel

我正在使用NetBeans GUI生成器来处理我的布局(我对布局管理器非常糟糕),并试图放置一个简单的JLabel,以便它始终在其父级JPanel中居中(水平)。 理想情况下,即使JPanel被调整大小,这也会保持真实,但是如果这是一个疯狂的编码,而不是仅仅在JPanel被创建时居中就足够了。 我自己试图处理布局已经够坏了,但是由于NetBeans GUI Builder自动生成不可变的代码,因此我无法弄清楚如何执行这种对中操作,而且我也无法在网上找到任何帮助我的东西。 感谢任何能引导我走向正确的人!

在Android中下标和上标字符串

你怎么能打印一个下标或上标字符串? 你可以做这个没有外部库吗? 我希望这显示在Android中的TextView 。

一个Java字符串可以有多少个字符?

我正在尝试Sphere Online Judge(SPOJ)中的下回文版问题,我需要找到一个高达一百万位数的整数回文。 我想过使用Java的函数来反转字符串,但他们会允许一个字符串这么长吗?

错误:不允许处理指令目标匹配“ ”

每当我运行一个以如下开头的XSLT页面时,就会出现标题中的错误: <?xml version="1.0" encoding="windows-1256"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:include href="../header.xsl"/> <xsl:template match="/"> <xsl:call-template name="pstyle"/> <xsl:call-template name="Validation"/> <xsl:variable name="strLang"> <xsl:value-of select="//lang"/> </xsl:variable> <!– ////////////// Page Title ///////////// –> <title> <xsl:value-of select="//ListStudentFinishedExam.Title"/> </title> 注意 :我在第一行之前删除了任何前导空格,但错误仍然存​​在!

Java数组,查找重复

我有一个数组,并正在寻找重复。 duplicates = false; for(j = 0; j < zipcodeList.length; j++){ for(k = 0; k < zipcodeList.length; k++){ if (zipcodeList[k] == zipcodeList[j]){ duplicates = true; } } } 但是,这个代码在没有重复时不起作用。 为什么?

带有动态ArrayList项类型的Gson TypeToken

我有这个代码: Type typeOfObjectsList = new TypeToken<ArrayList<myClass>>() {}.getType(); List<myClass> objectsList = new Gson().fromJson(json, typeOfObjectsList); 它将JSON字符串转换为对象List 。 但是现在我想要在运行时定义一个动态类型的ArrayList (不只是myClass )。 ArrayList的项目类型将被反射定义。 我试过这个: private <T> Type setModelAndGetCorrespondingList2(Class<T> type) { Type typeOfObjectsListNew = new TypeToken<ArrayList<T>>() {}.getType(); return typeOfObjectsListNew; } 但它不起作用。 这是例外: java.sql.SQLException: Fail to convert to internal representation: {….my json….}

如何解决Java舍入双重问题

似乎减法正在引发某种问题,结果是错误的。 double tempCommission = targetPremium.doubleValue()*rate.doubleValue()/100d; 78.75 = 787.5 * 10.0 / 100d double netToCompany = targetPremium.doubleValue() – tempCommission; 708.75 = 787.5-78.75 double dCommission = request.getPremium().doubleValue() – netToCompany; 877.8499999999999 = 1586.6 – 708.75 由此产生的预期值将是877.85。 应该做些什么来确保正确的计算?