是否有一种简单的方法来递归地压缩一个目录,该目录可能包含也可能不包含任意数量的文件和任意数量级别的子目录?
在我们的应用程序中,我们允许用户打开文件和目录.
Java 6为我们提供了......
java.awt.Desktop.getDesktop().open(file);
Run Code Online (Sandbox Code Playgroud)
这很棒.但是,由于我们需要确保Java 5兼容性,我们还实现了一种通过调用start命令来打开文件的方法cmd.exe...
String command = "cmd.exe start ...";
Runtime.getRuntime().exec(command);
Run Code Online (Sandbox Code Playgroud)
这就是问题出现的地方.看起来start命令只能处理8.3文件名,这意味着任何非短(8.3)文件/目录名都会导致start命令失败.
有没有简单的方法来生成这些短名称?或任何其他解决方法?
在我JTabbedPane,我正在以两种不同的方式删除标签:
tabbedPane.remove(index)
Run Code Online (Sandbox Code Playgroud)
和
tabbedPane.removeAll()
Run Code Online (Sandbox Code Playgroud)
两者在关闭标签方面都很好.但是,我有一个更改侦听器,TabbedPane它会调用另一个模块来报告选项卡更改.这就是问题所在.
使用时添加和删除选项卡时remove(index),stateChanged()方法中的源TabbedPane在检查时包含正确数量的选项卡tabbedPane.getTabCount().
但是,在调用tabbedPane.getTabCount()之后tabbedPane.removeAll(),计数仍然是紧接在之前的计数removeAll().
有没有人有什么建议?
在我的应用程序中,我有一个类似于下图所示的布局:
@@@@@@@
XXXXXXX***
XXXXXXX***
XXXXXXX***
%%%%%%%
在这种布局中,X是一个JTable.其他组件可以保持相同的大小.是否有一个布局或策略将JTable(X)根据可用的屏幕大小调整大小并让其他所有内容保持正确?
谢谢.
正如问题所述,我想设置一个鼠标监听器,JTree以便HAND_CURSOR当用户将鼠标放在节点上时我可以将光标更改为a .
我已经有一个MouseAdapter登记在我的JTree处理单击事件,但我似乎无法得到MouseMoved或MouseEntered/ MouseExited与我想要做的工作.
有什么建议?
在我的GWT应用程序中,我将一个Object传递给服务器,以便使用Hibernate进行持久化.此Object包含另一个对象的列表.列表中的每个元素都包含一个Map,它是另一个Hibernate表.
为了做这个交易,我的理解是我必须先:
以下是我正在做的一些快速代码:
public void saveOrUpdateObject(final Foo foo)
{
Session session = sessionFactory.getCurrentSession();
session.beginTransaction();
Object lookup = myDAO.getObject(foo.getUniqueValue());
if (lookup != null) {
lookup.getList().clear();
lookup.addAll(foo.getList());
myDAO.update(lookup);
}
else {
myDAO.save(foo);
}
}
Run Code Online (Sandbox Code Playgroud)
使用这种方法,我偶尔会得到一个HibernateException:
org.hibernate.HibernateException: A collection with cascade="all-delete-orphan" was no longer referenced by the owning entity instance: my.Foo.list
Run Code Online (Sandbox Code Playgroud)
使用Hibernate更新包含集合的Object的正确方法是什么?