Я хотел бы поместить Oracle OutsideIn Java Viewer API (https://docs.oracle.com/outsidein/851/oit/OIJVD/index.html) в правую часть моего Java swing GUI. Есть идеи, как я мог это сделать? Пожалуйста, смотрите мой код приложения ниже.
Спасибо за помощь заранее.
package SB_Admin;
import java.awt.EventQueue;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JToolBar;
import java.awt.BorderLayout;
import javax.swing.JSplitPane;
import javax.swing.JTree;
import javax.swing.JTabbedPane;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.HashMap;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.DefaultMutableTreeNode;
import java.lang.*;
//import src.SBJ_Objects.*;
public class SB_Administrator {
/*
* This is the root of the objects created or fetched.
*/
// SB_Session sess = null;
// SB_Context ctx = null;
/*
* We are performing an administration service (-looks like a Navigator, but rooted in
* the Schema and object store for administration objects).)
*/
// SB_Service adminSvc = null;
private JFrame frame;
/**
* Launch the application Duh.
*/
public static void main(String[] args) {
/*
* ??? Load startup parameters from the args[] or from a file. (Load the file
* first and override with any command line args.
*/
String defStartParams = "AdminStart.xml";
/*
* ??? Need to create an XML parser to load attributes for constructors but we're cheating for now
*/
String adminParams = parseXML(defStartParams);
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
SB_Administrator window = new SB_Administrator();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
private static String parseXML(String defStartParams) {
// We're cheating for now
String params = "sb_ContName='com.staorbase.service.SB_AdminSvc'";
params += ";";
return params;
}
/**
* Create the application.
*/
public SB_Administrator() {
/*
* HashMap<String, Object> attrHM = new HashMap<String, Object>();
*
* // let's start with the creation of a test Context
*
* attrHM.clear(); attrHM.put("sb_CtxInfoSvc.sb_SvcName", "STAORbase-Homebase");
* attrHM.put("sb_CtxIsCreds.sb_CrduAccnt","TestUser1");
* attrHM.put("sb_CtxIsCreds.sb_CrduPswd","Testing1234");
*
* try { ctx = new SB_Context(attrHM, null); } catch (Exception e) { // //
* Complain...
* System.out.println("??? EXCEPTIONS encountered creating the Context!");
* e.printStackTrace(); }
*
* // If we successfully created the Context, there should be a SB_Session sess
* sess = SB_Session.SB_Sess_GetSession();
*
*/ // Now we can use the Session as the root to our Tree!
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
}
});
frame.setBounds(100, 100, 840, 545);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JMenuBar menuBar = new JMenuBar();
frame.setJMenuBar(menuBar);
JMenu mnFile = new JMenu("File");
menuBar.add(mnFile);
JMenuItem mntmConnect = new JMenuItem("Connect ...");
mntmConnect.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
SB_AdmLogin sb_Login_dlg = new SB_AdmLogin();
sb_Login_dlg.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
sb_Login_dlg.setVisible(true);
} catch (Exception elogin) {
elogin.printStackTrace();
}
}
});
mnFile.add(mntmConnect);
JMenuItem mntmDisconnect = new JMenuItem("Disconnect");
mntmDisconnect.setEnabled(false);
mnFile.add(mntmDisconnect);
JMenu mnEdit = new JMenu("Edit");
menuBar.add(mnEdit);
JMenu mnView = new JMenu("View");
menuBar.add(mnView);
JToolBar toolBar = new JToolBar();
frame.getContentPane().add(toolBar, BorderLayout.NORTH);
JSplitPane splitPane = new JSplitPane();
frame.getContentPane().add(splitPane, BorderLayout.CENTER);
JTree tree = new JTree();
tree.setModel(new DefaultTreeModel(
new DefaultMutableTreeNode("Session Object") {
// new DefaultMutableTreeNode(sess.sb_getSessId()) {
{
DefaultMutableTreeNode node_1;
DefaultMutableTreeNode node_2;
DefaultMutableTreeNode node_3;
DefaultMutableTreeNode node_4;
node_1 = new DefaultMutableTreeNode("Context:: Bob/SOFDL");
node_1.add(new DefaultMutableTreeNode("sb_CtxId"));
node_1.add(new DefaultMutableTreeNode("sb_CtxInfoSvc"));
node_2 = new DefaultMutableTreeNode("sb_CtxSchema");
node_3 = new DefaultMutableTreeNode("SB_Object");
node_3.add(new DefaultMutableTreeNode("sb_ObjParent"));
node_3.add(new DefaultMutableTreeNode("sb_ObjRefCnt"));
node_3.add(new DefaultMutableTreeNode("sb_ObjSISID"));
node_3.add(new DefaultMutableTreeNode("sb_ObjSOID"));
node_3.add(new DefaultMutableTreeNode("sb_ObjClass"));
node_3.add(new DefaultMutableTreeNode("sb_ObjAvail"));
node_3.add(new DefaultMutableTreeNode("sb_ObjState"));
node_3.add(new DefaultMutableTreeNode("sb_ObjCtx"));
node_3.add(new DefaultMutableTreeNode("sb_ObjIcon"));
node_3.add(new DefaultMutableTreeNode("sb_ObjHelp"));
node_3.add(new DefaultMutableTreeNode("sb_ObjUserInt"));
node_3.add(new DefaultMutableTreeNode("sb_ObjUserObj"));
node_3.add(new DefaultMutableTreeNode("sb_ObjRndrLst"));
node_4 = new DefaultMutableTreeNode("SB_Secure");
node_4.add(new DefaultMutableTreeNode("sb_SecOwnerId"));
node_4.add(new DefaultMutableTreeNode("sb_SecGroupId"));
node_4.add(new DefaultMutableTreeNode("sb_SecAccCode"));
node_4.add(new DefaultMutableTreeNode("sb_SecACL"));
node_4.add(new DefaultMutableTreeNode("SB_Registered"));
node_3.add(node_4);
node_2.add(node_3);
node_1.add(node_2);
node_1.add(new DefaultMutableTreeNode("sb_CtxIsCreds"));
node_1.add(new DefaultMutableTreeNode("sb_CtxUserProfile"));
node_1.add(new DefaultMutableTreeNode("sb_CtxISId"));
node_1.add(new DefaultMutableTreeNode("sb_CtxServices"));
node_1.add(new DefaultMutableTreeNode("sb_CtxFlags"));
add(node_1);
node_1 = new DefaultMutableTreeNode("Context:: Mary");
node_1.add(new DefaultMutableTreeNode("SchemaDb"));
node_1.add(new DefaultMutableTreeNode("Credentials"));
node_1.add(new DefaultMutableTreeNode("UserProfile"));
node_1.add(new DefaultMutableTreeNode("Services"));
add(node_1);
node_1 = new DefaultMutableTreeNode("Context::Admin");
node_1.add(new DefaultMutableTreeNode("SchemaDb"));
node_1.add(new DefaultMutableTreeNode("Credentials"));
node_1.add(new DefaultMutableTreeNode("UserProfile"));
node_1.add(new DefaultMutableTreeNode("Services"));
add(node_1);
}
}
));
// Get the root node of the tree
DefaultMutableTreeNode rootSess = (DefaultMutableTreeNode) tree.getModel().getRoot();
//rootSess.setUserObject(sess); // remember the Session in it
splitPane.setLeftComponent(tree);
JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
splitPane.setRightComponent(tabbedPane);
}
}
..................... .................................................. .................................................. .................................................. ..................