我想以格式获取JTree的文本:
root
sudir1
node1
node2
subdir2
node3
node4
Run Code Online (Sandbox Code Playgroud)
可能吗?
我写了一些代码
public static String getLastSelectedText(JTree tree) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
if (node == null) return null;
return node.getUserObject().toString();
}
Run Code Online (Sandbox Code Playgroud)
但它只获得选定的组件文本.
我想扩展树和处理所有节点,但也许这是个坏主意.
在构建期间,我通过包含构建信息的maven属性插件(properties-maven-plugin)生成build.properties文件.
将此文件包含在生成的jar中的最佳方法是什么?我不想把它放到src/main/resources目录中,因为这会污染我的默认资源目录.
是否没有"生成资源"目录,因为有源?
我正在使用如下所示的XML结构:
<ROOT>
<ELEM_A>
<A_DATE>20100825</A_DATE>
<A_TIME>141500</A_TIME>
<!-- other elements, maybe also other or date/time combinations -->
<STRING>ABC</STRING>
<ELEM_A>
<ELEM_B>
<B_DATE>20100825</B_DATE>
<B_TIME>153000</B_TIME>
<NUM>123</NUM>
<C_DATE>20100825</C_DATE>
<C_TIME>154500</C_TIME>
</ELEM_B>
</ROOT>
Run Code Online (Sandbox Code Playgroud)
我想将日期和时间映射到我的bean中的单个Date或Calendar属性.这可能是使用jaxb注释吗?该类javax.xml.bind.annotation.adapters.XmlAdapter似乎可以做到这一点,但我不得不承认我并不完全理解它的javadoc.
解决方法是为日期和时间字符串创建其他setter,以便在Calendar属性中设置相应的值,如下所示:
private Calendar calendar;
public void setDate(String date) {
if (calendar == null) {
calendar = new GregorianCalendar();
}
calendar.set(YEAR, Integer.parseIn(date.substring(0, 4)));
calendar.set(MONTH, Integer.parseIn(date.substring(4, 6))-1);
calendar.set(DAY_OF_MONTH, Integer.parseIn(date.substring(6, 8)));
}
// Similar code for setTime
Run Code Online (Sandbox Code Playgroud)
问题(除了附加代码)是我不能总是保证日期在时间值之前设置,但我想不出一个具体的例子,这可能会给出结果.
可以理解基于注释的解决方案的任何示例或上述代码的改进/反例.
编辑:我接受了Blaise Doughan给出的第二个答案,但修改了他的DateAttributeTransformer更灵活,并且不希望字段名称包含字符串"DATE".字段名称取自字段上的XmlWriterTransformer注释:
@Override
public Object buildAttributeValue(Record record, …Run Code Online (Sandbox Code Playgroud) 我有Java Textfield的问题,当我覆盖JTextField中的所有文本并立即输入新文本(不传递退格)到JTextField,然后我使用函数getText()我得到前一个字符串而不是当前字符串.请帮忙解决一些问题.提前致谢.
我有正确配置OpenEJB 3.1.3数据源的问题.我尝试配置连接到postgres db,但是我调试测试我得到默认的hsql连接参数.
这是我的测试类:
@RunWith(ApplicationComposer.class)
public class OpenEJBTest {
@EJB
Files fb;
@Test
public void testSth() {
List<UploadSession> uploadNotFinishedSessions = fb.getUploadNotFinishedSessions();
}
@Module
public EjbJar beans() {
EjbJar ejbJar = new EjbJar("beans");
ejbJar.addEnterpriseBean(new StatelessBean(FilesBean.class));
ejbJar.addEnterpriseBean(new StatelessBean(FilesUtilBean.class));
ejbJar.addEnterpriseBean(new StatelessBean(ServerFilesBean.class));
ejbJar.addEnterpriseBean(new StatelessBean(UserUtilBean.class));
return ejbJar;
}
@Module
public PersistenceUnit persistence() {
PersistenceUnit unit = new PersistenceUnit("postgresPU", HibernatePersistence.class.getName());
String simpleXml = SimpleXmlUtil.toSimpleXml(unit);
System.out.println(simpleXml);
unit.setJtaDataSource("PostgresDS");
unit.setNonJtaDataSource("PostgresDSUnmanaged");
return unit;
}
}
Run Code Online (Sandbox Code Playgroud)
我试过了:
Run Code Online (Sandbox Code Playgroud)postgresPU=new://Resource?type=DataSource postgresPU.JdbcDriver=org.postgresql.Driver postgresPU.JdbcUrl=jdbc:postgresql:/localhost:5433/pdb postgresPU.JtaManaged=true postgresPU.DefaultAutoCommit=false postgresPU.UserName=...
Run Code Online (Sandbox Code Playgroud)<Resource id="PostgresDS" type="DataSource"> JdbcDriver org.postgresql.Driver JdbcUrl …
我试图运行一个简单的Feature文件,但我得到的异常如下:线程"main"中的异常cucumber.runtime.CucumberException:解析特征文件时出错.
引起的原因是:gherkin.lexer.LexingError:Lexing错误
我试图参数化一个When语句并获得此异常:
Scenario: Login to Gmail
Given User is on Gmail login page
When User enters <userName> and <pwd>
And Clicks on login button
Then User should redirect to home page
scenario outline(tried Examples as well but didn't worked):
|userName | pwd |
|ravivani10 | abc |
Run Code Online (Sandbox Code Playgroud) 使用com.sun.codemodel,我想生成一个通用的LinkedList字段.我可以使用以下代码创建一个原始字段:
JDefinedClass masterClass;
String detailName;
JDefinedClass detailClass;
JFieldVar detailField = masterClass.field(JMod.PRIVATE, LinkedList.class, detailName);
Run Code Online (Sandbox Code Playgroud)
但是我找不到用通用类型创建LinkedList的方法detailClass.
我完全被这个困扰了...
如果我使用以下内容调用以下函数:
搜索(SearchTextField.getText()); //(输入玻璃纤维)
搜索( "玻璃纤维"); //硬编码
我得到以下结果:
玻璃纤维10不在这里
发现玻璃纤维10串!
相同的String传递的长度相同,结果不同.怎么会这样?是的我在==的两边修剪它没有运气.
我在失去理智,任何帮助都会受到赞赏.
Test[] array = new Test[3];
array[0] = new RowBoat("Wood", "Oars", 10);
array[1] = new PowerBoat("Fiberglass", "Outboard", 35);
array[2] = new SailBoat("Composite", "Sail", 40);
public void Search(String searchString) {
boolean found = false;
System.out.print(searchString + " " + searchString.length() + " ");
for (int i = 0; i < array.length; i++) {
if (searchString == array[i].getBoatMaterial()) {
found = true;
break;
}
}
if (found) {
System.out.println("String found!");
} …Run Code Online (Sandbox Code Playgroud)