我使用Eclipse IDE来开发,编译和运行我的Java项目.今天,我正在尝试使用java.io.Console该类来管理输出,更重要的是,用户输入.
问题是当应用程序"通过"Eclipse运行时System.console()返回null.Eclipse在后台进程上运行程序,而不是我们熟悉的控制台窗口的顶级进程.
有没有办法强制Eclipse将程序作为顶级进程运行,或者至少创建一个JVM将识别的控制台?否则,我被迫将项目放在jar上并在Eclipse外部的命令行环境中运行.
我正在寻找创建一个表单,按Enter键导致焦点转到页面上的"下一个"表单元素.我一直在网上找到的解决方案是......
<body onkeydown="if(event.keyCode==13){event.keyCode=9; return event.keyCode}">
Run Code Online (Sandbox Code Playgroud)
不幸的是,这似乎只适用于IE.所以这个问题的真正含义是,是否有人知道适用于FF和Chrome的解决方案?另外,我宁愿不必将onkeydown事件添加到表单元素本身,但如果这是唯一的方法,那就必须这样做.
这个问题类似于问题905222,但在我看来,这个问题值得我自己提出.
编辑:另外,我已经看到人们提出这个问题并不好,因为它与用户习惯的形式行为不同.我同意!这是客户要求:(
java.util.Collection类上的经典集合操作是否有任何内置功能?我的具体实现将是ArrayList,但这听起来应该适用于Collection的所有子类.我正在寻找类似的东西:
ArrayList<Integer> setA ...
ArrayList<Integer> setB ...
ArrayList<Integer> setAintersectionB = setA.intersection(setB);
ArrayList<Integer> setAminusB = setA.subtract(setB);
Run Code Online (Sandbox Code Playgroud)
经过一番搜索,我才能找到本土解决方案.此外,我意识到我可能会混淆"集合"的想法与"集合"的想法混淆,不允许和分别允许重复.也许这只是Set界面的功能?
如果没有人知道任何内置功能,也许我们可以将其用作标准实践Java集操作代码的存储库?我想这个轮子已经多次重新发明.
在Java中,我们使用以下包以编程方式创建excel文档:
org.apache.poi.hssf
Run Code Online (Sandbox Code Playgroud)
如果您尝试设置工作表的名称(不是文件,而是内部Excel工作表),则在以下情况下会出现错误:
但是,在创建工作表名称为的文档后:
@#$%&()+〜`"':;.,|
没有输出错误,Java中的一切似乎都很好.当您在Office 2003中打开Excel文件时,它将显示一个错误,指出工作表名称无效,并将其重命名为通用的"工作表1".
我不太了解我们之前所说的包,但看起来它没有正确过滤无效的Excel工作表名称.知道如何过滤掉所有已知的无效字符?我只是过滤掉所有非单词字符而犹豫不决.
我一直在寻找一段时间,每个人似乎都认为只使用Java是不可能的,所以我会给出一个镜头;)
有没有办法让我的Java应用程序监听事件(特别是关键事件),而另一个不相关的应用程序有窗口焦点?在我的情况下,我想要检测用户何时按下键盘上的"暂停"键,即使我的Java应用程序没有焦点.
我听说有些人提到唯一的方法是编写一些C代码并使用JNI.只是好奇是否有人知道如何避免这种情况?或者,如果没有,至少是关于c/JNI的非常好的教程?
谢谢
有没有办法在继续之前强制JavaFX应用程序重绘自己?类似于Swing Panel的paint(Graphic g)方法(我可能会在那里得到错误的关键字).
请考虑以下示例:您编写TicTacToe应用程序以及计算机播放器所需的AI.你希望有能力向两位电脑玩家展示它.也许你在计算机转弯之间暂停了两秒钟,让它具有逼真的效果.当你点击"开始"按钮时,会有一个很大的无响应停顿(9个回合所需的时间,假装计算机暂停'决定')然后突然应用程序的视觉效果更新完成游戏的状态.
一旦应用程序的线程中的处理完成,似乎JavaFX重新绘制了?我在这里不太确定.
谢谢!
我的Java应用程序在几个地方显示其版本号,因此我将其存储为应用程序主类中的公共最终变量.有没有办法在我的Ant构建任务中访问它?本着自动化构建过程的精神,我希望Ant自动将zipped distributable命名为当前版本号,但我不确定如何.我猜它看起来像......
<target name="createZip" depends="build">
<zip destfile="../dist/MyApp_${MyApp.version}.zip">
<fileset dir="../dist">
<include name="**/MyApp"/>
</fileset>
</zip>
</target>
Run Code Online (Sandbox Code Playgroud)
我只是不确定要放在$ {MyApp.version}的位置.我意识到我可以将它放在构建属性文件中,但是能够直接从我已经存储它的类文件中提取它会更方便.
我编写了一个Java应用程序,允许用户编写鼠标/键盘输入脚本(JMacro,链接并不重要,只是为了好奇).我个人使用该应用程序在我睡觉的同时在线游戏中自动执行角色动作.不幸的是,我一直在早上回到电脑前发现它没有反应.经过进一步测试,我发现我的应用程序导致计算机在大约10分钟的用户空闲时间后无响应(即使应用程序本身模拟用户活动).我似乎无法指出这个问题,所以我希望其他人可能会建议在哪里寻找或可能导致问题的原因.
相关症状和特征:
鉴于问题的症状和特征,就好像Java应用程序导致登录用户的桌面显示停止更新,包括任何正在运行的应用程序.
使用的编程概念和Java包:
系统规格:
总之,我应该强调,我不是在寻找任何具体的解决方案,因为我没有提出一个非常具体的问题.我只是想知道在使用我正在使用的Java库时是否有人遇到过类似的问题.我也很乐意感谢有任何建议,试图进一步查明造成问题的原因.
谢谢!
罗斯
PS,我会发布更新/答案,如果我在继续调试时遇到其他任何问题.
更新:我的应用程序涉及多线程进程,每个进程初始化自己的Robot对象并异步创建输入事件.我重构了应用程序只包含一个Robot单例对象,但不同的进程仍然异步调用输入命令.据我所知,这并没有改变我的应用程序的行为.我的下一步可能是在Robot单例周围创建一个同步包装器,看看是否有帮助,但鉴于症状,我不知道为什么会这样.
我正在寻找模拟在Java中短按键盘键的动作。我希望下面的代码按住A键5秒钟,但是只按一次它(在记事本中测试时会产生一个“ a”)。我是否需要使用其他东西,或者我在这里使用awt.Robot类错了吗?
Robot robot = null;
robot = new Robot();
robot.keyPress(KeyEvent.VK_A);
Thread.sleep(5000);
robot.keyRelease(KeyEvent.VK_A);
Run Code Online (Sandbox Code Playgroud) 在CFEclipse中,我做了很多双击选择文本.标准行为是选择最近的单词边界内的所有文本.在编辑原始编辑器不使用camel-case的代码时,这是有问题的; 例如,他们将"myObject"写为"my_object".
有没有办法更改双击选择行为以包含'_'作为有效的单词字符?
我已经创建了一个类MyClass,它打算向JSP输出大量文本.我认为MyClass对象使用页面的输出流更好.这是一个好/可能的想法吗?
在测试可能的方法来做到这一点......
这些输出文本,但它显示在页面正文之前:
response.getWriter().append("test1");
response.getWriter().println("test2");
response.getWriter().write("test3");
Run Code Online (Sandbox Code Playgroud)
这个错误告诉我输出流已经得到了:
response.getOutputStream().println("test4");
Run Code Online (Sandbox Code Playgroud) 我正在尝试决定如何为我编写的某些软件实现一个非常基本的许可解决方案.该软件将在我的(假设的)客户端机器上运行,其想法是如果客户端在超过n台机器上运行它,软件将立即退出(带有友好消息)(n是许可证的数量)已购买).此外,客户非技术娴熟,"基本"足够好.
这是我目前的设计,但鉴于我对该主题几乎没有经验,我想在开始任何开发之前询问它:
我认为这涵盖了我的初步设计.目的是虽然它肯定不是完全证明,但我认为我至少有点难以创建一个易于共享的破解解决方案.此外,我可以轻松调整给定客户端/密钥对的许可证数量.
我必须知道这已经完成了一百万次,所以请告诉我一个更好的解决方案,它实现起来同样简单,并提供相同(低)的安全性.如果使用外部库,我更喜欢Java,因为这就是软件编写的内容.
java ×9
awt ×2
eclipse ×2
ant ×1
awtrobot ×1
build ×1
cfeclipse ×1
coldfusion ×1
collections ×1
console ×1
dom-events ×1
excel ×1
html ×1
java-io ×1
javafx ×1
javascript ×1
jsp ×1
keyevent ×1
keylistener ×1
keypress ×1
licensing ×1
listener ×1
security ×1
set ×1
swing ×1