private void initGUI() { JPanel pCommand = new JPanel(); pResult = new JPanel(); nsSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, pCommand, pResult); pCommand.setLayout(new BorderLayout()); pResult.setLayout(new BorderLayout()); Font fFont = new Font("Dialog", Font.PLAIN, 12); txtCommand = new JTextArea(5, 40); txtCommand.setMargin(new Insets(5, 5, 5, 5)); txtCommand.addKeyListener(this); txtCommandScroll = new JScrollPane(txtCommand); txtResult = new JTextArea(20, 40); txtResult.setMargin(new Insets(5, 5, 5, 5)); txtResultScroll = new JScrollPane(txtResult); txtCommand.setFont(fFont); txtResult.setFont(new Font("Courier", Font.PLAIN, 12)); /* // button replaced by toolbar butExecute = new JButton("Execute"); butExecute.addActionListener(this); pCommand.add(butExecute, BorderLayout.EAST); */ pCommand.add(txtCommandScroll, BorderLayout.CENTER); gResult = new GridSwing(); gResultTable = new JTable(gResult); gScrollPane = new JScrollPane(gResultTable); // getContentPane().setLayout(new BorderLayout()); pResult.add(gScrollPane, BorderLayout.CENTER); // Set up the tree rootNode = new DefaultMutableTreeNode("Connection"); treeModel = new DefaultTreeModel(rootNode); tTree = new JTree(treeModel); tScrollPane = new JScrollPane(tTree); tScrollPane.setPreferredSize(new Dimension(120, 400)); tScrollPane.setMinimumSize(new Dimension(70, 100)); txtCommandScroll.setPreferredSize(new Dimension(360, 100)); txtCommandScroll.setMinimumSize(new Dimension(180, 100)); gScrollPane.setPreferredSize(new Dimension(460, 300)); ewSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, tScrollPane, nsSplitPane); fMain.getContentPane().add(ewSplitPane, BorderLayout.CENTER); doLayout(); fMain.pack(); }
public DynamicTree() { super(new GridLayout(1, 0)); rootNode = new JscTreeNode("Vitenfabrikken"); treeModel = new DefaultTreeModel(rootNode); tree = new JTree(treeModel); tree.setEditable(false); tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); tree.setShowsRootHandles(true); tree.addTreeSelectionListener(this); JPanel content = new JPanel(new BorderLayout(0, 0)); JScrollPane scrollPane = new JScrollPane(tree); scrollPane.setSize(500, 300); scrollPane.setBorder(BorderFactory.createTitledBorder("Maskiner")); content.add(scrollPane); // add(scrollPane); currentSelectionField = new JTextField("Valgt: NONE"); // currentSelectionField.setSize(500, 15); currentSelectionField.setMaximumSize(new Dimension(500, 15)); content.add(currentSelectionField, BorderLayout.SOUTH); // add(currentSelectionField); // content.setPreferredSize(new Dimension(500, 315)); add(content); setSize(500, 315); }
private void setupCentralPanel() { myCentralPanel.removeAll(); if (myUsagePreviewPanel != null) { Disposer.dispose(myUsagePreviewPanel); myUsagePreviewPanel = null; } JScrollPane pane = ScrollPaneFactory.createScrollPane(myTree); if (UsageViewSettings.getInstance().IS_PREVIEW_USAGES) { Splitter splitter = new Splitter(false, UsageViewSettings.getInstance().PREVIEW_USAGES_SPLITTER_PROPORTIONS); pane.putClientProperty(UIUtil.KEEP_BORDER_SIDES, SideBorder.RIGHT); splitter.setFirstComponent(pane); myUsagePreviewPanel = new UsagePreviewPanel(myProject); myUsagePreviewPanel.setBorder(IdeBorderFactory.createBorder(SideBorder.LEFT)); Disposer.register(this, myUsagePreviewPanel); splitter.setSecondComponent(myUsagePreviewPanel); myCentralPanel.add(splitter, BorderLayout.CENTER); } else { myCentralPanel.add(pane, BorderLayout.CENTER); } myCentralPanel.add(myButtonPanel, BorderLayout.SOUTH); myRootPanel.revalidate(); }
private void updateArchetypeDescription() { MavenArchetype sel = getSelectedArchetype(); String desc = sel == null ? null : sel.description; if (StringUtil.isEmptyOrSpaces(desc)) { myArchetypeDescriptionScrollPane.setVisible(false); } else { myArchetypeDescriptionScrollPane.setVisible(true); myArchetypeDescriptionField.setText(desc); } }
void addTextArea(JPanel panel, String key, String label) { JLabel lab = new JLabel(label); lab.setAlignmentX(LEFT_ALIGNMENT); panel.add(lab); JTextArea field = new JTextArea(); field.setText(sketch.configFile.get(key)); field.setLineWrap(true); field.setWrapStyleWord(true); fields.put(key, field); JScrollPane scroll = new JScrollPane(field); scroll.setAlignmentX(0.0f); panel.add(scroll); }
public MetalworksInBox() { super("In Box", true, true, true, true); DefaultMutableTreeNode unread; DefaultMutableTreeNode personal; DefaultMutableTreeNode business; DefaultMutableTreeNode spam; DefaultMutableTreeNode top = new DefaultMutableTreeNode("Mail Boxes"); top.add(unread = new DefaultMutableTreeNode("Unread Mail")); top.add(personal = new DefaultMutableTreeNode("Personal")); top.add(business = new DefaultMutableTreeNode("Business")); top.add(spam = new DefaultMutableTreeNode("Spam")); unread.add(new DefaultMutableTreeNode("Buy Stuff Now")); unread.add(new DefaultMutableTreeNode("Read Me Now")); unread.add(new DefaultMutableTreeNode("Hot Offer")); unread.add(new DefaultMutableTreeNode("Re: Re: Thank You")); unread.add(new DefaultMutableTreeNode("Fwd: Good Joke")); personal.add(new DefaultMutableTreeNode("Hi")); personal.add(new DefaultMutableTreeNode("Good to hear from you")); personal.add(new DefaultMutableTreeNode("Re: Thank You")); business.add(new DefaultMutableTreeNode("Thanks for your order")); business.add(new DefaultMutableTreeNode("Price Quote")); business.add(new DefaultMutableTreeNode("Here is the invoice")); business.add(new DefaultMutableTreeNode("Project Metal: delivered on time")); business.add(new DefaultMutableTreeNode("Your salary raise approved")); spam.add(new DefaultMutableTreeNode("Buy Now")); spam.add(new DefaultMutableTreeNode("Make $$$ Now")); spam.add(new DefaultMutableTreeNode("HOT HOT HOT")); spam.add(new DefaultMutableTreeNode("Buy Now")); spam.add(new DefaultMutableTreeNode("Don't Miss This")); spam.add(new DefaultMutableTreeNode("Opportunity in Precious Metals")); spam.add(new DefaultMutableTreeNode("Buy Now")); spam.add(new DefaultMutableTreeNode("Last Chance")); spam.add(new DefaultMutableTreeNode("Buy Now")); spam.add(new DefaultMutableTreeNode("Make $$$ Now")); spam.add(new DefaultMutableTreeNode("To Hot To Handle")); spam.add(new DefaultMutableTreeNode("I'm waiting for your call")); JTree tree = new JTree(top); JScrollPane treeScroller = new JScrollPane(tree); treeScroller.setBackground(tree.getBackground()); setContentPane(treeScroller); setSize(325, 200); setLocation(75, 75); }
public MsnTreeTest() { String[] tab = {"hello", "test", "blabla"}; container = getContentPane(); container.setLayout(null); eleve = new DefaultMutableTreeNode("MSN"); worker = new DefaultMutableTreeNode("Worker"); prof = new DefaultMutableTreeNode("Profs"); for (int i = 0; i < tab.length; i++) { worker.add(new DefaultMutableTreeNode(tab[i])); prof.add(new DefaultMutableTreeNode(tab[i])); } // worker.add(new DefaultMutableTreeNode("hello world2")); eleve.add(worker); eleve.add(prof); tree = new JTree(eleve); scroll = new JScrollPane(tree); scroll.setBounds(10, 10, 100, 100); container.add(scroll); setSize(300, 300); setLocation(200, 200); setDefaultCloseOperation(EXIT_ON_CLOSE); setVisible(true); // worker.add(n); }
public Dimension getMinimumSize(JComponent c) { if (sp != null) { return ((ScrollPaneLayout) sp.getLayout()).minimumLayoutSize(sp); } else { return new Dimension(100, 100); } }
@Override protected JComponent createCenterPanel() { JPanel panel = new JPanel(new BorderLayout()); // Toolbar DefaultActionGroup group = new DefaultActionGroup(); fillToolbarActions(group); group.addSeparator(); ExpandAllAction expandAllAction = new ExpandAllAction(); expandAllAction.registerCustomShortcutSet( new CustomShortcutSet( KeymapManager.getInstance() .getActiveKeymap() .getShortcuts(IdeActions.ACTION_EXPAND_ALL)), myTree); group.add(expandAllAction); CollapseAllAction collapseAllAction = new CollapseAllAction(); collapseAllAction.registerCustomShortcutSet( new CustomShortcutSet( KeymapManager.getInstance() .getActiveKeymap() .getShortcuts(IdeActions.ACTION_COLLAPSE_ALL)), myTree); group.add(collapseAllAction); panel.add( ActionManager.getInstance() .createActionToolbar(ActionPlaces.UNKNOWN, group, true) .getComponent(), BorderLayout.NORTH); // Tree expandFirst(); defaultExpandTree(); installSpeedSearch(); JScrollPane scrollPane = ScrollPaneFactory.createScrollPane(myTree); scrollPane.setPreferredSize(new Dimension(350, 450)); panel.add(scrollPane, BorderLayout.CENTER); return panel; }
public void installUI(JComponent c) { searchnav = (JHelpSearchNavigator) c; HelpModel helpmodel = searchnav.getModel(); searchnav.setLayout(new BorderLayout()); searchnav.addPropertyChangeListener(this); searchnav.addComponentListener(this); if (helpmodel != null) { helpmodel.addHelpModelListener(this); } JLabel search = new JLabel(HelpUtilities.getString(HelpUtilities.getLocale(c), "search.findLabel")); searchparams = new JTextField("", 20); search.setLabelFor(searchparams); searchparams.addActionListener(searchAction); JPanel box = new JPanel(); box.setLayout(new BoxLayout(box, BoxLayout.X_AXIS)); box.add(search); box.add(searchparams); searchnav.add("North", box); topNode = new DefaultMutableTreeNode(); lastTOCnode = null; tree = new JTree(topNode); // public String convertValueToText(Object val TreeSelectionModel tsm = tree.getSelectionModel(); tsm.addTreeSelectionListener(this); tree.setShowsRootHandles(false); tree.setRootVisible(false); sp = new JScrollPane(); sp.getViewport().add(tree); searchnav.add("Center", sp); reloadData(); }
@Override public boolean onStart() { window = new JFrame("Interface Explorer"); treeModel = new InterfaceTreeModel(); treeModel.update(""); tree = new JTree(treeModel); tree.setRootVisible(false); tree.setEditable(false); renderer = new HighlightTreeCellRenderer(tree.getCellRenderer()); tree.setCellRenderer(renderer); tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); tree.addTreeSelectionListener( new TreeSelectionListener() { private void addInfo(final String key, final String value, final boolean highlight) { final JPanel row = new JPanel(); row.setAlignmentX(Component.LEFT_ALIGNMENT); row.setLayout(new BoxLayout(row, BoxLayout.X_AXIS)); for (final String data : new String[] {key, value}) { final JLabel label = new JLabel(data); label.setAlignmentY(Component.TOP_ALIGNMENT); if (highlight) { label.setForeground(Color.magenta); } row.add(label); } infoArea.add(row); } public void valueChanged(final TreeSelectionEvent e) { final Object node = tree.getLastSelectedPathComponent(); if (node == null || node instanceof RSInterfaceWrap) { return; } infoArea.removeAll(); RSComponent iface = null; if (node instanceof RSComponentWrap) { iface = ((RSComponentWrap) node).wrapped; } if (iface == null) { return; } List<Integer> changes = new ArrayList<Integer>(); for (int i = 0; i < HighLightWraps.size(); i++) { if (iface.getParent() == null) { if (HighLightWraps.get(i).getChild().getIndex() == iface.getIndex() && HighLightWraps.get(i).getParent().getIndex() == iface.getInterface().getIndex()) { changes.add(HighLightWraps.get(i).getChange()); } } else { if (HighLightWraps.get(i).getChild().getIndex() == iface.getParent().getIndex() && HighLightWraps.get(i).getParent().getIndex() == iface.getParent().getInterface().getIndex()) { changes.add(HighLightWraps.get(i).getChange()); } } } addInfo("Type: ", "" + iface.getType(), changes.contains(1)); addInfo("SpecialType: ", "" + iface.getSpecialType(), changes.contains(2)); addInfo("Bounds Index: ", "" + iface.getBoundsArrayIndex(), changes.contains(3)); if (iface.getArea() != null) { Rectangle size = iface.getArea(); addInfo("Size: ", size.width + "," + size.height, changes.contains(15)); } addInfo("Model ID: ", "" + iface.getModelID(), changes.contains(4)); addInfo("Texture ID: ", "" + iface.getBackgroundColor(), changes.contains(5)); addInfo("Parent ID: ", "" + iface.getParentID(), changes.contains(6)); addInfo("Text: ", "" + iface.getText(), changes.contains(7)); addInfo("Tooltip: ", "" + iface.getTooltip(), changes.contains(8)); addInfo("SelActionName: ", "" + iface.getSelectedActionName(), changes.contains(9)); if (iface.getActions() != null) { String actions = ""; for (final String action : iface.getActions()) { if (!actions.equals("")) { actions += "\n"; } actions += action; } addInfo("Actions: ", actions, changes.contains(10)); } addInfo("Component ID: ", "" + iface.getComponentID(), changes.contains(11)); addInfo( "Component Stack Size: ", "" + iface.getComponentStackSize(), changes.contains(12)); addInfo( "Relative Location: ", "(" + iface.getRelativeX() + "," + iface.getRelativeY() + ")", changes.contains(13)); addInfo( "Absolute Location: ", "(" + iface.getAbsoluteX() + "," + iface.getAbsoluteY() + ")", changes.contains(14)); addInfo( "Rotation: ", "x: " + iface.getXRotation() + " y: " + iface.getYRotation() + " z: " + iface.getZRotation(), changes.contains(16)); setHighlightArea(iface.getArea()); infoArea.validate(); infoArea.repaint(); } }); final JDialog Help = new JDialog(); JScrollPane jScrollPane1; JTextArea jTextArea1; jScrollPane1 = new JScrollPane(); jTextArea1 = new JTextArea(); Help.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); Help.setTitle("Help"); Help.setResizable(false); jTextArea1.setColumns(20); jTextArea1.setEditable(false); jTextArea1.setFont(new java.awt.Font("MS UI Gothic", 0, 12)); jTextArea1.setLineWrap(true); jTextArea1.setRows(5); jTextArea1.setText( "Once toggled the listener feature of the interface explorer will detect any changes made to Runescapes interfaces in realtime. If a change is found that interface and data will then be highlighted within the explorers tree model. To use the listener feature you would :\n\n1) Toggle the listener button as active\n2) Wait or commit changes in Runescape\n3) Repaint tree using repaint button or reclick interface folders in GUI\n\n\nTips : While listening for changes the tree model in the GUI will not update itself, changing colors. To refresh the GUI either use the repaint button or close and open Interface folder already within the tree model."); jTextArea1.setWrapStyleWord(true); jScrollPane1.setViewportView(jTextArea1); final GroupLayout layout = new GroupLayout(Help.getContentPane()); Help.getContentPane().setLayout(layout); layout.setHorizontalGroup( layout .createParallelGroup(GroupLayout.Alignment.LEADING) .addGroup( layout .createSequentialGroup() .addContainerGap() .addComponent(jScrollPane1, GroupLayout.DEFAULT_SIZE, 348, Short.MAX_VALUE) .addContainerGap())); layout.setVerticalGroup( layout .createParallelGroup(GroupLayout.Alignment.LEADING) .addGroup( layout .createSequentialGroup() .addContainerGap() .addComponent( jScrollPane1, GroupLayout.PREFERRED_SIZE, 220, GroupLayout.PREFERRED_SIZE) .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); Help.pack(); JScrollPane scrollPane = new JScrollPane(tree); scrollPane.setPreferredSize(new Dimension(250, 500)); window.add(scrollPane, BorderLayout.WEST); infoArea = new JPanel(); infoArea.setLayout(new BoxLayout(infoArea, BoxLayout.Y_AXIS)); scrollPane = new JScrollPane(infoArea); scrollPane.setPreferredSize(new Dimension(250, 500)); window.add(scrollPane, BorderLayout.CENTER); final ActionListener actionListener = new ActionListener() { public void actionPerformed(final ActionEvent e) { treeModel.update(searchBox.getText()); infoArea.removeAll(); infoArea.validate(); infoArea.repaint(); } }; final ActionListener toggleListener = new ActionListener() { public void actionPerformed(final ActionEvent e) { if (listenerButton.isSelected()) { log("Cleared"); HighLightWraps.clear(); } check(); } }; final ActionListener repaintListener = new ActionListener() { public void actionPerformed(final ActionEvent e) { log("Refreshed Tree"); treeModel.fireTreeStructureChanged(treeModel.getRoot()); infoArea.removeAll(); infoArea.validate(); infoArea.repaint(); } }; final ActionListener helpListener = new ActionListener() { public void actionPerformed(final ActionEvent e) { Help.setVisible(true); } }; final JPanel toolArea = new JPanel(); toolArea.setLayout(new FlowLayout(FlowLayout.LEFT)); toolArea.add(new JLabel("Filter:")); searchBox = new JTextField(20); searchBox.addActionListener(actionListener); toolArea.add(searchBox); final JButton updateButton = new JButton("Update"); final JButton repaintButton = new JButton("Repaint"); final JButton helpButton = new JButton("Help"); helpButton.addActionListener(helpListener); listenerButton.addActionListener(toggleListener); updateButton.addActionListener(actionListener); repaintButton.addActionListener(repaintListener); toolArea.add(updateButton); toolArea.add(listenerButton); toolArea.add(repaintButton); toolArea.add(helpButton); window.add(toolArea, BorderLayout.NORTH); window.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE); window.pack(); window.setVisible(true); return true; }
public DOMTreeView(Document dom) { super("TreeWalkerView "); document = dom; // jtree UI setup jtree = new DOMTreeFull((Node) document); jtree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); // Listen for when the selection changes, call nodeSelected(node) jtree.addTreeSelectionListener( new TreeSelectionListener() { public void valueChanged(TreeSelectionEvent e) { TreePath path = (TreePath) e.getPath(); TreeNode treeNode = (TreeNode) path.getLastPathComponent(); if (jtree.getSelectionModel().isPathSelected(path)) nodeSelected(treeNode); } }); treeScroll = new JScrollPane(jtree); treeScroll.setBorder( BorderFactory.createCompoundBorder( BorderFactory.createTitledBorder("DOM Tree View"), BorderFactory.createEmptyBorder(4, 4, 4, 4))); JPanel urlPanel = new JPanel(); JLabel urlLabel = new JLabel("URL:"); urlTextField = new JTextField(50); urlTextField.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent evt) { Object source = evt.getSource(); if (source == urlTextField) { reloadJTree(urlTextField.getText()); } } }); urlPanel.add(urlLabel); urlPanel.add(urlTextField); JPanel selectedXPathPanel = new JPanel(); JLabel xpathLabel = new JLabel("XPath: "); selectedXPathTextField = new JTextField(50); selectedXPathTextField.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent evt) { Object source = evt.getSource(); if (source == selectedXPathTextField) { lookupByXPath(selectedXPathTextField.getText()); } } }); selectedXPathPanel.add(xpathLabel); selectedXPathPanel.add(selectedXPathTextField); JPanel lookupPanel = new JPanel(); JLabel lookupLabel = new JLabel("look up:"); lookupTextField = new JTextField(20); lookupTextField.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent evt) { Object source = evt.getSource(); if (source == lookupTextField) { lookup(lookupTextField.getText()); } } }); foundList = new JList(); foundList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); foundList.addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent evt) { Object source = evt.getSource(); if (source == foundList) { FoundItem fi = (FoundItem) foundList.getSelectedValue(); if (fi == null) return; jtree.setSelectionPath(fi.treePath); jtree.scrollPathToVisible(fi.treePath); } } }); JScrollPane foundScroll = new JScrollPane(foundList); foundScroll.setBorder( BorderFactory.createCompoundBorder( BorderFactory.createTitledBorder("Nodes found"), BorderFactory.createEmptyBorder(4, 4, 4, 4))); // foundScroll.set JPanel queryPanel = new JPanel(); queryPanel.add(lookupLabel); queryPanel.add(lookupTextField); lookupPanel.setLayout(new BorderLayout()); lookupPanel.add(queryPanel, BorderLayout.NORTH); lookupPanel.add(foundScroll, BorderLayout.CENTER); JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, treeScroll, lookupPanel); splitPane.setContinuousLayout(true); splitPane.setOneTouchExpandable(true); splitPane.setDividerLocation(400); JPanel mainPanel = new JPanel(); mainPanel.setLayout(new BorderLayout()); mainPanel.add(urlPanel, BorderLayout.NORTH); mainPanel.add(selectedXPathPanel, BorderLayout.SOUTH); mainPanel.add(splitPane, BorderLayout.CENTER); // mainPanel.add(treeScroll, BorderLayout.CENTER); // mainPanel.add(lookupPanel, BorderLayout.EAST); getContentPane().add(mainPanel); }
/** * Constructs a X509 certificate panel. * * @param certificates <tt>X509Certificate</tt> objects */ public X509CertificatePanel(Certificate[] certificates) { setLayout(new BorderLayout(5, 5)); // Certificate chain list TransparentPanel topPanel = new TransparentPanel(new BorderLayout()); topPanel.add( new JLabel( "<html><body><b>" + R.getI18NString("service.gui.CERT_INFO_CHAIN") + "</b></body></html>"), BorderLayout.NORTH); DefaultMutableTreeNode top = new DefaultMutableTreeNode(); DefaultMutableTreeNode previous = top; for (int i = certificates.length - 1; i >= 0; i--) { Certificate cert = certificates[i]; DefaultMutableTreeNode next = new DefaultMutableTreeNode(cert); previous.add(next); previous = next; } JTree tree = new JTree(top); tree.setBorder(new BevelBorder(BevelBorder.LOWERED)); tree.setRootVisible(false); tree.setExpandsSelectedPaths(true); tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); tree.setCellRenderer( new DefaultTreeCellRenderer() { @Override public Component getTreeCellRendererComponent( JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) { JLabel component = (JLabel) super.getTreeCellRendererComponent( tree, value, sel, expanded, leaf, row, hasFocus); if (value instanceof DefaultMutableTreeNode) { Object o = ((DefaultMutableTreeNode) value).getUserObject(); if (o instanceof X509Certificate) { component.setText(getSimplifiedName((X509Certificate) o)); } else { // We don't know how to represent this certificate type, // let's use the first 20 characters String text = o.toString(); if (text.length() > 20) { text = text.substring(0, 20); } component.setText(text); } } return component; } }); tree.getSelectionModel() .addTreeSelectionListener( new TreeSelectionListener() { @Override public void valueChanged(TreeSelectionEvent e) { valueChangedPerformed(e); } }); tree.setSelectionPath( new TreePath((((DefaultTreeModel) tree.getModel()).getPathToRoot(previous)))); topPanel.add(tree, BorderLayout.CENTER); add(topPanel, BorderLayout.NORTH); // Certificate details pane Caret caret = infoTextPane.getCaret(); if (caret instanceof DefaultCaret) { ((DefaultCaret) caret).setUpdatePolicy(DefaultCaret.NEVER_UPDATE); } /* * Make JEditorPane respect our default font because we will be using it * to just display text. */ infoTextPane.putClientProperty(JEditorPane.HONOR_DISPLAY_PROPERTIES, true); infoTextPane.setOpaque(false); infoTextPane.setEditable(false); infoTextPane.setContentType("text/html"); infoTextPane.setText(toString(certificates[0])); final JScrollPane certScroll = new JScrollPane(infoTextPane); certScroll.setPreferredSize(new Dimension(300, 500)); add(certScroll, BorderLayout.CENTER); }
// {{{ HyperSearchResults constructor public HyperSearchResults(View view) { super(new BorderLayout()); this.view = view; caption = new JLabel(); Box toolBar = new Box(BoxLayout.X_AXIS); toolBar.add(caption); toolBar.add(Box.createGlue()); ActionHandler ah = new ActionHandler(); highlight = new RolloverButton(); highlight.setToolTipText(jEdit.getProperty("hypersearch-results.highlight.label")); highlight.addActionListener(ah); toolBar.add(highlight); clear = new RolloverButton( GUIUtilities.loadIcon(jEdit.getProperty("hypersearch-results.clear.icon"))); clear.setToolTipText(jEdit.getProperty("hypersearch-results.clear.label")); clear.addActionListener(ah); toolBar.add(clear); multi = new RolloverButton(); multi.setToolTipText(jEdit.getProperty("hypersearch-results.multi.label")); multi.addActionListener(ah); toolBar.add(multi); stop = new RolloverButton( GUIUtilities.loadIcon(jEdit.getProperty("hypersearch-results.stop.icon"))); stop.setToolTipText(jEdit.getProperty("hypersearch-results.stop.label")); stop.addActionListener(ah); toolBar.add(stop); stop.setEnabled(false); add(BorderLayout.NORTH, toolBar); resultTreeRoot = new DefaultMutableTreeNode(); resultTreeModel = new DefaultTreeModel(resultTreeRoot); resultTree = new HighlightingTree(resultTreeModel); resultTree.setToolTipText(null); resultTree.setCellRenderer(new ResultCellRenderer()); resultTree.setVisibleRowCount(16); resultTree.setRootVisible(false); resultTree.setShowsRootHandles(true); // the ESCAPE keystroke is assigned to hideTip action by swing // it breaks the action usually assigned to close-docking-area by jEdit, // so we remove this keystroke binding bug #1955140 KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0); resultTree.getInputMap().remove(keyStroke); // looks bad with the OS X L&F, apparently... if (!OperatingSystem.isMacOSLF()) resultTree.putClientProperty("JTree.lineStyle", "Angled"); resultTree.setEditable(false); resultTree.addKeyListener(new KeyHandler()); resultTree.addMouseListener(new MouseHandler()); JScrollPane scrollPane = new JScrollPane(resultTree); Dimension dim = scrollPane.getPreferredSize(); dim.width = 400; scrollPane.setPreferredSize(dim); add(BorderLayout.CENTER, scrollPane); resultTree.setTransferHandler(new ResultTreeTransferHandler()); } // }}}
/* Clear all existing nodes from the tree model and rebuild from scratch. */ protected void refreshTree() { DefaultMutableTreeNode propertiesNode; DefaultMutableTreeNode leaf; // First clear the existing tree by simply enumerating // over the root node's children and removing them one by one. while (treeModel.getChildCount(rootNode) > 0) { DefaultMutableTreeNode child = (DefaultMutableTreeNode) treeModel.getChild(rootNode, 0); treeModel.removeNodeFromParent(child); child.removeAllChildren(); child.removeFromParent(); } treeModel.nodeStructureChanged(rootNode); treeModel.reload(); tScrollPane.repaint(); // Now rebuild the tree below its root try { // Start by naming the root node from its URL: rootNode.setUserObject(dMeta.getURL()); // get metadata about user tables by building a vector of table names String usertables[] = {"TABLE", "GLOBAL TEMPORARY", "VIEW"}; ResultSet result = dMeta.getTables(null, null, null, usertables); Vector tables = new Vector(); // sqlbob@users Added remarks. Vector remarks = new Vector(); while (result.next()) { tables.addElement(result.getString(3)); remarks.addElement(result.getString(5)); } result.close(); // For each table, build a tree node with interesting info for (int i = 0; i < tables.size(); i++) { String name = (String) tables.elementAt(i); DefaultMutableTreeNode tableNode = makeNode(name, rootNode); ResultSet col = dMeta.getColumns(null, null, name, null); // sqlbob@users Added remarks. String remark = (String) remarks.elementAt(i); if ((remark != null) && !remark.trim().equals("")) { makeNode(remark, tableNode); } // With a child for each column containing pertinent attributes while (col.next()) { String c = col.getString(4); DefaultMutableTreeNode columnNode = makeNode(c, tableNode); String type = col.getString(6); makeNode("Type: " + type, columnNode); boolean nullable = col.getInt(11) != DatabaseMetaData.columnNoNulls; makeNode("Nullable: " + nullable, columnNode); } col.close(); DefaultMutableTreeNode indexesNode = makeNode("Indices", tableNode); ResultSet ind = dMeta.getIndexInfo(null, null, name, false, false); String oldiname = null; // A child node to contain each index - and its attributes while (ind.next()) { DefaultMutableTreeNode indexNode = null; boolean nonunique = ind.getBoolean(4); String iname = ind.getString(6); if ((oldiname == null || !oldiname.equals(iname))) { indexNode = makeNode(iname, indexesNode); makeNode("Unique: " + !nonunique, indexNode); oldiname = iname; } // And the ordered column list for index components makeNode(ind.getString(9), indexNode); } ind.close(); } // Finally - a little additional metadata on this connection propertiesNode = makeNode("Properties", rootNode); makeNode("User: "******"ReadOnly: " + cConn.isReadOnly(), propertiesNode); makeNode("AutoCommit: " + cConn.getAutoCommit(), propertiesNode); makeNode("Driver: " + dMeta.getDriverName(), propertiesNode); makeNode("Product: " + dMeta.getDatabaseProductName(), propertiesNode); makeNode("Version: " + dMeta.getDatabaseProductVersion(), propertiesNode); } catch (SQLException se) { propertiesNode = makeNode("Error getting metadata:", rootNode); makeNode(se.getMessage(), propertiesNode); makeNode(se.getSQLState(), propertiesNode); } treeModel.nodeStructureChanged(rootNode); treeModel.reload(); tScrollPane.repaint(); }
/** Construct a new Help panel */ public HelpPanel() { // Try to build our help tree, keeping an eye out for malformed URLs try { // root node top = new DefaultMutableTreeNode(new HelpItem("MIDIMatrix", "top")); // matrices node category = new DefaultMutableTreeNode(new HelpItem("Matrices", "matrices")); top.add(category); category.add(new DefaultMutableTreeNode(new HelpItem("Note Entry", "matrices-noteentry"))); category.add( new DefaultMutableTreeNode( new HelpItem("Pitches, volume, and instruments", "matrices-metadata"))); category.add(new DefaultMutableTreeNode(new HelpItem("Playback", "matrices-playback"))); // sequences node category = new DefaultMutableTreeNode(new HelpItem("Sequences", "sequences")); top.add(category); category.add( new DefaultMutableTreeNode(new HelpItem("Parts of a sequence", "sequences-parts"))); category.add( new DefaultMutableTreeNode( new HelpItem("Constructing a sequence", "sequences-construction"))); category.add(new DefaultMutableTreeNode(new HelpItem("Playback", "sequences-playback"))); // controls node category = new DefaultMutableTreeNode(new HelpItem("Controls", "controls")); top.add(category); category.add( new DefaultMutableTreeNode(new HelpItem("MIDI devices", "controls-mididevices"))); category.add(new DefaultMutableTreeNode(new HelpItem("Saving", "controls-saving"))); // about node category = new DefaultMutableTreeNode(new HelpItem("About", "about")); top.add(category); category.add(new DefaultMutableTreeNode(new HelpItem("Author", "about-author"))); category.add(new DefaultMutableTreeNode(new HelpItem("License", "about-license"))); // javadoc node // category = new DefaultMutableTreeNode(new HelpItem("JavaDoc", base + "javadoc/")); // top.add(category); } catch (MalformedURLException e) { top = new DefaultMutableTreeNode("ERROR"); } helpTree = new JTree(top); helpTree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); helpTree.addTreeSelectionListener( new TreeSelectionListener() { public void valueChanged(TreeSelectionEvent e) { DefaultMutableTreeNode node = (DefaultMutableTreeNode) helpTree.getLastSelectedPathComponent(); if (node == null) { return; } // try { helpPane.scrollToReference(((HelpItem) node.getUserObject()).getHash()); /*} catch (IOException exc) { JOptionPane.showMessageDialog( null, "There was a problem fetching the help page " + exc.getMessage() + "\n" + "Make sure you're connected to the internet before continuing", "Help Oops!", JOptionPane.ERROR_MESSAGE, null); }*/ } }); treePane = new JScrollPane(helpTree); treePane.setPreferredSize(new Dimension(200, 750)); helpPane = new JEditorPane(); scroller = new JScrollPane(helpPane); helpPane.setEditable(false); helpPane.setPreferredSize(new Dimension(550, 750)); helpPane.addHyperlinkListener( new HyperlinkListener() { public void hyperlinkUpdate(HyperlinkEvent e) { if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { JEditorPane pane = (JEditorPane) e.getSource(); if (e instanceof HTMLFrameHyperlinkEvent) { HTMLFrameHyperlinkEvent evt = (HTMLFrameHyperlinkEvent) e; HTMLDocument doc = (HTMLDocument) pane.getDocument(); doc.processHTMLFrameHyperlinkEvent(evt); if (e.getDescription().indexOf("#") != -1) { System.err.println("Found anchor"); pane.scrollToReference( e.getDescription().substring(e.getDescription().indexOf("#"))); } } else { try { pane.setPage(e.getURL()); } catch (Throwable t) { t.printStackTrace(); } } } } }); try { helpPane.setPage(HelpPanel.class.getResource("help.xhtml")); } catch (IOException e) { helpPane.setText("Couldn't fetch help page, sorry! " + e.getMessage()); } content = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT); content.add(treePane); content.add(scroller); add(content); }