Help with building a JTree using tree node and node renderers

Hi,
I am having a few problems with JTree's. basically I want to build JTree from a web spider. The webspide searches a website checking links and stores the current url that is being processed as a string in the variable msg. I wan to use this variable to build a JTree in a new class and then add it to my GUI. I have created a tree node class and a renderer node class, these classes are built fine. can someone point me in the direction for actually using these to build my tree in a seperate class and then displaying it in a GUI class?
*nodeRenderer.java
import javax.swing.*;
import javax.swing.tree.*;
import java.awt.*;
import java.net.*;
public class nodeRenderer extends DefaultTreeCellRenderer
                                   implements TreeCellRenderer
public static Icon icon= null;
public nodeRenderer() {
icon = new ImageIcon(getClass().getResource("icon.gif"));
public Component getTreeCellRendererComponent(
JTree tree,
Object value,
boolean sel,
boolean expanded,
boolean leaf,
int row,
boolean hasFocus) {
super.getTreeCellRendererComponent(
tree, value, sel,
expanded, leaf, row,
hasFocus);
treeNode node = (treeNode)(((DefaultMutableTreeNode)value).getUserObject());
if(icon != null) // set a custom icon
setOpenIcon(icon);
setClosedIcon(icon);
setLeafIcon(icon);
     return this;
*treeNode.java
*this is the class to represent a node
import javax.swing.*;
import javax.swing.tree.*;
import java.util.*;
import java.net.*;
* Class used to hold information about a web site that has
* been searched by the spider class
public class treeNode
*Url from the WebSpiderController Class
*that is currently being processed
public String msg;
treeNode(String urlText)
     msg = urlText;
String getUrlText()
     return msg;
//gui.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.tree.*;
import java.net.*;
import java.io.*;
import java.util.*;
public class gui extends JFrame implements Runnable
     *declare variable, boolean
     *thread, a object and a center
     *pane
     protected URL urlInput;
     protected Thread bgThread;
     protected boolean run = false;
     protected WebSpider webSpider;
     public gui()
          *create the gui here
          setTitle("Testing Tool");
     setSize(600,600);
     //add Buttons to the tool bar
     start.setText("Start");
     start.setActionCommand("Start");
     toolBar.add(start);
     ButtonListener startListener = new ButtonListener();
          start.addActionListener(startListener);
          cancel.setText("Cancel");
     cancel.setActionCommand("Cancel");
     toolBar.add(cancel);
     ButtonListener cancelListener = new ButtonListener();
          cancel.addActionListener(cancelListener);
          close.setText("Close");
     close.setActionCommand("Close");
     toolBar.add(close);
     ButtonListener closeListener = new ButtonListener();
          close.addActionListener(closeListener);
          //creat a simple form
          urlLabel.setText("Enter URL:");
          urlLabel.setBounds(100,36,288,24);
          formTab.add(urlLabel);
          url.setBounds(170,36,288,24);
          formTab.add(url);
          current.setText("Currently Processing: ");
          current.setBounds(100,80,288,24);
          formTab.add(current);
     //add scroll bars to the error messages screen and website structure
     errorPane.setAutoscrolls(true);
     errorPane.setHorizontalScrollBarPolicy(javax.swing.
     ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
     errorPane.setVerticalScrollBarPolicy(javax.swing.
     ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
     errorPane.setOpaque(true);
     errorTab.add(errorPane);
     errorPane.setBounds(0,0,580,490);
     errorText.setEditable(false);
     errorPane.getViewport().add(errorText);
     errorText.setBounds(0,0,600,550);
     treePane.setAutoscrolls(true);
     treePane.setHorizontalScrollBarPolicy(javax.swing.
     ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
     treePane.setVerticalScrollBarPolicy(javax.swing.
     ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
     treePane.setOpaque(true);
     treeTab.add(treePane);
     treePane.setBounds(0,0,580,490);
     treeText.setEditable(false);
     treePane.getViewport().add(treeText);
     treeText.setBounds(0,0,600,550);
     //create the tabbed window           
centerPane.setBorder(new javax.swing.border.EtchedBorder());
formTab.setLayout(null);
errorTab.setLayout(null);
treeTab.setLayout(null);
centerPane.addTab("Search Parameters", formTab);
centerPane.addTab("Error Messages", errorTab);
centerPane.addTab("Website Structure", treeTab);
          //add the tool bar and tabbed pane
          getContentPane().add(toolBar, java.awt.BorderLayout.NORTH);
getContentPane().add(centerPane, java.awt.BorderLayout.CENTER);                    
          *create the tool bar pane, a center pane, add the buttons,
          *labels, tabs, a text field for user input here
          javax.swing.JPanel toolBar = new javax.swing.JPanel();
          javax.swing.JButton start = new javax.swing.JButton();
          javax.swing.JButton cancel = new javax.swing.JButton();
          javax.swing.JButton close = new javax.swing.JButton();      
          javax.swing.JTabbedPane centerPane = new javax.swing.JTabbedPane();
          javax.swing.JPanel formTab = new javax.swing.JPanel();
          javax.swing.JLabel urlLabel = new javax.swing.JLabel();
          javax.swing.JLabel current = new javax.swing.JLabel();
          javax.swing.JTextField url = new javax.swing.JTextField();
          javax.swing.JPanel errorTab = new javax.swing.JPanel();
          javax.swing.JTextArea errorText = new javax.swing.JTextArea();
          javax.swing.JScrollPane errorPane = new javax.swing.JScrollPane();
          javax.swing.JPanel treeTab = new javax.swing.JPanel();
          javax.swing.JTextArea treeText = new javax.swing.JTextArea();
          javax.swing.JScrollPane treePane = new javax.swing.JScrollPane();
          javax.swing.JTree searchTree = new javax.swing.JTree();
          *show the gui
          public static void main(String args[])
          (new gui()).setVisible(true);
     *listen for the button presses and set the
     *boolean flag depending on which button is pressed
     class ButtonListener implements ActionListener
          public void actionPerformed(ActionEvent event)
               Object object = event.getSource();
               if (object == start)
                    run = true;
                    startActionPerformed(event);
               if (object == cancel)
                    run = false;
                    startActionPerformed(event);
               if (object == close)
                    System.exit(0);
     *this method is called when the start or
     *cancel button is pressed.
     void startActionPerformed (ActionEvent event)
          if (run == true && bgThread == null)
               bgThread = new Thread(this);
               bgThread.start();
          if (run == false && bgThread != null)
               webSpider.cancel();
     *this mehtod will start the background thred.
     *the background thread is required so that the
     *GUI is still displayed
     public void run()
          try
               webSpider = new WebSpider(this);
               webSpider.clear();
               urlInput = new URL(url.getText());
               webSpider.addURL(urlInput);
               webSpider.run();
               bgThread=null;
          catch (MalformedURLException e)
               addressError addErr = new addressError();
               addErr.addMsg = "URL ERROR - PLEASE CHECK";
               SwingUtilities.invokeLater(addErr);
          *this method is called by the web spider
          *once a url is found. Validation of navigation
          *happens here.
          public boolean urlFound(URL urlInput,URL url)
               CurrentlyProcessing pro = new CurrentlyProcessing();
          pro.msg = url.toString();
          SwingUtilities.invokeLater(pro);
          if (!testLink(url))
                    navigationError navErr = new navigationError();
                    navErr.navMsg = "Broken Link "+url+" caused on "+urlInput+"\n";
                    return false;
          if (!url.getHost().equalsIgnoreCase(urlInput.getHost()))
               return false;
          else
               return true;
          *this method is called internally to check
     *that a link works
          protected boolean testLink(URL url)
          try
               URLConnection connection = url.openConnection();
               connection.connect();
               return true;
          catch (IOException e)
               return false;
     *this method is called when an error is
     *found.
          public void URLError(URL url)
          *this method is called when an email
          *address is found
          public void emailFound(String email)
          /*this method will update any errors found inc
          *address errors and broken links
          class addressError implements Runnable
               public String addMsg;
               public void run()
                    errorText.append(addMsg);
                    current.setText("Currently Processing: "+ addMsg);
          class navigationError implements Runnable
               public String navMsg;
               public void run()
                    errorText.append(navMsg);
          *this method will update the currently
          *processing field on the GUI
          class CurrentlyProcessing implements Runnable
          public String msg;
          public void run()
               current.setText("Currently Processing: " + msg );
//webspider.java
import java.util.*;
import java.net.*;
import java.io.*;
import javax.swing.text.*;
import javax.swing.text.html.*;
import javax.swing.tree.*;
import javax.swing.*;
*this class implements the spider.
public class WebSpider extends HTMLEditorKit
     *make a collection of the URL's
     protected Collection urlErrors = new ArrayList(3);
     protected Collection urlsWaiting = new ArrayList(3);
     protected Collection urlsProcessed = new ArrayList(3);
     //report URL's to this class
     protected gui report;
     *this flag will indicate whether the process
     *is to be cancelled
     protected boolean cancel = false;
     *The constructor
     *report the urls to the wui class
     public WebSpider(gui report)
     this.report = report;
     *get the urls from the above declared
     *collections
     public Collection getUrlErrors()
     return urlErrors;
     public Collection getUrlsWaiting()
     return urlsWaiting;
     public Collection getUrlsProcessed()
     return urlsProcessed;
     * Clear all of the collections.
     public void clear()
     getUrlErrors().clear();
     getUrlsWaiting().clear();
     getUrlsProcessed().clear();
     *Set a flag that will cause the begin
     *method to return before it is done.
     public void cancel()
     cancel = true;
     *add the entered url for porcessing
     public void addURL(URL url)
     if (getUrlsWaiting().contains(url))
          return;
     if (getUrlErrors().contains(url))
          return;
     if (getUrlsProcessed().contains(url))
          return;
     /*WRITE TO LOG FILE*/
     log("Adding to workload: " + url );
     getUrlsWaiting().add(url);
     *process a url
     public void processURL(URL url)
     try
          /*WRITE TO LOGFILE*/
          log("Processing: " + url );
          // get the URL's contents
          URLConnection connection = url.openConnection();
          if ((connection.getContentType()!=null) &&
     !connection.getContentType().toLowerCase().startsWith("text/"))
          getUrlsWaiting().remove(url);
          getUrlsProcessed().add(url);
          log("Not processing because content type is: " +
     connection.getContentType() );
               return;
     // read the URL
     InputStream is = connection.getInputStream();
     Reader r = new InputStreamReader(is);
     // parse the URL
     HTMLEditorKit.Parser parse = new HTMLParse().getParser();
     parse.parse(r,new Parser(url),true);
catch (IOException e)
     getUrlsWaiting().remove(url);
     getUrlErrors().add(url);
     log("Error: " + url );
     report.URLError(url);
     return;
// mark URL as complete
getUrlsWaiting().remove(url);
getUrlsProcessed().add(url);
log("Complete: " + url );
*start the spider
public void run()
cancel = false;
while (!getUrlsWaiting().isEmpty() && !cancel)
     Object list[] = getUrlsWaiting().toArray();
     for (int i=0;(i<list.length)&&!cancel;i++)
     processURL((URL)list);
* A HTML parser callback used by this class to detect links
protected class Parser extends HTMLEditorKit.ParserCallback
protected URL urlInput;
public Parser(URL urlInput)
this.urlInput = urlInput;
public void handleSimpleTag(HTML.Tag t,MutableAttributeSet a,int pos)
String href = (String)a.getAttribute(HTML.Attribute.HREF);
if((href==null) && (t==HTML.Tag.FRAME))
href = (String)a.getAttribute(HTML.Attribute.SRC);
if (href==null)
return;
int i = href.indexOf('#');
if (i!=-1)
href = href.substring(0,i);
if (href.toLowerCase().startsWith("mailto:"))
report.emailFound(href);
return;
handleLink(urlInput,href);
public void handleStartTag(HTML.Tag t,MutableAttributeSet a,int pos)
handleSimpleTag(t,a,pos); // handle the same way
protected void handleLink(URL urlInput,String str)
try
     URL url = new URL(urlInput,str);
if (report.urlFound(urlInput,url))
addURL(url);
catch (MalformedURLException e)
log("Found malformed URL: " + str);
*log the information of the spider
public void log(String entry)
System.out.println( (new Date()) + ":" + entry );
I have a seperate class for parseing the HTML. Any help would be greatly appreciated
mrv

Hi Sorry to be a pain again,
I have re worked the gui class so it looks like this now:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.tree.*;
import javax.swing.event.*;
import java.net.*;
import java.io.*;
import java.util.*;
public class gui extends JFrame implements Runnable
     *declare variable, boolean
     *thread, a object and a center
     *pane
     protected URL urlInput;
     protected Thread bgThread;
     protected boolean run = false;
     protected WebSpider webSpider;
     public String msgInfo;
     public String brokenUrl;
     public String goodUrl;
     public String deadUrl;
     protected DefaultMutableTreeNode rootNode;
protected DefaultTreeModel treeModel;
     public gui()
          *create the gui here
          setTitle("Testing Tool");
     setSize(600,600);
     //add Buttons to the tool bar
     start.setText("Start");
     start.setActionCommand("Start");
     toolBar.add(start);
     ButtonListener startListener = new ButtonListener();
          start.addActionListener(startListener);
          cancel.setText("Cancel");
     cancel.setActionCommand("Cancel");
     toolBar.add(cancel);
     ButtonListener cancelListener = new ButtonListener();
          cancel.addActionListener(cancelListener);
          close.setText("Close");
     close.setActionCommand("Close");
     toolBar.add(close);
     ButtonListener closeListener = new ButtonListener();
          close.addActionListener(closeListener);
          //creat a simple form
          urlLabel.setText("Enter URL:");
          urlLabel.setBounds(100,36,288,24);
          formTab.add(urlLabel);
          url.setBounds(170,36,288,24);
          formTab.add(url);
          current.setText("Currently Processing: ");
          current.setBounds(100,80,288,24);
          formTab.add(current);
     //add scroll bars to the error messages screen and website structure
     errorPane.setAutoscrolls(true);
     errorPane.setHorizontalScrollBarPolicy(javax.swing.
     ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
     errorPane.setVerticalScrollBarPolicy(javax.swing.
     ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
     errorPane.setOpaque(true);
     errorTab.add(errorPane);
     errorPane.setBounds(0,0,580,490);
     errorText.setEditable(false);
     errorPane.getViewport().add(errorText);
     errorText.setBounds(0,0,600,550);
     treePane.setAutoscrolls(true);
     treePane.setHorizontalScrollBarPolicy(javax.swing.
     ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
     treePane.setVerticalScrollBarPolicy(javax.swing.
     ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
     treePane.setOpaque(true);
     treeTab.add(treePane);
     treePane.setBounds(0,0,580,490);
     treeText.setEditable(false);
     treePane.getViewport().add(treeText);
     treeText.setBounds(0,0,600,550);
     //JTree
     // NEW CODE
     rootNode = new DefaultMutableTreeNode("Root Node");
     treeModel = new DefaultTreeModel(rootNode);
     treeModel.addTreeModelListener(new MyTreeModelListener());
     tree = new JTree(treeModel);
     tree.setEditable(true);
     tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
tree.setShowsRootHandles(true);
     treeText.add(tree);
     //create the tabbed window           
centerPane.setBorder(new javax.swing.border.EtchedBorder());
formTab.setLayout(null);
errorTab.setLayout(null);
treeTab.setLayout(null);
centerPane.addTab("Search Parameters", formTab);
centerPane.addTab("Error Messages", errorTab);
centerPane.addTab("Website Structure", treeTab);
          //add the tool bar and tabbed pane
          getContentPane().add(toolBar, java.awt.BorderLayout.NORTH);
getContentPane().add(centerPane, java.awt.BorderLayout.CENTER);     
          *create the tool bar pane, a center pane, add the buttons,
          *labels, tabs, a text field for user input here
          javax.swing.JPanel toolBar = new javax.swing.JPanel();
          javax.swing.JButton start = new javax.swing.JButton();
          javax.swing.JButton cancel = new javax.swing.JButton();
          javax.swing.JButton close = new javax.swing.JButton();      
          javax.swing.JTabbedPane centerPane = new javax.swing.JTabbedPane();
          javax.swing.JPanel formTab = new javax.swing.JPanel();
          javax.swing.JLabel urlLabel = new javax.swing.JLabel();
          javax.swing.JLabel current = new javax.swing.JLabel();
          javax.swing.JTextField url = new javax.swing.JTextField();
          javax.swing.JPanel errorTab = new javax.swing.JPanel();
          javax.swing.JTextArea errorText = new javax.swing.JTextArea();
          javax.swing.JScrollPane errorPane = new javax.swing.JScrollPane();
          javax.swing.JPanel treeTab = new javax.swing.JPanel();
          javax.swing.JTextArea treeText = new javax.swing.JTextArea();
          javax.swing.JScrollPane treePane = new javax.swing.JScrollPane();
          javax.swing.JTree tree = new javax.swing.JTree();
          *show the gui
          public static void main(String args[])
          (new gui()).setVisible(true);
     *listen for the button presses and set the
     *boolean flag depending on which button is pressed
     class ButtonListener implements ActionListener
          public void actionPerformed(ActionEvent event)
               Object object = event.getSource();
               if (object == start)
                    run = true;
                    startActionPerformed(event);
               if (object == cancel)
                    run = false;
                    startActionPerformed(event);
               if (object == close)
                    System.exit(0);
     *this method is called when the start or
     *cancel button is pressed.
     void startActionPerformed (ActionEvent event)
          if (run == true && bgThread == null)
               bgThread = new Thread(this);
               bgThread.start();
               //new line of code
               treeText.addObject(msgInfo);
          if (run == false && bgThread != null)
               webSpider.cancel();
     *this mehtod will start the background thred.
     *the background thread is required so that the
     *GUI is still displayed
     public void run()
          try
               webSpider = new WebSpider(this);
               webSpider.clear();
               urlInput = new URL(url.getText());
               webSpider.addURL(urlInput);
               webSpider.run();
               bgThread = null;
          catch (MalformedURLException e)
               addressError addErr = new addressError();
               addErr.addMsg = "URL ERROR - PLEASE CHECK";
               SwingUtilities.invokeLater(addErr);
          *this method is called by the web spider
          *once a url is found. Validation of navigation
          *happens here.
          public boolean urlFound(URL urlInput,URL url)
               CurrentlyProcessing pro = new CurrentlyProcessing();
          pro.msg = url.toString();
          SwingUtilities.invokeLater(pro);
          if (!testLink(url))
                    navigationError navErr = new navigationError();
                    navErr.navMsg = "Broken Link "+url+" caused on "+urlInput+"\n";
                    brokenUrl = url.toString();
                    return false;
          if (!url.getHost().equalsIgnoreCase(urlInput.getHost()))
               return false;
          else
               return true;
          *this method is returned if there is no link
          *on a web page, e.g. there us a dead end
          public void urlNotFound(URL urlInput)
                    deadEnd dEnd = new deadEnd();
                    dEnd.dEMsg = "No links on "+urlInput+"\n";
                    deadUrl = urlInput.toString();               
          *this method is called internally to check
     *that a link works
          protected boolean testLink(URL url)
          try
               URLConnection connection = url.openConnection();
               connection.connect();
               goodUrl = url.toString();
               return true;
          catch (IOException e)
               return false;
     *this method is called when an error is
     *found.
          public void urlError(URL url)
          *this method is called when an email
          *address is found
          public void emailFound(String email)
          /*this method will update any errors found inc
          *address errors and broken links
          class addressError implements Runnable
               public String addMsg;
               public void run()
                    current.setText("Currently Processing: "+ addMsg);
                    errorText.append(addMsg);
          class navigationError implements Runnable
               public String navMsg;
               public void run()
                    errorText.append(navMsg);
          class deadEnd implements Runnable
               public String dEMsg;
               public void run()
                    errorText.append(dEMsg);
          *this method will update the currently
          *processing field on the GUI
          public class CurrentlyProcessing implements Runnable
               public String msg;
          //new line
          public String msgInfo = msg;
          public void run()
               current.setText("Currently Processing: " + msg );
     * NEW CODE
     * NEED THIS CODE SOMEWHERE
     * treeText.addObject(msgInfo);
     public DefaultMutableTreeNode addObject(Object child)
     DefaultMutableTreeNode parentNode = null;
     TreePath parentPath = tree.getSelectionPath();
     if (parentPath == null)
     parentNode = rootNode;
     else
     parentNode = (DefaultMutableTreeNode)
(parentPath.getLastPathComponent());
     return addObject(parentNode, child, true);
     public DefaultMutableTreeNode addObject(DefaultMutableTreeNode parent,
Object child)
     return addObject(parent, child, false);
     public DefaultMutableTreeNode addObject(DefaultMutableTreeNode parent,
     Object child,boolean shouldBeVisible)
     DefaultMutableTreeNode childNode = new DefaultMutableTreeNode(child);
     if (parent == null)
     parent = rootNode;
     treeModel.insertNodeInto(childNode, parent, parent.getChildCount());
     if (shouldBeVisible)
     tree.scrollPathToVisible(new TreePath(childNode.getPath()));
          return childNode;
     public class MyTreeModelListener implements TreeModelListener
          public void treeNodesChanged (TreeModelEvent e)
               DefaultMutableTreeNode node;
               node = (DefaultMutableTreeNode)
               (e.getTreePath().getLastPathComponent());
               try
                    int index = e.getChildIndices()[0];
                    node = (DefaultMutableTreeNode)
                    (node.getChildAt(index));
               catch (NullPointerException exc)
          public void treeNodesInserted(TreeModelEvent e)
          public void treeStructureChanged(TreeModelEvent e)
          public void treeNodesRemoved(TreeModelEvent e)
I beleive that this line of code is required:
treeText.addObject(msgInfo);
I have placed it where the action events start the spider, but i keep getting this error:
cannot resolve symbol
symbol : method addObject (java.lang.String)
location: class javax.swing.JTextArea
treeText.addObject(msgInfo);
Also the jtree is not showing the window that I want it to and I am not too sure why. could you have a look to see why? i think it needs a fresh pair of eyes.
Many thanks
MrV

Similar Messages

  • Help with building dynamic website using tutorial (was: I know this is a repost but I'm still stuck!)

    Perhaps this was missed by the group but here goes:
    I am slogging thru a dynamic PHP tutorial but  I cant continue without losing some understanding of the process due to ?
    I am trying to complete the following:
    Building your first dynamic website – Part 2: Developing the back end
    However,
    my Insert record form dialog (below) looks like this, and I need to change both 'title' and 'blog_entry' values (as shown above), but I cannot make that choice in my form.
    I am using DW CC with the Deprecated Server Behavior from DMX zone.
    I have made sure my results match the tutorial, but I cant get past the above inconsistency in functionality.
    Any help would be appreciated.
    Thanks folks!

    The Columns area indicates which form field is used to insert a value in each column. Although the post_id and updated columns are listed as getting no value, their values are generated automatically by the database.
    Check that the title and blog_entry columns are being assigned the correct values. If either is marked as getting no value, it means that you have spelled the names of the form fields differently from the column names. Correct this by selecting the column name in the Columns area and selecting the form field's name from the Value pop-up menu.
    Nancy O.

  • Need help with Premiere 6.5 using IEEE1394 firewire and Canopus ADVC110

    I have been using Premiere 6.5 for over 10 years now and had to replace the Pinnacle DV 500 card with a Canopus ADVC 110 and firewire when Windows XP had its Service Pack 2 downloaded. Recently for no apparent reason the Premiere Capture Window is showing Unable to connect to capture driver. I have checked the firewire cable, the ADVC device and the OHCI DV (IEEE1394) device and all appear to be working. Can anyone point me in the right direction for a solution?
    Alan

    Alan,
    The Grass Valley/Canopus ADV-110 should come with a copy of the Edius capture software. That is what I would use for the Captures. Just set it to DV-AVI Type II w/ 48KHz 16-bit PCM/WAV Audio. Then, Import these into Pr 6.5 for editing. The ADV-110 should allow you to capture from any source hooked to it, whether analog, like VHS, or digital, like DVD from a connected set-top player. I use a similar device in this manner.
    The only slight drawback is that one has no direct Device Control, as they would from a FW connected miniDV camera. I cue up the source player (VHS or DVD), start Edius, after the settings are done, and hit Record, then click my remote for the device deck to Play. Works perfectly.
    Good luck, and hope that this helps. For direct FW Capture in Pr 6.5 you would do that from a miniDV camera. Do not know if Pr 6.5 had full Device Control, or not. PrPro 2.0 was the first Pr version that I used.
    Let us know if this works.
    Hunt

  • Help with build

    Hi all,
    I need a little help with building a new comp and any help will be appericiated.
    My wife is a video editor and she needs a new CPU.
    She is editing HD films from various cameras (she have several clients).
    The budget is around 1500-2000$ for the CPU without screens and software which she already owns.
    She is working with CS5.5 and using windows 7 pro 64bit.
    I read quite a lot in the past few days and I ended up more confused then I was, this is the setup which I thought of:
    CPU:       I was thinking about the i7 960 3.2 (310$) or the i7 2600k (330$).
    MB:         Asus p6x8D 1366 ddr 1600
    Graphics: Gigabyte nVidia GTX460 1gb gddr5 (210$) or gtx560(230$) the 570 is way off the budget (440$)
    BLURAY: Pioneer BDR-206
    RAM:      I don't know really.. I was thinking about 12gb but I am cluless about it.
    Power:     AX 850W Gold Active PFC 12cm Fan Modular (No particular reason, when I'll know my final setup I'll check the power I need with http://www.extreme.outervision.com/psucalculatorlite.jsp).
    Case:      Antec / Thermaltake, No idea which model..
    OS HDD: I'm still puzzled weather to go for the small (60gb) ssd for the OS and programs or go for a 7200 rpm hd.
    HDD:       W.D Caviar black 1tb 7200 rpm, 64mb, Sata III * 4 with raid on board (Raid 0 or Raid 5?  - I'll save it for another thread).
    Coolers:   Help needed
    Any help will be more then welcomed.
    Regards,
    Eliran.

    While waiting for a specific answer, you might read these recent discussions
    http://forums.adobe.com/thread/910208
    http://forums.adobe.com/thread/907698
    http://forums.adobe.com/thread/762381
    http://forums.adobe.com/thread/906848
    http://forums.adobe.com/thread/912120
    http://forums.adobe.com/thread/912119
    And one specific... SSD is high $$ and there is a thread concerning problems... forum search for ssd will find at least 2 message threads about using ssd or not

  • I need your help with a decision to use iPhoto.  I have been a PC user since the mid 1980's and more recently have used ACDSee to manage my photo images and Photoshop to edit them.  I have used ProShow Gold to create slideshows.  I am comfortable with my

    I need your help with a decision to use iPhoto.  I have been a PC user since the mid 1980’s and more recently have used ACDSee to manage my photo images and Photoshop to edit them.  I have used ProShow Gold to create slideshows.  I am comfortable with my own folder and file naming conventions. I currently have over 23,000 images of which around 60% are scans going back 75 years.  Since I keep a copy of the originals, the storage requirements for over 46,000 images is huge.  180GB plus.
    I now have a Macbook Pro and will add an iMac when the new models arrive.  For my photos, I want to stay with Photoshop which also gives me the Bridge.  The only obvious reason to use iPhoto is to take advantage of Faces and the link to iMovie to make slideshows.  What am I missing and is using iPhoto worth the effort?
    If I choose to use iPhoto, I am not certain whether I need to load the originals and the edited versions. I suspect that just the latter is sufficient.  If I set PhotoShop as my external editor, I presume that iPhoto will keep track of all changes moving forward.  However, over 23,000 images in iPhoto makes me twitchy and they are appear hidden within iPhoto.  In the past, I have experienced syncing problems with, and database errors in, large databases.  If I break up the images into a number of projects, I loose the value of Faces reaching back over time.
    Some guidance and insight would be appreciated.  I have a number of Faces questions which I will save for later. 

    Bridge and Photoshop is a common file-based management system. (Not sure why you'd have used ACDSEE as well as Bridge.) In any event, it's on the way out. You won't be using it in 5 years time.
    Up to this the lack of processing power on your computer left no choice but to organise this way. But file based organisation is as sensible as organising a Shoe Warehouse based on the colour of the boxes. It's also ultimately data-destructive.
    Modern systems are Database driven. Files are managed, Images imported, virtual versions, lossless processing and unlimited editing are the way forward.
    For a Photographer Photoshop is overkill. It's an enormously powerful app, a staple of the Graphic Designers' trade. A Photographer uses maybe 15% to 20% of its capability.
    Apps like iPhoto, Lightroom, Aperture are the way forward - for photographers. There's the 20% of Photoshop that shooters actually use, coupled with management and lossless processing. Pop over to the Aperture or Lightroom forums (on the Adobe site) and one comment shows up over and over again... "Since I started using Aperture/ Lightroom I hardly ever use Photoshop any more..." and if there is a job that these apps can do, then the (much) cheaper Elements will do it.
    The change is not easy though, especially if you have a long-standing and well thought out filing system of your own. The first thing I would strongly advise is that you experiment before making any decisions. So I would create a Library, import 300 or 400 shots and play. You might as well do this in iPhoto to begin with - though if you’re a serious hobbyist or a Pro then you'll find yourself looking further afield pretty soon. iPhoto is good for the family snapper, taking shots at birthdays and sharing them with friends and family.
    Next: If you're going to successfully use these apps you need to make a leap: Your files are not your Photos.
    The illustration I use is as follows: In my iTunes Library I have a file called 'Let_it_Be_The_Beatles.mp3'. So what is that, exactly? It's not the song. The Beatles never wrote an mp3. They wrote a tune and lyrics. They recorded it and a copy of that recording is stored in the mp3 file. So the file is just a container for the recording. That container is designed in a specific way attuned to the characteristics and requirements of the data. Hence, mp3.
    Similarly, that Jpeg is not your photo, it's a container designed to hold that kind of data. iPhoto is all about the data and not about the container. So, regardless of where you choose to store the file, iPhoto will manage the photo, edit the photo, add metadata to the Photo but never touch the file. If you choose to export - unless you specifically choose to export the original - iPhoto will export the Photo into a new container - a new file containing the photo.
    When you process an image in iPhoto the file is never touched, instead your decisions are recorded in the database. When you view the image then the Master is presented with these decisions applied to it. That's why it's lossless. You can also have multiple versions and waste no disk space because they are all just listings in the database.
    These apps replace the Finder (File Browser) for managing your Photos. They become the Go-To app for anything to do with your photos. They replace Bridge too as they become a front-end for Photoshop.
    So, want to use a photo for something - Export it. Choose the format, size and quality you want and there it is. If you're emailing, uploading to websites then these apps have a "good enough for most things" version called the Preview - this will be missing some metadata.
    So it's a big change from a file-based to Photo-based management, from editing files to processing Photos and it's worth thinking it through before you decide.

  • Problems with a shared calendar using Outlook 2007 and Exchange 2010

    Hello all,
    We are having a problem with sharing a calendar using Outlook 2007 and Exchange 2010.
    I will start with some background. I have just started my position with this company. I have been working with networks for awhile at the small business level. I have not had much production experience with exchange. There is only myself and my supervisor
    who has inherited a midsized network which was built by five previous techs that are no longer with the company. Of course, the previous techs did not leave much documentation, so the original hows and whys for our system setup has been lost.
    One of the managers has a calendar she shares with some of our users. I believe this calendar has been in use since sometime in 2006. A mailbox was created to hold this calendar to keep it separate from the managers calendar. I am not sure what version
    of exchange they were using at that time, but I assume there was one or two migrations of it getting to its current state on our exchange 2010 server. At some point it was observed that the other workers she was sharing with were not able to access it correctly.
    I am not fully sure what the original problem was (possibly some people not being able to see or connect to the calendar), but it was decided to give everyone who needed access to this calendar full access permissions through exchange. Correct me if I
    am wrong, but I believe that gave everyone connected the ability to do anything with the calendar. Of course the manager was not happy about that. This is where I started working on the problem.
    I removed everyone, except the manager who wants to control the calendar, from having "Full Access Permissions". This did have the effect of making some people just able to see the calendar and not make changes. Though there were others that were
    able to connect to the calendar who I thought would not be able to. The manager that originally created the calendar did try to manage access to it through the Outlook interface, though it currently does not seem to be fully in effect.
    So, to get to the point of what we are trying to do, is there a way to get the original manager back into control of the calendar though Outlook? It would be preferred to be able to keep the history of what they tracked of this calendar, so starting a new
    one would be something we would rather avoid. After that, getting all of the users that need to connect to the calendar reconnected with the correct access permissions and making sure they are all synchronized.
    I realize this is a big mess, and your help would be greatly appreciated.

    Hi Nigel,
    How is the impact, just one user or all users, Outlook or OWA?
    If just one user, it seems like an issue on the Outlook Client side.
    Please trying to re-create new profile to fresh the caches.
    Please runing Outlook under safe mode to avoid some AVs, add-ins and firewall.
    Found a similar thread for your reference:
    Calendar Sharing not available error message
    http://social.technet.microsoft.com/Forums/exchange/en-US/d9b33281-d7bb-4608-8025-16fb26643d0d/calendar-sharing-not-available-error-message?forum=exchangesvrclientslegacy
    Hope it is helpful
    Thanks
    Mavis
    Mavis Huang
    TechNet Community Support

  • Please help! We got a used Mac Mini and we don't have the former owner's password, so we can't install anything like flash player.  Does anyone know how to get around this?

    Please help! We got a used Mac Mini and we don't have the former owner's password, so we can't install anything like flash player.  Does anyone know how to get around this? I don't know how to wipe the hard drive, and the support online doesn't seem to work.

    As posted previously:
    Reinstall OS X without erasing the drive
    Do the following:
    1. Repair the Hard Drive and Permissions
    Boot from your Snow Leopard Installer disc. After the installer loads select your language and click on the Continue button. When the menu bar appears select Disk Utility from the Utilities menu. After DU loads select your hard drive entry (mfgr.'s ID and drive size) from the the left side list.  In the DU status area you will see an entry for the S.M.A.R.T. status of the hard drive.  If it does not say "Verified" then the hard drive is failing or failed. (SMART status is not reported on external Firewire or USB drives.) If the drive is "Verified" then select your OS X volume from the list on the left (sub-entry below the drive entry,) click on the First Aid tab, then click on the Repair Disk button. If DU reports any errors that have been fixed, then re-run Repair Disk until no errors are reported. If no errors are reported click on the Repair Permissions button. Wait until the operation completes, then quit DU and return to the installer.
    If DU reports errors it cannot fix, then you will need Disk Warrior and/or Tech Tool Pro to repair the drive. If you don't have either of them or if neither of them can fix the drive, then you will need to reformat the drive and reinstall OS X.
    2. If the drive is OK then quit DU and return to the installer.  Proceed with reinstalling OS X.  Note that the Snow Leopard installer will not erase your drive or disturb your files.  After installing a fresh copy of OS X the installer will move your Home folder, third-party applications, support items, and network preferences into the newly installed system.
    If installing Leopard the process is similar in some respects.  If you wish to begin anew then after selecting the target disk click on the Options button and select the Erase and Install option then click on the OK button.  To install over an existing system do the following:
    How to Perform an Archive and Install
    An Archive and Install will NOT erase your hard drive, but you must have sufficient free space for a second OS X installation which could be from 3-9 GBs depending upon the version of OS X and selected installation options. The free space requirement is over and above normal free space requirements which should be at least 6-10 GBs. Read all the linked references carefully before proceeding.
    1. Be sure to use Disk Utility first to repair the disk before performing the Archive and Install.
    Repairing the Hard Drive and Permissions
    Boot from your OS X Installer disc. After the installer loads select your language and click on the Continue button. When the menu bar appears select Disk Utility from the Installer menu (Utilities menu for Tiger, Leopard or Snow Leopard.) After DU loads select your hard drive entry (mfgr.'s ID and drive size) from the the left side list. In the DU status area you will see an entry for the S.M.A.R.T. status of the hard drive. If it does not say "Verified" then the hard drive is failing or failed. (SMART status is not reported on external Firewire or USB drives.) If the drive is "Verified" then select your OS X volume from the list on the left (sub-entry below the drive entry,) click on the First Aid tab, then click on the Repair Disk button. If DU reports any errors that have been fixed, then re-run Repair Disk until no errors are reported. If no errors are reported click on the Repair Permissions button. Wait until the operation completes, then quit DU and return to the installer. Now restart normally.
    If DU reports errors it cannot fix, then you will need Disk Warrior and/or Tech Tool Pro to repair the drive. If you don't have either of them or if neither of them can fix the drive, then you will need to reformat the drive and reinstall OS X.
    2. Do not proceed with an Archive and Install if DU reports errors it cannot fix. In that case use Disk Warrior and/or TechTool Pro to repair the hard drive. If neither can repair the drive, then you will have to erase the drive and reinstall from scratch.
    3. Boot from your OS X Installer disc. After the installer loads select your language and click on the Continue button. When you reach the screen to select a destination drive click once on the destination drive then click on the Option button. Select the Archive and Install option. You have an option to preserve users and network preferences. Only select this option if you are sure you have no corrupted files in your user accounts. Otherwise leave this option unchecked. Click on the OK button and continue with the OS X Installation.
    4. Upon completion of the Archive and Install you will have a Previous System Folder in the root directory. You should retain the PSF until you are sure you do not need to manually transfer any items from the PSF to your newly installed system.
    5. After moving any items you want to keep from the PSF you should delete it. You can back it up if you prefer, but you must delete it from the hard drive.
    6. You can now download a Combo Updater directly from Apple's download site to update your new system to the desired version as well as install any security or other updates. You can also do this using Software Update.

  • Problems with a VBA Userform using Multipage (2) and DTPicker.

     
    Hi
    Problems with a VBA Userform using Multipage (2) and DTPicker (4)
    On Page1 I've got 2 DTPicker, one for the date and the second for the time.
    Same thing on Page 2.
    Problem:
    Only one set will work, if I close the Userform with" MultiPage"on page2, only that set will work.
    Same thing if I close on Page 1 then just the set on Page 1 will work.
    As anyone seen this problem and any work around you may think would help.
    I'm using Windows 7 , Ms Office Pro. 2003
    same problem on Windows Vista , XL2003
    Cimjet

    There are a number of issues relating to the way that date pickers are handled, but the most important is that their output is text. In order to get the values into Excel, you need to format the Excel columns as Date and Custom (time format) and convert
    the output to the worksheet from text to date values.
    Date pickers also display a few anomalies on multi-page forms, so you need a belt and braces approach. Personally I would put the code to call the form and enter the values in a standard module (as now in the example) and use a belt and braces approach to
    maintaining the format.
    I think you will find the example now works.
    Revised Example
    Graham Mayor - Word MVP
    www.gmayor.com

  • HT201269 I'm not a tech person, but need help with my Itunes account in transferring money and downloads onto new phone I purchased 2 weeks ago when my Iphone was stolen. I don't know how to get the money or music on new phone?

    Need help with Itunes transferrs and can I use my Edge phone as a router?

    I'm not a tech person, but need help with my Itunes account in transferring money and downloads onto new phone
    Is this an iPhone?
    Set it up using the AppleID you used on the previous iPhone.

  • About how to build dynamic maps using jdeveloper 10g and mapviewer

    i follow the guidance (about how to build dynamic maps using jdeveloper 10g and oracle application server mapviewer) to write a jsp file,but error take palce ,i get information "Project: D:\jdev1012\jdev\mywork\WebMap\ViewController\ViewController.jpr
    D:\jdev1012\jdev\mywork\WebMap\ViewController\public_html\WebMap.jsp
    Error(12,37): cannot access class oracle.lbs.mapclient.taglib.MapViewerInitTag; file oracle\lbs\mapclient\taglib\MapViewerInitTag.class not found
    Error(12,190): cannot access class oracle.lbs.mapclient.taglib.MapViewerInitTag; file oracle\lbs\mapclient\taglib\MapViewerInitTag.class not found
    Error(12,102): cannot access class oracle.lbs.mapclient.taglib.MapViewerInitTag; file oracle\lbs\mapclient\taglib\MapViewerInitTag.class not found
    Error(12,28): cannot access class oracle.lbs.mapclient.MapViewer; file oracle\lbs\mapclient\MapViewer.class not found
    Error(12,40): cannot access class oracle.lbs.mapclient.MapViewer; file oracle\lbs\mapclient\MapViewer.class not found
    Error(13,37): cannot access class oracle.lbs.mapclient.taglib.MapViewerSetParamTag; file oracle\lbs\mapclient\taglib\MapViewerSetParamTag.class not found
    Error(13,198): cannot access class oracle.lbs.mapclient.taglib.MapViewerSetParamTag; file oracle\lbs\mapclient\taglib\MapViewerSetParamTag.class not found
    Error(13,106): cannot access class oracle.lbs.mapclient.taglib.MapViewerSetParamTag; file oracle\lbs\mapclient\taglib\MapViewerSetParamTag.class not found
    Error(14,37): cannot access class oracle.lbs.mapclient.taglib.MapViewerRunTag; file oracle\lbs\mapclient\taglib\MapViewerRunTag.class not found
    Error(14,188): cannot access class oracle.lbs.mapclient.taglib.MapViewerRunTag; file oracle\lbs\mapclient\taglib\MapViewerRunTag.class not found
    Error(14,101): cannot access class oracle.lbs.mapclient.taglib.MapViewerRunTag; file oracle\lbs\mapclient\taglib\MapViewerRunTag.class not found
    Error(15,37): cannot access class oracle.lbs.mapclient.taglib.MapViewerGetMapURLTag; file oracle\lbs\mapclient\taglib\MapViewerGetMapURLTag.class not found
    Error(15,200): cannot access class oracle.lbs.mapclient.taglib.MapViewerGetMapURLTag; file oracle\lbs\mapclient\taglib\MapViewerGetMapURLTag.class not found
    Error(15,107): cannot access class oracle.lbs.mapclient.taglib.MapViewerGetMapURLTag; file oracle\lbs\mapclient\taglib\MapViewerGetMapURLTag.class not found"
    can you help?
    greetings

    I found a lot of information in document 133682.1 on metalink.
    step by step example how to deploy a JSP business component application.

  • Can Anyone help with syncing my contacts are getting duplicated and there is a file from my computer and they are not the same it is driving me carazy can anyone help?

    Can Anyone help with syncing my contacts are getting duplicated and there is a file from my computer and they are not the same it is driving me carazy can anyone help?

    Are you in DSL? Do you know if your modem is bridged?
    "Sometimes your knight in shining armor is just a retard in tin foil.."-ARCHANGEL_06

  • Can I build a database, using my Contacts and then email them?

    Can I build a database, using my Contacts and then email them?

    If you mean email them as a group you need to get a group messaging app first. If you mean email the database you need to take a screen shot and email the photo.

  • HT5219 How many Thunderbolt displays can I use with my MacBook Pro using Windows 7 and  Parrallels?

    How many Thunderbolt displays can I use with my MacBook Pro using Windows 7 and Parallels

    Two. You can daisy-chain two ATD together. Doesn't matter what you're running.
    Clinton

  • Reg:  node and node manager

    Hi to all
    iam new to this forum, iam new administrator in weblogic plese help me.....
    what is diference between node and node manager?
    Thanks & Regardes
    Ashok

    Hi Ashok,
    Node term usually we use for a Physical Box.
    Nodemanager is a WebLogic Specific Java program which can be used to Manage a Remote Manage Server. Every Machine (Machine is a Logical name which represents a Physical box where Managed server is running) must have a NodeManager. AdminServer usually interacts with NodeManager to give start or stop Servers instructions to the Nodemanager, NodeManager program runs & resides in the same Managed Server Box...so it actually follows AdminServer's Instructions.
    Nodemanager gets the Latest Configuration files from AdminServer while starting a Server in the physical box. or if AdminServer is not running at the time of starting a Managed Server then ... nodemanager uses the "msi-config.xml" file to provide to managed Servers while starting them.
    Please refer to the below Post: http://weblogic-wonders.com/weblogic/2010/04/28/weblogic-clustering-in-remote-boxes/ to know what is the need of NodeManager and how to configure it.
    To know in-depth about Nodemanager please refer to James Bayers....Post: http://blogs.oracle.com/jamesbayer/2010/01/weblogic_nodemanager_quick_sta.html
    Thanks
    Jay Sensharma

  • Help with building timeline using Multiclip

    I am trying to learn how to build a timeline using multiclip.
    I have my multiclip set up, have the buttons on top of the timeline so I can switch or cut angles. Everything is set so I can switch in realtime. I even have it set so I am using the audio from camera 3 and it does not change when I switch angles.
    I hate to admit it, but I don't know what to do next. I have read through FCP user manual, all the pages on multiclips. I know how to do this that and the other, but I cannot figure out how to go from one camera to the other and have that information stay in the timeline. Maybe I missed a page or I'm missing a page... For example:
    Ok, I start with camera 1. At 1:30 I want to have camera 3 view on the timeline for 10 seconds, then to camera 2.
    I click the canvas and I can start the playback in the timeline, use the switch button to view camera 3 then switch back to 2. I see each angle on the canvas. All the Timeline does is show which camera I am currently viewing. I was expecting FCP to build the timeline to have 1;30 of camera 1, 10 sec of camera 3 then camera 2. Obviously I was mistaken.
    Can anyone take the time to bring me up to speed or point out what to type in the user manual to find out how to do this?
    Thanks
    Jim

    Agreed. But I never use the numeric keypad for anything because, generally, FCP is not smart enough to know not to enter numbers. It would be so 21st Century if FCPX fixed all of that interface silliness.
    Try installing the multiclip button bar. Also good for lots of fast shortcuts.
    bogiesan

Maybe you are looking for

  • Clearing out the old iPhone

    I want to clear out my 3G before activating my 4. If I "restore" my 3g and then connect to my 4 will I: 1) Clear out all of the data on the 3G and 2 Be able to download all of my data and apps and numbers to the 4

  • Java heap size adminserver

    Hello, i would like to know the java heap memory size for adminserver by default. regards Jean marc

  • Why won't bridge open?

    Yes, I'm slow, but it has taken me several months to figure out how to create clothing with lace digitally. I had the big ah hah. I was up all night. It is 6.00am. The creative juices were flowing and then guess what? Adobe Bridge will not open back

  • Move data from 1:1 to M:M

    I have 2 table. one is s_org_ext and another one is s_org_ext_x. Relationship between the two table has 1:1 Table 1: Column: Row_id,Name. Table 2: Column: Row_id,BI_Application,Par_Row_id(Foreign key of Table 1). My UI layer displayed recors as follo

  • No thumbnail just file name

    I have changed nothing on my computer but when I started saving images there is no thumbnail just the name of the file.