Created
December 8, 2008 16:54
-
-
Save sfentress/33513 to your computer and use it in GitHub Desktop.
NetLogo 4.1pre6 Embedding Test
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package org.concord.otrunknl4.test; | |
import java.awt.Dimension; | |
import java.awt.EventQueue; | |
import java.io.IOException; | |
import javax.swing.JFrame; | |
import javax.swing.JScrollPane; | |
import org.nlogo.app.InterfaceComponent; | |
import org.nlogo.window.InvalidVersionException; | |
/** | |
* This test was created to test out the new features in NetLogo 4.1 pre 6. Specifically, it | |
* was designed to test embedding, controlling and logging of applet-like NetLogo models. | |
* | |
* @author sfentress | |
* | |
*/ | |
public class NetLogoEmbedTest | |
{ | |
// Sample nlogo file. Path can be changed to location of model. | |
// Model loads, but CompilerException is thrown: "Nothing named SCENARIO has been defined..." | |
final String localModelLocation = System.getProperty("user.home")+"/Daisyworld.nlogo"; | |
// Sample online nlogo file. This does NOT work. | |
final String urlModelLocation = "http://udl.concord.org/share/models/netlogo/Daisyworld.nlogo"; | |
String modelLocation = localModelLocation; | |
// String modelLocation = urlModelLocation; // This does NOT work | |
public NetLogoEmbedTest(){ | |
final JFrame frame = createFrame(); | |
final InterfaceComponent app = new InterfaceComponent(frame); | |
EventQueue.invokeLater(new Runnable(){ | |
public void run() | |
{ | |
try { | |
JScrollPane scroll = new JScrollPane(app); | |
frame.getContentPane().add(scroll); | |
frame.pack(); | |
app.open(modelLocation); | |
frame.setVisible(true); | |
} catch (IOException e) { | |
e.printStackTrace(); | |
} catch (InvalidVersionException e) { | |
e.printStackTrace(); | |
} | |
}}); | |
} | |
public static JFrame createFrame(){ | |
JFrame frame = new JFrame("NetLogo Embedding Test"); | |
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); | |
frame.setPreferredSize(new Dimension(700,400)); | |
return frame; | |
} | |
public static void main(String[] args) | |
{ | |
NetLogoEmbedTest n = new NetLogoEmbedTest(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment