Java计算从当前时间到事件的时间

我正在计算直到足球比赛开始的时间量。 这就是我所知道的: 我有时间参加活动: 2016-08-16T19:45:00Z 我知道它的字符串格式是“ yyyy-M-dd’T’h:m:s’Z’ ” 我知道时区是“CET”。 我希望能够计算从当前时间到此日期的差异。 这是我尝试过的: String gameDate = “2016-03-19T19:45:00’Z'” DateFormat apiFormat = new SimpleDateFormat(“yyyy-M-dd’T’h:m:s’Z'”); apiFormat.setTimeZone(TimeZone.getTimeZone(“CET”)); Date dateOfGame = apiFormat.parse(gameDate); DateFormat currentDateFormat = new SimpleDateFormat(“yyyy-M-dd’T’h:m:s’Z'”); currentDateFormat.setTimeZone(TimeZone.getTimeZone(userTimezone)); Date currentDate = apiFormat.parse(currentDateFormat.format(new Date())); long lGameDate = dateOfGame.getTime(); long lcurrDate = currentDate.getTime(); long difference = lGameDate – lcurrDate; Date timeDifference = new Date(difference); String […]

符合垃圾收集条件的对象

这个问题来自Kathy Sierra SCJP 1.6 。 有多少个对象符合垃圾收集的条件? 根据Kathy Sierra的回答,这是C 这意味着两个对象有资格进行垃圾回收。 我给出了答案的解释。 但为什么c3不符合垃圾收集 (GC)的条件? class CardBoard { Short story = 200; CardBoard go(CardBoard cb) { cb = null; return cb; } public static void main(String[] args) { CardBoard c1 = new CardBoard(); CardBoard c2 = new CardBoard(); CardBoard c3 = c1.go(c2); c1 = null; // Do stuff […]

如何在JPanel中显示的矩形区域内的图像上书写文字

想在图像上绘制文字。 在第一次鼠标单击一个矩形区域显示时,只要输入文本,文本应该用矩形shap绘制,矩形应该自动resize,文本显示在附加图像中。

getText()vs getPassword()

我目前正在为一家虚拟公司设计一个登录系统,现在我所拥有的只是主要登录,需要大量的清理工作。 下面是我的登录处理程序。 private class LoginButtonHandler implements ActionListener { public void actionPerformed(ActionEvent e) { if(_uid.getText().equalsIgnoreCase(“Nathan”) && _pwd.getText().equals(“password”)) { JOptionPane.showMessageDialog(null, “Congratulations on logging in!”); } else { JOptionPane.showMessageDialog(null, “Error on login!”); } } } 原样,这完全没问题,但是当我改成它时 _pwd.getPassword.equals(“password”) 当一切输入正确时,它会直接指向else语句。 这有什么不对? 完整的程序如下。 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Main extends JFrame { private static final int HEIGHT = […]

Paginate Observable结果没有递归 – RxJava

我有一个非常标准的API分页问题,​​您可以使用一些简单的递归来处理。 这是一个捏造的例子: public Observable<List> scan() { return scanPage(Optional.empty(), ImmutableList.of()); } private Observable scanPage(Optional startKey, List results) { return this.scanner.scan(startKey, LIMIT) .flatMap(page -> { if (!page.getLastKey().isPresent()) { return Observable.just(results); } return scanPage(page.getLastKey(), ImmutableList.builder() .addAll(results) .addAll(page.getResults()) .build() ); }); } 但这显然可以创建一个巨大的callstack。 如何强制执行此操作但保持Observable流? 这是一个命令式阻塞示例: public List scan() { Optional startKey = Optional.empty(); final ImmutableList.Builder results = ImmutableList.builder(); do […]

Swing:在Linux中调整像框架一样的JFrame,例如

我想知道是否有可能以这种方式实现JFrame的大小调整,它已被resize,例如linux中的标准窗口。 更确切地说:如果用户开始拖动,则仅预览窗口的未来大小,而原始内容不会resize。 一旦用户释放鼠标,Frame就会调整为该大小。 在图像中: (1)resize前的状态 (2)用户开始下垂(在红色圆圈) (3)用户释放鼠标,框架resize 是否有可能在Java Swing中意识到这一点? 编辑: 由于这个程序有一天也应该在较低的Java RE中作为7运行,我尝试将mKorbel建议与translucend Frame的注释中的建议结合起来。 结果接近目标,除了 在我停止移动鼠标后,contentPane的内容会resize,而不是在释放鼠标时 帧标题立即resize,而不仅仅是我停止拖动框架边框。 它仅在从右侧或底部resize时才起作用,否则内容随拖动而移动。 我认为第一点可以通过代码和MouseListener的组合来解析,类似于mouseReleased(),然后resize。 这是代码,随意尝试。 对于进一步的建议,我仍然对任何建议感到高兴。 该代码稍微修改了Java Tutorials中的GradientTranslucentWindowDemo.java 。 我希望它可以在这里发布,否则请告诉我任何侵犯版权的行为。 黑色JPanel应该是应用程序的内容,因为contentPane保持不可见。 import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ComponentEvent; import java.awt.event.ComponentListener; import java.beans.PropertyChangeListener; import javax.swing.*; import static java.awt.GraphicsDevice.WindowTranslucency.*; public class GroundFrame extends JFrame { Timer timer; JPanel panel2; public GroundFrame() { super(“GradientTranslucentWindow”); setBackground(new […]

如何在servlet上设置内容类型

我正在使用一个简单的servlet,它将数据库中的文档内容作为字节数组发回。 我想设置一个内容类型,以便在通过doGet()调用检索它时具有适当的扩展名。 我确实将文档的类型存储为数据库中的元数据(例如png,gif,png,xls,docx …)。 我应该将什么设置为内容类型以便保留文件扩展名? 下载的文件名为“doc”,如何在servlet上设置要下载的数据的文件名。

HQL Hibernate INNER JOIN

如何在Hibernate中编写这个SQL查询? 我想使用Hibernate创建查询,而不是创建数据库。 SELECT * FROM Employee e INNER JOIN Team t ON e.Id_team=t.Id_team 我在SQLServer2008中创建了实体类, @Entity @Table(name=”EMPLOYEE”) public class Employee { @Id @GeneratedValue @Column(name=”ID_EMPLOYEE”) private int id_employee; @Column(name=”SURNAME”) private String surname; @Column(name=”FIRSTNAME”) private String firstname; @Column(name=”ID_PROFESSION”) private int id_profession; @Column(name=”ID_BOSS”) private int id_boss; @Column(name=”HIRED_DATE”) private Date hired; @Column(name=”SALARY”) private double salary; @Column(name=”SALARY_ADD”) private double salary_add; @Column(name=”ID_TEAM”) […]

在JavaFX中用canvas绘制笛卡尔平面Graphi

我有这种方法使用canvas在JavaFX中绘制笛卡尔平面 public class Grafics extends StackPane { private Canvas canvas; public void Grafics(){ GridPane grid = new GridPane(); grid.setPadding(new Insets(5)); grid.setHgap(10); grid.setVgap(10); canvas = new Canvas(); canvas.setHeight(500); canvas.setWidth(700); GridPane.setHalignment(canvas, HPos.CENTER); grid.add(canvas, 0, 2); GraphicsContext gc = canvas.getGraphicsContext2D(); gc.setFill(Color.BLACK); gc.fillRect(0, 0, canvas.getWidth(), canvas.getHeight()); gc.setFill(Color.WHITE); gc.fillRect(1, 1, canvas.getWidth() – 2, canvas.getHeight() – 2); drawAxesXY(gc); //call the method […]

它不会抛出exceptionConcurrentModificationException

我有下面的代码,我希望它抛出一个ConcurrentModificationException ,但它运行成功。 为什么会这样? public void fun(){ List lis = new ArrayList(); lis.add(1); lis.add(2); for(Integer st:lis){ lis.remove(1); System.out.println(lis.size()); } } public static void main(String[] args) { test t = new test(); t.fun(); }