我正在尝试在java中创建一个splitpane gui对象,如链接中所述:http://www.cs.fsu.edu/~jtbauer/cis3931/tutorial/ui/swing/example-swing/SplitPaneDemo.java
但我真的不明白这一部分:
library(purrr)
doc <- read_xml(txt)
xml_find_all(doc, ".//*[name()='hmmer3-match']") %>%
map(xml_find_all, ".//*[name()='signature']") -> sig
sig
## [[1]]
## {xml_nodeset (1)}
## [1] <signature ac="PF00187" desc="Chitin recognition protein" name="Chit ...
##
## [[2]]
## {xml_nodeset (1)}
## [1] <signature ac="PF00182" desc="Chitinase class I" name="Glyco_hydro_1 ...
hmmer <- xml_find_all(doc, ".//*[name()='hmmer3-match']")
sig <- lapply(hmmer, xml_find_all, ".//*[name()='signature']")
sig
## [[1]]
## {xml_nodeset (1)}
## [1] <signature ac="PF00187" desc="Chitin recognition protein" name="Chit ...
##
## [[2]]
## {xml_nodeset (1)}
## [1] <signature ac="PF00182" desc="Chitinase class I" name="Glyco_hydro_1 ...
hmmer <- xml_find_all(doc, ".//*[name()='hmmer3-match']")
sig <- list()
for (i in 1:length(hmmer)) {
sig_match <- xml_find_all(hmmer[[i]], ".//*[name()='signature']")
sig <- c(sig, sig_match)
}
sig
## [[1]]
## {xml_node}
## <signature ac="PF00187" desc="Chitin recognition protein" name="Chitin_bind_1">
## [1] <entry ac="IPR001002" desc="Chitin-binding, type 1" name="Chitin-bd_ ...
## [2] <models>\n <model ac="PF00187" desc="Chitin recognition protein" na ...
## [3] <signature-library-release library="PFAM" version="31.0"/>
##
## [[2]]
## {xml_node}
## <signature ac="PF00182" desc="Chitinase class I" name="Glyco_hydro_19">
## [1] <entry ac="IPR000726" desc="Glycoside hydrolase, family 19, catalyti ...
## [2] <models>\n <model ac="PF00182" desc="Chitinase class I" name="Glyco ...
## [3] <signature-library-release library="PFAM" version="31.0"/>
所以基本上它要求我从名为&#39;图像名称&#39;的文件中创建资源包。包含我想要使用的图像列表?我不明白resourcebundle是如何工作的,我在网上看到的所有例子都涉及使用对象或数组。如何使用resourcebundle从文件中获取图像?
答案 0 :(得分:0)
我想有一个属性文件“imagenames”,其中包含键值“images”,其值由空格“”分隔。
images=image1name.png img2name.png img3name.png ...
您可以在parseList方法中看到,您将字符串解析为图像名称数组。
protected static Vector parseList(String theStringList) {
Vector v = new Vector(10);
StringTokenizer tokenizer = new StringTokenizer(theStringList, " ");
while (tokenizer.hasMoreTokens()) {
String image = tokenizer.nextToken();
v.addElement(image);
}
return v;
}
和在SplitPaneDemo方法中:
// Set up the picture label and put it in a scroll pane
currentImage = new ImageIcon("images/" +
(String)imageList.firstElement());
您从图像列表中的“images”目录+图像名称中获取第一张图像。
即。 currentImage = new ImageIcon("images/image1name.png")
总的来说,你应该创建一个目录,添加你的图像,用关键的“图像”和values = yourImgName1 yourImgName2
创建属性文件“imagenames”....通过空白
images=yourImgName1 yourImgName2 ...
并使用您的示例从目录中获取图像。
它是如何工作的 http://www.avajava.com/tutorials/lessons/how-do-i-read-a-properties-file-with-a-resource-bundle.html