Java Calendar Object减去一个月

我试图通过这样做来填充日历对象: Date now = new Date(System.currentTimeMillis()); Calendar cal = Calendar.getInstance(); cal.setTime(now); 现在是2013-11-26,但是当我打印出来的时候 cal.get(Calendar.MONTH) 它将返回10。 我怎样才能解决这个问题?

防止Java在更新时重新绘制JPanel的内容

我有一个包含很多子组件的JPanel。 在更新\添加新组件到父JPanel时,我想阻止它重新绘制,这怎么能实现?

JavaFX:在单独的线程中运行任务不允许运行任何其他任务

我需要在我的程序中不断更新数据,所以我认为通过使用JavaFX的Task,我可以让它在我的程序中作为一个单独的进程运行。 final Task task = new Task() { @Override protected Void call() throws Exception { Platform.runLater(() -> { while (true) { itemData.forEach(data -> { System.out.println(data.getId()); }); } }); return null; } }; Thread thread = new Thread(task); thread.setDaemon(true); thread.start(); 这是在Initializable接口提供的initialize方法中声明的。 但是,在运行此程序时,即使任务在单独的线程上运行,任务也是唯一运行的。 为什么会这样做而不是像预期的那样运行?

根据JTable中的第一列值着色特定行?

我正在尝试根据JTable的第一列值为特定行着色,但下面的代码根据行的索引对行进行着色。 我的表只有四列。 第一列有ID号。 我需要根据这些ID号对行进行着色。 例如,如果第一个ID为0而第二个ID也为0,则它​​们都应为“lightGray”。 好吗,拜托? table_1 = new JTable(){ public Component prepareRenderer(TableCellRenderer renderer,int Index_row, int Index_col) { Component comp = super.prepareRenderer(renderer,Index_row, Index_col); //even index, selected or not selected if (Index_row % 2==0 && !isCellSelected(Index_row, Index_col)) { comp.setBackground(Color.lightGray); } else { comp.setBackground(Color.white); } return comp; } }; 以下是它现在的样子:

适用于Java的轻量级工作流引擎

使用现有的BPM引擎编写新的工作流引擎是否更好:jBPM 5,Activiti 5? 我的应用程序是基于Web的应用程序,性能很重要。 我怀疑的是,与编写简单的工作流引擎相比,使用jBPM / Activiti是否会带来性能开销。 如果我采用自我实现,我将错过工作流的可视化。 为了表现,它可以交易。

扫描仪输入接受字符串跳过while循环内的所有其他输入。

好吧,所以代码很简单。 通用类ourSet,它接受一些元素,将它放在LinkedList中,并在两个集合上执行一些函数。 我的问题实际上与项目的一般概念完全无关,它更多地出现在我创建的“用户输入界面”中。 我希望它接受一些字符串并将其添加到集合中,然后在接收字符串“EXIT”(全部大写)时退出循环,并为下一个集合执行相同操作。 发生的事情是do while循环只发送所有奇数的第1,第3,第5 …… package set.pkgclass; import java.util.Scanner; import java.util.LinkedList; public class SetClass { public static void main(String[] args) { ourSet set1 = new ourSet(); ourSet set2 = new ourSet(); Scanner input = new Scanner(System.in); System.out.println(“Please enter a string to put in set 1, ” + “type EXIT (in all caps) to […]

从Java中的ObjectInputStream连续读取对象

我在使用ObjectInputStream时遇到了问题,现在我已经苦苦挣扎了2天。 我试图寻找解决方案,但遗憾的是找不到合适的答案。 我正在尝试编写客户端/服务器应用程序,其中客户端将对象(在本例中为配置类)发送到服务器。 这个想法是在发送对象之后连接保持活动,因此可以在必要时发送新对象。 以下是我的客户端代码的重要部分: mSocket = new Socket(“192.168.43.56”, 1234); mObjectIn = new ObjectInputStream(mSocket.getInputStream()); mObjectOut = new ObjectOutputStream(mSocket.getOutputStream()); mObjectOut.writeObject(stubConfig); mObjectOut.flush(); 在上面的代码中,我省略了一些try / catch块以保证代码对您可读。 服务器端看起来如下: mHostServer = new ServerSocket(port); mSocket = mHostServer.accept(); // create streams in reverse oreder mObjectOut = new ObjectOutputStream(mConnection.getOutputStream()); mObjectOut.flush(); mObjectIn = new ObjectInputStream(mConnection.getInputStream()); while (mIsSocketConnected) { StubConfig = (StubConfiguration)mObjectIn.readObject(); } 我想要实现的是,只要socketconnection处于活动状态,服务器就会监听传入的配置对象。 然而,当我运行我的程序时,我在服务器端的while循环中得到了一个EOFException。 […]

Java中的逻辑和循环问题

我开始用Java编写小程序。 我想练习try-catch块,但我甚至没有达到那个部分并且卡在循环部分。 我知道这是一个非常基本的循环问题,但我想我陷入了一个非常简单的逻辑问题。 我需要的是这个程序,如果用户按1,然后跳转到switch语句并执行正确的大小写。 如果用户按下除1或2之外的任何内容,则返回MenuLoopfunction并再次执行,直到按下正确的数字(1或2)。 我用While循环来控制。 这是代码。 import java.util.Scanner; public class TryCatchExercise { public static void MenuLoop() { Scanner input = new Scanner(System.in); int choice; System.out.println(“1. Check for Number 1”); System.out.println(“2. Check for Number 2”); System.out.print(“Please enter your choice… “); choice = input.nextInt(); while (choice != 1 || choice != 2) { System.out.println(“Invalid entry, press […]

使用Java将电话号码转换为国际格式(E.164)的最佳方法是什么?

使用Java将电话号码转换为国际格式(E.164)的最佳方法是什么? 鉴于“电话号码”和国家/地区ID(假设是ISO国家/地区代码),我想将其转换为标准的E.164国际格式电话号码。 我相信我可以很容易地手工完成 – 但我不确定它在所有情况下都能正常工作。 您建议使用哪个Java框架/库/实用程序来完成此任务? PS“电话号码”可以是公众可识别的任何内容 – 例如 * (510) 786-0404 * 1-800-GOT-MILK * +44-(0)800-7310658 最后一个是我最喜欢的 – 这是有些人在英国写他们的号码并且意味着你应该使用+44,或者你应该使用0。 E.164格式编号应全部为数字,并使用完整的国际国家代码(例如+ 44)

Java KeyEvent方形运动

我有一段代码,当按下任何箭头键时会触发KeyEvent。 这反过来导致正方形在屏幕上移动。 现在我注意到当我按住键时,方块移动但是如果你理解我的意思,那么在最初移动到后续移动之后的时间很长 我将如何减少这个时间? 谢谢! import java.awt.*; import javax.swing.*; import squarequest.sprites.*; import java.awt.event.*; public class GamePanel extends JPanel{ private final int HEIGHT = 400; private final int WIDTH = 600; private Square square; private Circle circle; public GamePanel(){ addKeyListener(new DirectionListener()); setBackground (Color.white); setPreferredSize(new Dimension(WIDTH, HEIGHT)); setFocusable(true); square = new Square(); } public void paintComponent(Graphics g){ […]