How do I use JPanel as a leaf in JTree ?

Hi All,
I am a bit of a newbie and I've been trying to change the behavior of my application.
I have a JTree that I now want to change the rendering of a leaf to be a JPanel. The JPanel will have a couple of JButtons and some text and the user can interact with the JButtons. I was successful in creating the JPanel, adding the buttons and then making my own TreeCellRenderer. Everything displays fine, but the user can not interact with the JButtons, whenever I click on a button in the leaf, the whole leaf is highlighted - I suppose I should not be surprised because this is probably behaving just a cell in a JTree should.
So I searched the forums and used Google and have found several examples of people using JCheckBox as nodes/leaf(s) in a JTree but none with a JPanel as a leaf. I took one of the check box demos from here ( [http://www.coderanch.com/t/330630/Swing-AWT-SWT-JFace/java/add-swing-component-tree]) and then hacked it a bit but am stuck with the following error :
Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to javax.swing.JPanel
which is pointing to the line with JPanel temp2 = (JPanel) temp.getUserObject();
Does anyone have either some code or suggestions to accomplish a leaf as a JPanel with some buttons ?
Thanks in advance !
import javax.swing.*;*
*import javax.swing.tree.*;
import java.awt.event.*;*
*import java.awt.*;
public class treedemo1 extends JFrame {
    public treedemo1() {
        super("TreeDemo");
        setSize(1500, 1500);
        JPanel p = new JPanel();
        p.setLayout(new BorderLayout());
        customLeafPanel cp1 = new customLeafPanel();
        customLeafPanel cp2 = new customLeafPanel();
        customLeafPanel cp3 = new customLeafPanel();
        DefaultMutableTreeNode root = new DefaultMutableTreeNode("Query Results");
        DefaultMutableTreeNode n1 = new DefaultMutableTreeNode(cp1, false);
        DefaultMutableTreeNode n2 = new DefaultMutableTreeNode(cp2, false);
        DefaultMutableTreeNode n3 = new DefaultMutableTreeNode(cp3, false);
        root.add(n1);
        root.add(n2);
        root.add(n3);
        JTree tree = new JTree(root);
        p.add(tree, BorderLayout.NORTH);
        getContentPane().add(p);
        TestRenderer tr = new TestRenderer();
        tree.setEditable(false);
        tree.setCellRenderer(tr);
    public class customLeafPanel extends JPanel {
        public customLeafPanel() {
            JPanel clpPanel = new JPanel();
            JButton helloJButton = new JButton("Hello");
            this.add(helloJButton);
    public class TestRenderer implements TreeCellRenderer {
        transient protected Icon closedIcon;
        transient protected Icon openIcon;
        public TestRenderer() {
        public Component getTreeCellRendererComponent(JTree tree,
                Object value,
                boolean selected,
                boolean expanded,
                boolean leaf,
                int row,
                boolean hasFocus) {
            DefaultMutableTreeNode temp = (DefaultMutableTreeNode) value;
            JPanel temp2 = (JPanel) temp.getUserObject();
            return temp2;
        public void setClosedIcon(Icon newIcon) {
            closedIcon = newIcon;
        public void setOpenIcon(Icon newIcon) {
            openIcon = newIcon;
    public static void main(String args[]) {
        JFrame frame = new treedemo1();
        frame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
        frame.pack();
        frame.setVisible(true);
}

Thank you TBM and DB for your replies ! Adding TBM's code does indeed fix the JPanel issue and as TBM indicated this does not actually solve my ultimate problem (Can I give you each 1/2 the Duke points?)
As a newbie, I am still learning and DB pointed out that "You can however interact with an editor". So after reading the suggested tutorials and looking back at the example code that I hacked. I added the cellEditor back in and it WORKS ! Its funny, I deleted that bits of code from the example, assuming the cellEditor allows you to "edit" (ie change), not interact with it (symantics I guess)
Thanks again guys for pointing this newbie in the right direction. Frankly I am somewhat surprised that I could finally begin to read and understand what the tutorial and suggestions are telling me ! What is one step up from a newbie ?
unfortunately I can not post the code because the length of the message is > 5000 :(

Similar Messages

  • How can I use XStream to persist complicated Java Object  to XML & backward

    Dear Sir:
    I met a problem as demo in my code below when i use XTream to persist my Java Object;
    How can I use XStream to persist complicated Java Object to XML & backward??
    See
    [1] main code
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.ArrayList;
    import com.thoughtworks.xstream.XStream;
    import com.thoughtworks.xstream.io.xml.DomDriver;
    public class PhoneList {
         ArrayList<PhoneNumber> phones;
         ArrayList<Person> person;
         private PhoneList myphonelist ;
         private LocationTest location;
         private PhoneList(String name) {
         phones = new ArrayList<PhoneNumber>();
         person = new ArrayList<Person>();
         public ArrayList<PhoneNumber> getphones() {
              return phones;
         public ArrayList<Person> getperson() {
              return person;
         public void addPhoneNumber(PhoneNumber b1) {
              this.phones.add(b1);
         public void removePhoneNumber(PhoneNumber b1) {
              this.phones.remove(b1);
         public void addPerson(Person p1) {
              this.person.add(p1);
         public void removePerson(Person p1) {
              this.person.remove(p1);
         public void BuildList(){
              location = new LocationTest();
              XStream xstream = new XStream();
              myphonelist = new PhoneList("PhoneList");
              Person joe = new Person("Joe, Wallace");
              joe.setPhone(new PhoneNumber(123, "1234-456"));
              joe.setFax(new PhoneNumber(123, "9999-999"));
              Person geo= new Person("George Nixson");
              geo.setPhone(new PhoneNumber(925, "228-9999"));
              geo.getPhone().setLocationTest(location);          
              myphonelist.addPerson(joe);
              myphonelist.addPerson(geo);
         public PhoneList(){
              XStream xstream = new XStream();
              BuildList();
              saveStringToFile("C:\\temp\\test\\PhoneList.xml",convertToXML(myphonelist));
         public void saveStringToFile(String fileName, String saveString) {
              BufferedWriter bw = null;
              try {
                   bw = new BufferedWriter(
                             new FileWriter(fileName));
                   try {
                        bw.write(saveString);
                   finally {
                        bw.close();
              catch (IOException ex) {
                   ex.printStackTrace();
              //return saved;
         public String getStringFromFile(String fileName) {
              BufferedReader br = null;
              StringBuilder sb = new StringBuilder();
              try {
                   br = new BufferedReader(
                             new FileReader(fileName));
                   try {
                        String s;
                        while ((s = br.readLine()) != null) {
                             // add linefeed (\n) back since stripped by readline()
                             sb.append(s + "\n");
                   finally {
                        br.close();
              catch (Exception ex) {
                   ex.printStackTrace();
              return sb.toString();
         public  String convertToXML(PhoneList phonelist) {
              XStream xstream = new  XStream(new DomDriver());
              xstream.setMode(xstream.ID_REFERENCES) ;
              return xstream.toXML(phonelist);
         public static void main(String[] args) {
              new PhoneList();
    }[2].
    import java.io.Serializable;
    import javax.swing.JFrame;
    public class PhoneNumber implements Serializable{
           private      String      phone;
           private      String      fax;
           private      int      code;
           private      String      number;
           private      String      address;
           private      String      school;
           private      LocationTest      location;
           public PhoneNumber(int i, String str) {
                setCode(i);
                setNumber(str);
                address = "4256, Washington DC, USA";
                school = "Washington State University";
         public Object getPerson() {
              return null;
         public void setPhone(String phone) {
              this.phone = phone;
         public String getPhone() {
              return phone;
         public void setFax(String fax) {
              this.fax = fax;
         public String getFax() {
              return fax;
         public void setCode(int code) {
              this.code = code;
         public int getCode() {
              return code;
         public void setNumber(String number) {
              this.number = number;
         public String getNumber() {
              return number;
         public void setLocationTest(LocationTest bd) {
              this.location = bd;
            JFrame f = new JFrame();
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            f.getContentPane().add(location);
            f.getContentPane().add(location.getControls(), "Last");
            f.setSize(400,400);
            f.setLocation(200,200);
            f.setVisible(true);
         public LocationTest getLocationTest() {
              return location;
         }[3].
    package test.temp;
    import java.io.Serializable;
    public class Person implements Serializable{
         private String           fullname;
           @SuppressWarnings("unused")
         private PhoneNumber      phone;
           @SuppressWarnings("unused")
         private PhoneNumber      fax;
         public Person(){
         public Person(String fname){
                fullname=fname;           
         public void setPhone(PhoneNumber phoneNumber) {
              phone = phoneNumber;
         public void setFax(PhoneNumber phoneNumber) {
              fax = phoneNumber;
         public PhoneNumber getPhone() {
              return phone ;
         public PhoneNumber getFax() {
              return fax;
        public String getName() {
            return fullname ;
        public void setName(String name) {
            this.fullname      = name;
        public String toString() {
            return getName();
    }[4]. LocationTest.java
    package test.temp;
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.geom.*;
    import javax.swing.*;
    import javax.swing.event.*;
    public class LocationTest extends JPanel implements ChangeListener
        Ellipse2D.Double ball;
        Line2D.Double    line;
        JSlider          translate;
        double           lastTheta = 0;
        public void stateChanged(ChangeEvent e)
            JSlider slider = (JSlider)e.getSource();
            String name = slider.getName();
            int value = slider.getValue();
            if(name.equals("rotation"))
                tilt(Math.toRadians(value));
            else if(name.equals("translate"))
                moveBall(value);
            repaint();
        protected void paintComponent(Graphics g)
            super.paintComponent(g);
            Graphics2D g2 = (Graphics2D)g;
            g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                                RenderingHints.VALUE_ANTIALIAS_ON);
            if(ball == null)
                initGeom();
            g2.setPaint(Color.green.darker());
            g2.draw(line);
            g2.setPaint(Color.red);
            g2.fill(ball);
        private void initGeom()
            int w = getWidth();
            int h = getHeight();
            int DIA = 30;
            int padFromEnd = 5;
            line = new Line2D.Double(w/4, h*15/16, w*3/4, h*15/16);
            double x = line.x2 - padFromEnd - DIA;
            double y = line.y2 - DIA;
            ball = new Ellipse2D.Double(x, y, DIA, DIA);
            // update translate slider values
            int max = (int)line.getP1().distance(line.getP2());
            translate.setMaximum(max);
            translate.setValue(max-padFromEnd);
        private void tilt(double theta)
            // rotate line from left end
            Point2D pivot = line.getP1();
            double lineLength = pivot.distance(line.getP2());
            Point2D.Double p2 = new Point2D.Double();
            p2.x = pivot.getX() + lineLength*Math.cos(theta);
            p2.y = pivot.getY() + lineLength*Math.sin(theta);
            line.setLine(pivot, p2);
            // find angle from pivot to ball center relative to line
            // ie, ball center -> pivot -> line end
            double cx = ball.getCenterX();
            double cy = ball.getCenterY();
            double pivotToCenter = pivot.distance(cx, cy);
            // angle of ball to horizon
            double dy = cy - pivot.getY();
            double dx = cx - pivot.getX();
            // relative angle phi = ball_to_horizon - last line_to_horizon
            double phi = Math.atan2(dy, dx) - lastTheta;
            // rotate ball from pivot
            double x = pivot.getX() + pivotToCenter*Math.cos(theta+phi);
            double y = pivot.getY() + pivotToCenter*Math.sin(theta+phi);
            ball.setFrameFromCenter(x, y, x+ball.width/2, y+ball.height/2);
            lastTheta = theta;  // save theta for next time
        private void moveBall(int distance)
            Point2D pivot = line.getP1();
            // ball touches line at distance from pivot
            double contactX = pivot.getX() + distance*Math.cos(lastTheta);
            double contactY = pivot.getY() + distance*Math.sin(lastTheta);
            // find new center location of ball
            // angle lambda = lastTheta - 90 degrees (anti-clockwise)
            double lambda = lastTheta - Math.PI/2;
            double x = contactX + (ball.width/2)*Math.cos(lambda);
            double y = contactY + (ball.height/2)*Math.sin(lambda);
            ball.setFrameFromCenter(x, y, x+ball.width/2, y+ball.height/2);
        JPanel getControls()
            JSlider rotate = getSlider("rotation angle", "rotation", -90, 0, 0, 5, 15);
            translate = getSlider("distance from end",  "translate", 0, 100, 100,25, 50);
            JPanel panel = new JPanel(new GridLayout(0,1));
            panel.add(rotate);
            panel.add(translate);
            return panel;
        private JSlider getSlider(String title, String name, int min, int max,
                                  int value, int minorSpace, int majorSpace)
            JSlider slider = new JSlider(JSlider.HORIZONTAL, min, max, value);
            slider.setBorder(BorderFactory.createTitledBorder(title));
            slider.setName(name);
            slider.setPaintTicks(true);
            slider.setMinorTickSpacing(minorSpace);
            slider.setMajorTickSpacing(majorSpace);
            slider.setPaintLabels(true);
            slider.addChangeListener(this);
            return slider;
    }OK, My questions are:
    [1]. what I generated XML by XSTream is very complicated, especially for object LocationTest, Can we make it as simple as others such as Person object??
    [2]. after I run it, LocationTest will popup and a red ball in a panel will dsiplay, after I change red ball's position, I hope to persist it to xml, then when I read it back, I hope to get same picture, ie, red ball stiil in old position, How to do that??
    Thanks a lot!!

    Positive feedback? Then please take this in a positive way: if you want to work on persisting Java objects into XML, then GUI programming is irrelevant to that goal. The 1,000 lines of code you posted there appeared to me to have a whole lot of GUI code in it. You should produce a smaller (much smaller) example of what you want to do. Calling the working code from your GUI program should come later.

  • How to dynamically resize JPanel at runtime??

    Hello Sir:
    I met a problem, I need to resize a small JPanel called panel within a main Control JPanel (with null Layout) if I click the mouse then I can Drag and Resize this small JPanel Border to the size I need at runtime, I know I can use panel.setSize() or panel.setPreferredSize() methods at design time,
    But I have no idea how to do it even I search this famous fourm,
    How to dynamically resize JPanel at runtime??
    Can any guru throw some light or good example??
    Thanks

    Why are you using a null layout? Wouldn't having a layout manager help you in this situation?

  • How to place a JPanel at the center of another JPanel?

    Can anyone tell me how to place a JPanel inside another JPanel? The first JPanel consists of three JPanels each consisting of a label&textfield and are placed using BoxLayout. The second JPanel is a big blank screen. So, i would like to put the first JPanel at the center of second JPanel(horizontally & vertically). The problem is that i don't have any other component. So,if i try to use FlowLayout, i am able to put it at the center(horizontally, not vertically) only on the top edge. I tried to use BoxLayout. But, i couldn't(as i don't have any other elements). I tried to create some blank elements. But, they are messing up the elements of my JPanel. Any cluesssssssss??????????

    import java.awt.*;
    import javax.swing.*;
    public class CenteredLayout
        private JPanel getPanel()
            GridBagLayout gridbag = new GridBagLayout();
            GridBagConstraints gbc = new GridBagConstraints();
            gbc.insets = new Insets(2,2,2,2);
            JPanel p = new JPanel(gridbag);
            addComponents(new JLabel("label 1"), new JTextField(8), p, gbc);
            addComponents(new JLabel("label 2"), new JTextField(8), p, gbc);
            addComponents(new JLabel("label 3"), new JTextField(8), p, gbc);
            JPanel panel = new JPanel(gridbag);
            panel.setBackground(Color.pink);
            gbc.anchor = GridBagConstraints.CENTER;
            gbc.insets = new Insets(0,0,0,0);
            panel.add(p, gbc);
            return panel;
        private void addComponents(Component c1, Component c2, Container c,
                                   GridBagConstraints gbc)
            gbc.anchor = GridBagConstraints.EAST;
            gbc.gridwidth = GridBagConstraints.RELATIVE;
            c.add(c1, gbc);
            gbc.anchor = GridBagConstraints.WEST;
            gbc.gridwidth = GridBagConstraints.REMAINDER;
            c.add(c2, gbc);
        public static void main(String[] args)
            JFrame f = new JFrame();
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            f.getContentPane().add(new CenteredLayout().getPanel());
            f.setSize(400,400);
            f.setLocation(200,200);
            f.setVisible(true);
    }

  • ADF TreeTable - How to hide Disclose/Expand icon for leaf node

    We are using ADF Tree Table in our application.
    Whenever a node is expanded - all the child nodes have the disclose/expand icon along with it.
    But, we don't want to show the disclose/expand icon if it is a leaf node.
    How can this be done?
    JDeveloper Version: JDeveloper 11.1.1.3
    Thanks,
    Navaneeth

    I have a hierarchical tree based on single POJO based class exposed as data control.
    (i.e) a node can have many levels.
    Can you specify how we can use the folder icon for this - Can you please provide some detailed information?
    Thanks in advance,
    Navaneeth

  • How to define the margins of a leaf in numbers 3.2

    how to define the margins of a leaf in numbers 3.2
    leaves appear without margin and not when moving from one sheet to another

    Hi Ariel,
    Numbers 3 does not show margins in normal (edit) view. Some help with layout:
    Try Alignment Guides and Rulers as suggested here:
    Print View workarounds
    Use a layout guide:
    Layout Guide for Numbers
    If you previously had Numbers 2.3 (Numbers '09) it now lives in a folder called iWork '09 inside your Applications folder. It works just as well as it used to, and has a proper Print View.
    Regards,
    Ian.

  • How can i use LINK_CLICK event

    Hi,
    how can i use event LINK_CLICK in list tree.
    Plz help me.
    Regards ,
    Venkat.

    use this....
    CLASS cl_event_receiver DEFINITION.
      PUBLIC SECTION.
        METHODS on_expand_no_children
                FOR EVENT expand_no_children OF cl_gui_simple_tree
                IMPORTING node_key sender.
        METHODS on_node_double_click
                FOR EVENT node_double_click OF cl_gui_simple_tree
                IMPORTING node_key sender.
    ENDCLASS.
    CLASS    cl_event_receiver
    IMPLEMENTATION
    CLASS cl_event_receiver IMPLEMENTATION.
    Triggering event:      expand_no_children
    Handling method:       on_expand_no_children
    Description:
    The handling method is called whenever a node is supposed to be
    expanded (by clicking on the expander icon) while subordinate entries
    are not yet known in the GUI.
    In this case the node table must be complemented with the respective
    entries.
      METHOD on_expand_no_children.
        IF SENDER <> obj_simple_tree.
          EXIT.
        ENDIF.
    Determine subnodes
        REFRESH t_gui_node.
        LOOP AT t_node INTO wa_node WHERE relatkey = node_key.
          APPEND wa_node TO t_gui_node.
        ENDLOOP.
    Send node table to GUI
        CALL METHOD obj_simple_tree->ADD_NODES
          EXPORTING
            TABLE_STRUCTURE_NAME           = 'MTREESNODE'
            NODE_TABLE                     = t_gui_node
          EXCEPTIONS
            ERROR_IN_NODE_TABLE            = 1
            FAILED                         = 2
            DP_ERROR                       = 3
            TABLE_STRUCTURE_NAME_NOT_FOUND = 4
            others                         = 5.
        IF SY-SUBRC <> 0.
          MESSAGE i398(00) WITH 'Error' sy-subrc
                                'at methode ADD_NODES'.
        ENDIF.
      ENDMETHOD.
    Triggering event:      node_double_click
    Handling method:       on_node_double_click
    The handling method is called every time a double-click is executed
    on a node or a leaf.
      METHOD on_node_double_click.
        IF SENDER <> obj_simple_tree.
          EXIT.
        ENDIF.
    Output message for selected node or leaf
        CLEAR wa_node.
        READ TABLE t_node
          WITH KEY node_key = node_key
          INTO wa_node.
        IF SY-SUBRC = 0.
          IF wa_node-isfolder = 'X'.
            MESSAGE i398(00)
              WITH 'Double-click on node' wa_node-node_key.
          ELSE.
            MESSAGE i398(00)
              WITH 'Double-click on leaf' wa_node-node_key.
          ENDIF.
        ELSE.
          MESSAGE i398(00)
             WITH 'Double-click on unknown node'.
        ENDIF.
      Trigger PAI and transfer function code (system event)
        CALL METHOD cl_gui_cfw=>set_new_ok_code
             EXPORTING new_code = 'FCODE_DOUBLECLICK'.
      ENDMETHOD.
    ENDCLASS.
    *&      Module  STATUS_0100  OUTPUT
          GUI status for dynpro
    MODULE STATUS_0100 OUTPUT.
      SET PF-STATUS 'DYN_0100'.
      SET TITLEBAR 'DYN_0100'.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      Module  create_objects  OUTPUT
          Create instances
    MODULE create_objects OUTPUT.
      IF NOT obj_custom_container IS INITIAL.
        EXIT.
      ENDIF.
          Create instance for custom container
      CREATE OBJECT obj_custom_container
        EXPORTING
        PARENT                      =
          CONTAINER_NAME              = 'DYNPRO_CONTAINER'
        STYLE                       =
        LIFETIME                    = lifetime_default
        REPID                       =
        DYNNR                       =
        NO_AUTODEF_PROGID_DYNNR     =
        EXCEPTIONS
          CNTL_ERROR                  = 1
          CNTL_SYSTEM_ERROR           = 2
          CREATE_ERROR                = 3
          LIFETIME_ERROR              = 4
          LIFETIME_DYNPRO_DYNPRO_LINK = 5
          others                      = 6.
      IF SY-SUBRC <> 0.
        MESSAGE i398(00) WITH 'Error' sy-subrc
                              'when creating the custom container controls'.
      ENDIF.
          Create instance (back-end) for Simple Tree Model
      CREATE OBJECT obj_simple_tree
        EXPORTING
          NODE_SELECTION_MODE = CL_SIMPLE_TREE_MODEL=>NODE_SEL_MODE_SINGLE
        HIDE_SELECTION              =
        EXCEPTIONS
          ILLEGAL_NODE_SELECTION_MODE = 1
          others                      = 2.
      IF SY-SUBRC <> 0.
        MESSAGE i398(00) WITH 'Error' sy-subrc
                              'when creating the Simple Tree Model'.
      ENDIF.
          Create instance (representative object for control at front end)
      CALL METHOD obj_simple_tree->CREATE_TREE_CONTROL
        EXPORTING
        LIFETIME                     =
          PARENT                       = obj_custom_container
        SHELLSTYLE                   =
      IMPORTING
        CONTROL                      =
        EXCEPTIONS
          LIFETIME_ERROR               = 1
          CNTL_SYSTEM_ERROR            = 2
          CREATE_ERROR                 = 3
          FAILED                       = 4
          TREE_CONTROL_ALREADY_CREATED = 5
          others                       = 6.
      IF SY-SUBRC <> 0.
        MESSAGE i398(00) WITH 'Error' sy-subrc
                              'when creating the Simple Tree Control'.
      ENDIF.
    ENDMODULE.                 " create_objects  OUTPUT
    *&      Module  register_events  OUTPUT
          Event handling
    MODULE register_events OUTPUT.
          Register events as system event at CFW                         *
      CLEAR t_events.
    Register event for double-click
      CLEAR wa_event.
      wa_event-eventid = CL_SIMPLE_TREE_MODEL=>EVENTID_NODE_DOUBLE_CLICK.
      wa_event-appl_event = ' '.
      APPEND wa_event TO t_events.
    Register events at CFW and control at front end
      CALL METHOD obj_simple_tree->SET_REGISTERED_EVENTS
         EXPORTING
            EVENTS                   = t_events
         EXCEPTIONS
           ILLEGAL_EVENT_COMBINATION = 1
           UNKNOWN_EVENT             = 2
           others                    = 3.
      IF SY-SUBRC <> 0.
        MESSAGE i398(00) WITH 'Error' sy-subrc
                              'when registering the events'.
      ENDIF.
          Create event handler and register events
      IF obj_event_receiver IS INITIAL.
        CREATE OBJECT obj_event_receiver.
        SET HANDLER obj_event_receiver->on_node_double_click
                FOR obj_simple_tree.
        SET HANDLER obj_event_receiver->on_expand_no_children
                FOR obj_simple_tree.
      ENDIF.
    ENDMODULE.                 " register_events  OUTPUT
    *&      Module  create_tree  OUTPUT
          Create node table with root and 1st level
    MODULE create_tree OUTPUT.
      IF NOT t_node IS INITIAL.
        EXIT.
      ENDIF.
          Create node table
      PERFORM fill_node_table.
          Fill node table t_gui_node for control
      REFRESH t_gui_node.
      t_gui_node = t_node.
          Transfer entire node table to Simple Tree Model
      CALL METHOD obj_simple_tree->ADD_NODES
        EXPORTING
          NODE_TABLE          = t_gui_node
        EXCEPTIONS
          ERROR_IN_NODE_TABLE = 1
          others              = 2.
      IF SY-SUBRC <> 0.
        MESSAGE i398(00) WITH 'Error' sy-subrc
                              'at methode ADD_NODES'.
      ENDIF.
    ENDMODULE.                 " create_tree  OUTPUT

  • How do I use Edge Web Fonts with Muse?

    How do I use Edge Web Fonts with Muse - is it an update to load, a stand alone, how does it interface with Muse? I've updated to CC but have no info on this.

    Hello,
    Is there a reason why you want to use Edge Web Fonts with Adobe Muse?
    Assuming you wish to improve typography of your web pages, you should know that Muse is fully integrated with Typekit. This allows you to access and apply over 500 web fonts from within Muse. Here's how you do it:
    Select a text component within Muse, and click the Text drop-down.
    Select Add Web Fonts option, to pop-open the Add Web Fonts dialog.
    Browse and apply fonts per your design needs.
    Muse also allows you to create paragraph styles that you can save and apply to chunks of text, a la InDesign. Watch this video for more information: http://tv.adobe.com/watch/muse-feature-tour/using-typekit-with-adobe-muse/
    Also take a look at these help files to see if they help you:
    http://helpx.adobe.com/muse/tutorials/typography-muse-part-1.html
    http://helpx.adobe.com/muse/tutorials/typography-muse-part-2.html
    http://helpx.adobe.com/muse/tutorials/typography-muse-part-3.html
    Hope this helps!
    Regards,
    Suhas Yogin

  • How do I use Panorama / Tab Groups with the keyboard?

    Yes I know that CTRL-SHIFT-E opens the panorama window, and then I can use the mouse to organize my tabs into groups.
    But how do I do this with the keyboard?
    I've [http://lifehacker.com/#!5719596/switch-between-tab-groups-in-firefox-with-a-keyboard-shortcut read] [http://ubuntuforums.org/showthread.php?t=1705714 that] Ctrl-`should move me through tab groups. That doesn't work for me on my Danish keyboard. (Where the ' and ` chars are weird. But is how they are on a valid standard Danish keyboard) I've tried changing the keyboard to USA and then moving through tab groups works fine.
    In short: Pretend I don't have a mouse. How do I use Panorama / Tab Groups?

    Sorry. These are both known bugs:
    [https://bugzilla.mozilla.org/show_bug.cgi?id=587010 Bug 587010] - Add keyboard UI for manipulated groups and tabs in Tab Candy
    and
    [https://bugzilla.mozilla.org/show_bug.cgi?id=626594 Bug 626594] - shortcut for switching tab groups is badly accessible on many non-US keyboard layouts

  • How do I use a custom UserInfo with a T3Client?

    This is related to my previous post, 4655. The problem is I if
    use a custom implementation of the interface
    weblogic.security.acl.UserInfo in a T3Client constructor, the
    client fails to connect. If I use
    weblogic.security.acl.DefaultUserInfoImpl, the client connects
    and disconnects without any problems. How do I use a custom
    UserInfo implementation with a T3Client?

    In don't know about the Gmail part, but for the Hotmail, try this link.
    Here's another link from a different source.

  • How do I use HP iPAQ H4300 WITH Windows 7?

    I recently upgraded from Windows XP to Windows 7.  How do I use my HP iPAQ h4300 pocket PC with this recently installed Operating System?
    Ed Walsh [Personal Information Removed]

    Hello edwalsh606,
    I understand you are seeking assistance with the iPAQ H4300 and your new Windows 7. I am sorry, but to get your issue more exposure, I would suggest posting it in the commercial forums, since this is a commercial product. You can do this at Notebook - HP ProBook, EliteBook, Compaq, Slate/Tablet PC, Armada, LTE.
    I hope this helps. Thank you for posting on the HP Forums. Have a great day!
    Please click the "Thumbs Up" on the bottom right of this post to say thank you if you appreciate the support I provide!
    Also be sure to mark my post as “Accept as Solution" if you feel my post solved your issue, it will help others who face the same challenge find the same solution.
    Dunidar
    I work on behalf of HP
    Find out a bit more about me by checking out my profile!
    "Customers don’t expect you to be perfect. They do expect you to fix things when they go wrong." ~ Donald Porter

  • How do I use my Time Capsule with hotel wired internet

    How do I use my Time Capsule as a wireless router on my hotel free internet ethernet cable?

    It may not be possible..
    If they use a web access page, then there is no way you can set the TC to authenticate.. you must use the computer to authenticate and then use the computer to bridge to the TC for wireless clients to access.
    Look up instructions on using ICS (internet connection sharing) in the Mac.
    eg for 10.6.8 http://support.apple.com/kb/PH6589
    eg http://support.apple.com/kb/PH10740
    Of course if there is no login then you could just use it.. but I doubt you would be asking if it just worked.

  • How do i use my own image with keying (or green screen)

    how do i use my own image witrh keying (or green screen)

    Put your sky clip on a layer below the clip you want to key. One or the other will be a connected clip. Apply  the Keying filter to foreground clip (the one with the green screen). The green will be seen as transparent and the sky will show through as the BG. Adjust as necessary in the Inspector.
    Good luck.
    Russ

  • How do I use ipod 5th classic with new itunes

    how do I use my old ipod classic 5th generation with the latest itunes software?

    The same way as before...
    If the new look of iTunes is confusing, it may look more familiar to you if you show the sidebar.  It is hidden by default to streamline the look and feel.
    From the iTunes menu bar, under View, select Show Sidebar.  With the sidebar not hidden, iTunes mostly works like it did before.

  • How do I use my airport extreme with my FIOS router?

    How do I use my AirPort Extreme base station with my FIOS Router to extend my network?  I have hard disks connected to my AirPort Extreme and would lik to access them.

    Probably can't answer all your questions - but.... I use a Linksys (wired and wireless) router as my primary entry point for FIOS. I use a Time Capsule and an Airport Express as a common wireless connection. So I have two visibile wireless networks and use them both depending on where I am in the house. Both the TC and AEx can be seen either wirelessly or wired from the entire network. Note - the Linksys provides all the DHCP - you set the apple routers as "bridge mode."

Maybe you are looking for

  • Re: system server is not running

    Msconfig still not working. I still have not resoled the problem below. System Information Time of this report: 9/11/2013, 14:52:35 Machine name: YOUR-1CA66CCC78    Operating System: Windows XP Professional (5.1, Build 2600) Service Pack 3 (2600.xpsp

  • How the **** do I upgrade mac 10.5.8 to version 10.6

    I need to upgrade my computer to get any videos and many websites to work, so I bought snow leapord version 10.6 from the apple website. Just like I expected it didn't work when I tried to download it. After about 4 different times I just gave up. I

  • Contracts with different Currencies

    Hi SAP experts,is it possible  to create a Contract with different currencies in line items for a vendor???.Thank you for any advice.

  • Runtime Header Status in VA02

    Dear Experts, In VA02 when we go to GoTo>Header>Status--->Object Status , when we change Object status e.g. from RELE to CHVL , then i need immediately that status in some field or table without saving it. Although i can get status from FM ALM_ME_REA

  • Solution Manager Self check gives an error

    Hi all, After installing diagnostics on SM 4.0 SPS 13 i have run a self check. Everything is ok except for one issue. This is an issue with a task from the task scheduler: 3084] The Task Collect Configuration Data (nw01) failed during its processing!