Here is an example demonstrating the different possible uses of java.identify:



 

Here is the S-PLUS code used to make this graph:

plot(0:5, type = "n")
java.set.page.title("initial page")
java.set.page.tag("p1")
text(2:4, 1:3, paste("press here to go to page", 1:3))
java.identify(2:4 - 1, 1:3 - 0.5, 2:4 + 1, 1:3 + 0.5,
       labels = paste("press here to go to\npage", 1:3),
       actions = java.action.page(paste("p", 1:3, sep = "")))
text(5, 4, "press here to go to a URL")
java.identify(4, 3.5, 6, 4.5, labels = 
	"go to URL http://www.mathsoft.com/", actions = 
	java.action.link("http://www.mathsoft.com/"))
text(2, 4, "press here to bring up a menu")
java.identify(1, 3.5, 3, 4.5, labels = "bring up a menu", actions = 
  java.action.menu(title="foo",
     items=c(
       java.action.menuitem(java.action.page("p1"), "goto p1"),
       java.action.menuitem(java.action.page("p2"), "goto p2"),
       java.action.menuitem(java.action.page("p3"), "goto p3"),
       java.action.menuitem(java.action.link("http://www.mathsoft.com/"),
                            "go to http://www.mathsoft.com/"),
       java.action.menuitem(java.action.link("http://www.mathsoft.com/unknownpage"),
                            "go to http://www.mathsoft.com/unknownpage"),
       java.action.menuitem(java.action.link("http://www.mathsoft.com/", "_blank"),
                            "go to http://www.mathsoft.com/ (new window)"),
       java.action.menuitem(
	 java.action.menu(c(
	   java.action.menuitem(java.action.page("p1"), "goto p1"),
	   java.action.menuitem(java.action.page("p2"), "goto p2"),
	   java.action.menuitem(java.action.page("p3"), "goto p3")
			    )),
	 "sub menu"),
       java.action.menuitem("", "empty action"),
       java.action.menuitem("<foo sd=45/>", "unknown action")
       )))
title("this is page 1")
plot(1:10)
java.set.page.title("")
java.set.page.tag("p2")
title("this is page 2, with an empty tab")
java.identify(x1 = 1:10, labels = paste("jump to page 1,\nnot", 
	state.name[1:10]), actions = rep(java.action.page("p1"), 10))
plot(10:1)
java.set.page.title("AReallyLongTabName")
java.set.page.tag("p3")
title("this is page 3")
java.identify(y1 = 1:10, labels = paste("jump to page 1,\nnot", 
	state.name[1:10]), actions = rep(java.action.page("p1"), 10))