Drag and Drop for Tree in a Table

I have placed a tree in a table using the example provided in an article "Creating TreeTables in Swing" in java.sun.com. But , instead of using the FileSystem data with which the example was explained , i have passed my own data...Then i created a panel wherein i placed two of these tables with buttons in between.
The buttons are meant for data transfer....The problem is if i implement Drag and Drop support for the TreeTable the Tree embedded in the Table doesn't expand and collapsing properly....
Can there be any reason that if a tree is placed in a Jtable and the drag and drop is enabled using setDragEnabled(true) will it effect the normal behaviour

You can implement DropTargetListener, DragSourceListener, DragGestureListener like the following:
public class MyTree extends JTree
            implements DropTargetListener, DragSourceListener, DragGestureListener {
    public void dragEnter (DropTargetDragEvent event) {
        event.acceptDrag (DnDConstants.ACTION_MOVE);
    public void dragExit (DropTargetEvent event) {
        //System.out.println( "dragExit");
    public void dragOver (DropTargetDragEvent event) {
    public void drop (DropTargetDropEvent event) {
        // place your code for action after drop
    public void dropActionChanged ( DropTargetDragEvent event ) {
    public void dragGestureRecognized( DragGestureEvent event) {
    public void dragDropEnd (DragSourceDropEvent event) {  
    public void dragEnter (DragSourceDragEvent event) {
        //System.out.println( " dragEnter");
    public void dragExit (DragSourceEvent event) {
        //System.out.println( "dragExit");
    public void dragOver (DragSourceDragEvent event) {
        //System.out.println( "dragExit");
    public void dropActionChanged ( DragSourceDragEvent event) {
        //System.out.println( "dropActionChanged");
}Hope this can help.

Similar Messages

  • Reordering of rows - issue with drag and drop of editable columns in table

    JDeveloper: 11.1.1.6.0
    ADF Faces - Drag and Drop for reordering of rows within the same af:table
    I have a requirement for reordering rows in a table using drag and drop. This table is loaded using a list and I am able to programmatically do the reordering of the rows based on the events of drag and drop by manipulating the list. Reordering of rows is working fine if all the columns are read only. For all the input text and input date columns the values are not getting reordered. Anyone has any idea on what the issue may be with reordering of the rows for editable columns/rows (af:inputText and af:inputDate) in af:table. Below is what Iam doing on drop event which is a collection drop target.
    public DnDAction dropCollection(DropEvent dropEvent) {
    try
    Object dropSite = dropEvent.getDropSite();
    Transferable transferable = dropEvent.getTransferable();
    DataFlavor<RowKeySet> rowKeySetFlavor = DataFlavor.getDataFlavor(RowKeySet.class, "rowmove");
    RowKeySet rowKeySet = transferable.getData(rowKeySetFlavor);
    RichTable table = (RichTable) dropEvent.getDragComponent();
    if (rowKeySet != null)
    CollectionModel dragModel = transferable.getData(CollectionModel.class);
    Object dragM = dragModel.getRowData(0);
    Object currKey = rowKeySet.iterator().next();
    dragModel.setRowKey(currKey);
    table.setRowKey(currKey);
    OrderData orderData = (OrderData)this.prodReportTableData.get(Integer.parseInt(currKey.toString()));
    this.prodReportTableData.remove(Integer.parseInt(currKey.toString()));
    this.prodReportTableData.add(Integer.parseInt(dropSite.toString()), orderData);
    OrderData orderDataAdded = this.prodReportTableData.get(Integer.parseInt(dropSite.toString()));
    JSFUtils.addPartialTarget(this.getProdReportTableBinding());
    catch(Exception e)
    e.printStackTrace();
    return DnDAction.MOVE;
    Code snippet from UI:
    <af:table value="#{pageFlowScope.prodReportBackingBean.prodReportTableData}"
    var="row" styleClass="AFStretchWidth" rowBandingInterval="0"
    rows="40" emptyText="No data to display." id="t1"
    partialTriggers=":::cb1" columnStretching="column:c3"
    binding="#{pageFlowScope.prodReportBackingBean.prodReportTableBinding}" summary="PROD TABLE">
    <af:dragSource actions="MOVE" defaultAction="MOVE"
    discriminant="rowmove"
    dragDropEndListener="#{pageFlowScope.prodReportBackingBean.afterDragAndDrop}"/>
    <af:collectionDropTarget dropListener="#{pageFlowScope.prodReportBackingBean.dropCollection}"
    actions="MOVE"
    modelName="rowmove"/>

    Hi,
    not sure its the reason but you have huge bummer in your configuration.
    <af:table value="#{pageFlowScope.prodReportBackingBean.prodReportTableData}"
    var="row" styleClass="AFStretchWidth" rowBandingInterval="0"
    rows="40" emptyText="No data to display." id="t1"
    partialTriggers=":::cb1" columnStretching="column:c3"
    *binding="#{pageFlowScope.prodReportBackingBean.prodReportTableBinding}"* summary="PROD TABLE">
    JSF component bindings should not be to beans in a scope larger than request to avoid stale component instances.
    Frank

  • Drag and drop for PC and Tablet issues

    Hi!
    I’m doing a drag and drop for both PC and tablet.
    I need to allow any elements (draggables) to be able to drop into any of the droppable areas and not just restrict to 1 area. I tried using the if/else statement, but I can’t seem to make it work. For example, Position 1 (droppable area) must be accept all the cases – case1, case2, case3 (draggables), but only 1 draggable on a droppable at any one time.
    I hope you can help me out, or atleast helping me with the if/else statement.This is a link to my folder.https://www.box.com/s/0pksqtpmqg7zae43en66
    —————————————these are my codes, in case you can’t open the file.———————————————————–
    yepnope(
    nope:[
    'js/jquery-ui-1.9.2.custom.min.js',
    'js/jquery.ui.touch-punch.min.js',
    'css/jquery-ui-1.9.2.custom.min.css'
    complete: init
    function init() {
    var stage = sym.$(“Stage”);
    //DRAGGABLE. case1
    //var _1 = sym.$(“_1″); changed _1 to _2
    var _2 = sym.$(“_2″);
    _2.css(“position”, “absolute”);
    _2.draggable({ disabled: false });
    _2.draggable({ containment: stage });
    //for(var i=1; i<=9;i++){
    _2.draggable({
    snap: '.target1',
    snapMode: 'centre'
    //DROPPABLE
    var position1 = sym.$("position1");
    position1.css("position", "absolute");
    //     position1.css("left", 375);
    //     position1.css("top", 25);
    //position1.on( "dropout", function( event, ui ) {
    //drop into position1
    position1.droppable({
    accept: ".case1",
    drop: function(event, ui) {
    console.log(this.childNodes);
    var element2 = sym.$(".Stage_position1__1Black_Eagle_id"); //Stage_position1__1Black_Eagle_id
    element2.show();
    _2.hide();
    /*else if(_1){
    var element = sym.$(".Stage_position1__2Green_Parrot_id");
    element.show();
    _1.hide();
    // adds visual when correct drops here
    //case2. _5
    //DRAGGABLE
    var _5 = sym.$("_5");
    _5.css("position", "absolute");
    _5.draggable({ disabled: false });
    _5.draggable({ containment: stage });
    //for(var i=1; i<=9;i++){
    _5.draggable({
    snap: '.target2',
    snapMode: 'corner'
    //DROPPABLE
    var position2 = sym.$("position2");
    position2.css("position", "absolute");
    position2.droppable({
    accept: ".case2",
    drop: function(event, ui) {
    console.log(this.childNodes);
    var element5 = sym.$(".Stage_position2__5Black_Snake_id");
    element5.show();
    _5.hide();
    //case3. _7
    //DRAGGABLE
    var _7 = sym.$("_7");
    _7.css("position", "absolute");
    _7.draggable({ disabled: false });
    _7.draggable({ containment: stage });
    _7.draggable({
    snap: '.target3',
    snapMode: 'corner'
    //DROPPABLE
    var position3 = sym.$("position3");
    position3.css("position", "absolute");
    position3.droppable({
    accept: ".case3",
    drop: function(event, ui) {
    console.log(this.childNodes);
    var element7 = sym.$(".Stage_position3__7Green_Praying_Mantis_id");
    element7.show();
    _7.hide();
    });// end of codes
    Can anyone help me to figure out the if/else or switch statement to be used? I tried both but it doesn' work. This is my switch statement.
    var stage = sym.$(new bigElements) ;
    switch (bigElements) {
    //list down all the possible cases/scenarios.
      case "Stage__2":
              alert("Just like the sky!");
        break;
      case "Stage__5":
                  alert("Just like shiraz!");
        break;
      case "Stage__7":
        alert("Suit yourself then...");
        break;
      default:
        alert("lalala...");
    var stage = sym.$(new bigElements)
    switch (bigElements) {
      case "Stage__2":
        alert("Just like the sky!");
        break;
      case "Stage__5": //"case2"
       alert("Just like shiraz!");
        break;
      case "Stage__7":
       alert("Suit yourself then...");
        break;
      default:
         alert("lalala...");
    I've only included excerpt of the codes to let you have an idea of it. Thank you so much for your time.

    It seems like you're asking about JS for web-pages. This forum is about JS
    in PDF documents.

  • Is there any way to disable right click and drag and drop for photos on iweb?

    Re: protecting photos when using iweb as your web designer...
    Is there any way to disable right click and drag and drop for photos using iweb?  I have seen tutorials about creating a text box around each image - but is there a better way? 

    However, there is no way you can prevent someone from making a screenshot of the image as it is displayed on the screen no matter what application you use to create the web page.
    You can add a watermark to dissuade the casual "thief" but those who are serious about stealing the photo for their own use can remove the watermark with some effort.
    OT

  • Drag and Drop for Creative Cloud CS applications

    I just joined Creative Cloud for CS software applicatons; I am already a Muse user - will I need to cancel that use and download Muse again to avoid double payment? Also, I am not able to drag and drop the CS applications at this time - is it not yet available? If not, when will it? Even the Muse app would not drag and drop for download?
    Thank you.

    Are you trying to install the applications my dragging the application icon from the Creative Cloud Apps page at https://creative.adobe.com/apps to your computer? If so that will not work since that is just an image in the web page.
    To install click on the Download (or Try for trial members) link and the Adobe Application Manager (AAM) should download and install. AAM will then handle the installation of the applications.

  • Drag and Drop CSV file onto a table in Number

    Hi everyone !
    I really love the new version of iWork. However I can't find a feature I was heavilly using which is the drag and drop of a CSV file into numbers which creates the table associated to this file.
    Is there anyone who has find a way to re-activate this feature? Or will I have to open new number spreadsheat each time I want to import CSV ?
    Thanks for your help !
    Vincent.

    Jerrold Green1 wrote:
    I have very few photos in my Contacts, so I saw the problem on my first try.
    Exactly what happens here too when dragging from Contacts; I typically don't have photos there either. I submitted a "bug" report via Provide Numbers Feedback.
    Do you still get misalignment of column headers when dragging or pasting csv or tsv (i.e. not from Contacts)?  I've had pretty good results with csv and tsv here in v. 3.2, a welcome change from the earlier releases.
    SG

  • Drag and drop in tree and grid

    Hi all, I have one question on dragging and dropping from grid to/from tree.
    In a screen I have one tree and one grid. The following operations need to be performed on this screen.
    1. Drag from grid and drop in tree.
    2. Drag from tree and drop in grid.
    3. Drag from tree and drop in tree itself.
    Actually we will add the flavors for every action. Here I am confused in how many flavors I need to take.
    What I am taking right now are:
    For tree: 3 seperate flavors.
    For Grid: 2 seperate flavors.
    Can you please advise me on this.
    Thanks and Regards,
    Balakrishna.N

    Hello,
    Try with this programs
    BCALV_TEST_GRID_DRAG_DROP
    BCALV_TEST_DRAG_DROP_02

  • Manual Drag and Drop from Tree to Tree with XML dataProvider

    Been struggling with Drag-n-Drop between Tree controls. As far as I can tell, it doesn't work very well.
    I have boiled it down to a minimal project below and would be ever so grateful if someone can tell me what I am doing wrong.
    The complete MXML application file is below. Flex 3.5.
    Two trees side-by-side. One has XML that I want to drag over to the drop tree.
    On the DragOver() event, I select the node which is given to me by the calculateDropIndex() function.
    After startup; first open the L1 branch on the left and drag L11 over and drop it on the right Tree.
    Looks good, root node is selected/highlighted and dropFeedback is correct and dropping the node drops it as a child of "Start Here".
    Open the Start Here root node to see it.
    Now proceded to #1 below.
    Here are the problems:
    1) Drag "L12" from the left tree over to the middle of the right tree (below "L11" just dropped). "L11" will not be selected. The Selected node (with dropIndex=4) will be the entire new nested XML "<L><L11/></L>"; and therefore only "Start Here" node will be highlighted. Drop "L12" anyway. So, it is acting like selectedIndex = <anynumber> will only select the root node. How do I get the new L11 to show as a drop target?
    2) Now drag "L21" from the left tree onto the right tree; again starting below all nodes on the right tree. Selected node will not change until you drag it above #2 out of 3. Then, you can drag it anywhere, and correctly highlight/select any node as the target, and get that node in code. This is a problem. Go ahead and drop it anywhere. Now if you drag, for example, L22 from the left it will correctly highlight/select any node without having to first drag above #2 in the list.
    3) Now, grab and drag L11 a second time and drop it at the bottom on the right. Drag L23 over. No matter which L11 you hover over, it highlights the one at the bottom. How can this be right?
    Those are the bugs I would like to figure out. If I am doing it wrong, I sure would like to know what I am doing wrong. The code below is distilled down to one simple mxml application module.
    Thanks,
    Jeff
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal" minWidth="955" minHeight="600">
    <mx:Script>
    <![CDATA[
    import mx.collections.XMLListCollection; 
    import mx.core.IUIComponent; 
    import mx.events.DragEvent; 
    import mx.managers.DragManager; 
    Bindable] 
    private var dragXML:XML = 
    <Tree label="root"><L1 label="L1">
    <L11 label="L11"/>
    <L12 label="L12"/>
    </L1>
    <L2 label="L2">
    <L21 label="L21"/>
    <L22 label="L22"/>
    <L23 label="L23"/>
    </L2>
    </Tree> ; 
    Bindable] 
    private var dragXMLListCollection:XMLListCollection = new XMLListCollection(dragXML.*); 
    Bindable] 
    private var dropXML:XML = 
    <Tree label="root"><L label="Start Here"/>
    </Tree> ; 
    Bindable] 
    private var dropXMLListCollection:XMLListCollection = new XMLListCollection(dropXML.*); 
    // ************* Drag Drop Events ********************
    private function dragEnter(evt:DragEvent):void
    if (evt.dragSource.hasFormat("treeItems")) DragManager.acceptDragDrop(IUIComponent(evt.target));}
    private function dragOver(evt:DragEvent):void
    // Calculate dropindex and set selected item
    var dropIndex:int = dropTree.calculateDropIndex(evt);dropTree.selectedIndex = dropIndex;
    // setting the selected item based on calculateDropIndex()
    var selNode:XML = dropTree.selectedItem as XML; // Getting XML for selected node in Tree
    var selNodeName:String = (selNode != null ? selNode.localName() : ""); 
    // Get dragged XML
    var dragNode:XML = XML(evt.dragSource.dataForFormat("treeItems")[0]); 
    var dragNodeName:String = dragNode.localName(); 
    trace(evt, "\n", dropIndex, "\n", (selNode ? selNode.toXMLString() : "null"), "\n", dragNode.toXMLString()); 
    // you cannot drop a shorter name on a longer name
    if ((dragNodeName.length >= selNodeName.length) && (selNode != null)) DragManager.showFeedback(DragManager.COPY); 
    else DragManager.showFeedback(DragManager.NONE);}
    private function dragDrop(evt:DragEvent):void
    // get selected node in drop tree
    var selNode:XML = dropTree.selectedItem as XML; //selected in dragOver() event
    // Get dragged XML
    var dragNode:XML = XML(evt.dragSource.dataForFormat("treeItems")[0]); 
    // Drop logic
    // Compare dragNode.localName().length to dropNode.localName().length
    // if drag longer; drop as child
    // if drag is equal; drop as sibling
    // Drag can never be shorter in this example.
    var isChild:Boolean = String(dragNode.localName()).length > String(selNode.localName()).length; 
    if (isChild){
    selNode.insertChildAfter(
    null, dragNode);}
    else
    selNode.parent().insertChildAfter(selNode, dragNode);
    ]]>
    </mx:Script>
    <mx:Tree id="dragTree" width="30%" showRoot="true" height="100%" labelField="@label"dataProvider="
    {dragXMLListCollection}"dragEnabled="
    true" dragMoveEnabled="false" dropEnabled="false" />
    <mx:Tree id="dropTree" width="30%" showRoot="true" height="100%" labelField="@label"dataProvider="
    {dropXMLListCollection}"dragEnter="dragEnter(event);" dragDrop="dragDrop(event);" dragOver="dragOver(event);"
    />
    </mx:Application>

    I just found out that by setting the dataProvider for each tree to the XML variable instead of the XMLListCollection variable, problems #1 and #2 went away!
    But the documentation says to use an XMLListCollection if you will be dynamically changing the tree contents.
    And, I just found out that #1 returns if I specify showRoot="false". But with it set to "true" that problem goes away. Is there some sort of minimum XML required to make drag-n-drop work on these Tree controls?
    Hmmmm. It appears that (for #3) the calculateDropIndex() will always return the last matching XML node - by name - in the tree.

  • Itunes 11.1.4 won't drag and drop for ios 5.0.1

    I have an older iPod touch running 5.0.1 and have ALWAYS manually managed the music on it.  I recently updated itunes to 11.1.4.62 and now the 'drag and drop' function in itunes doesn't work.  I have verified that the 'manually mangage music and videos' is checked.  I really don't want to upgrade the ios as I don't need the newer features.  I simply use this for music.  Is this a bug with the latest itunes?

    used a different computer running 11.0.5.5 and that worked.  I guess this is a new 'feature' with 11.1.x?

  • I cannot drag and drop for Photos in 10.10.3

    I seem to be unable to drag and drop from the new Photos application in Yosemite 10.10.3.  I have tried this with two different applications including Adobe's Photoshop Elements 13.  It seems to work fine with other apple applications.  (can drag and drop to desktop and to pages - only two I've tried) 
    However, it is very frustrating not to be able to drag and drop from Photos to another photo editing software.  Additionally, when I try to open a file from photos while in Photoshop using the menu - Photoshop crashes.  It appears I have no way to edit my photos in Photoshop if I store them in Photos...anybody else?

    Photos is a brand new, completely rewritten application. Adobe (and others) have not yet added compatibility with it.
    Exporting your your images to the desktop, then bringing them back into Photos, is the only way for external editing right now.

  • Drag and Drop for File Uploads

    Hey,
    Is it possible to do this in Flex? Drag and Drop files into a flex app - to upload them later (say on a button click). I did some searching and found that it is possible to do this in AIR - drag files from the file system and drop it in the app. But our app is web based and will be running in a browser.
    Thanks

    I have suffered from this during the past three days.
    Firefox 23.0, Mozilla Firefox for Ubuntu canonical - 1.0
    on a 32-bit Ubuntu PC. So the system couldn't be more different.
    I was trying to upload .MP3 files of 27MB. From about a dozen attempts with one file, no success whatever. On the other hand a different file worked first time. But a later attempt with a 14 MB .wav failed, so it's not related to the file.
    On the other hand an upload with Chrome worked perfectly. So it does look like a browser problem.
    Watching the system monitor during upload, it runs freely for about 9MB, then stops abruptly. At the same time, the message at the bottom left of the browser window, relating to dl-web.dropbox, disappears.
    The text of the message differed between Firefox & Chrome, but I imagine that's just a textual, rather than a functional, difference.

  • Drag and Drop for the tableview

    Can drag and drop used for a row in the tableview, how to do it?

    try this ;) ( i work on FXML project)
    @FXML
    TableView<String> tableView;
    private  ObservableList<String> tableContent = FXCollections.observableArrayList();
    tableView.setOnMouseClicked(new EventHandler<MouseEvent>() { //click
                    @Override
                    public void handle(MouseEvent event) {
                            if(event.getClickCount()==2){ // double click
                                String selected = tableView.getSelectionModel().getSelectedItem();
                                if(selected !=null){
                                    System.out.println("select : "+selected);
    tableView.setOnDragDetected(new EventHandler<MouseEvent>() { //drag
                @Override
                public void handle(MouseEvent event) {
                    // drag was detected, start drag-and-drop gesture
                    String selected = tableView.getSelectionModel().getSelectedItem();
                    if(selected !=null){
                        Dragboard db = tableView.startDragAndDrop(TransferMode.ANY);
                        ClipboardContent content = new ClipboardContent();
                        content.putString(selected);
                        db.setContent(content);
                        event.consume();
    tableView.setOnDragOver(new EventHandler<DragEvent>() {
                    @Override
                    public void handle(DragEvent event) {
                        // data is dragged over the target
                        Dragboard db = event.getDragboard();
                        if (event.getDragboard().hasString()){
                            event.acceptTransferModes(TransferMode.COPY_OR_MOVE);
                        event.consume();
    tableView.setOnDragDropped(new EventHandler<DragEvent>() {
                    @Override
                    public void handle(DragEvent event) {
                        Dragboard db = event.getDragboard();
                        boolean success = false;
                        if (event.getDragboard().hasString()) {           
                            String text = db.getString();
                            tableContent.add(text);
                            tableView.setItems(tableContent);
                            success = true;
                        event.setDropCompleted(success);
                        event.consume();
                });  

  • Drag-and-drop for image stacks

    I'd like to be able to drag and drop image stacks from one folder to the next. Currently, when I drag and drop it just grabs one of the images from the stack and leaves the others behind.
    I can expand the stack and then drag and drop all of them, but the stack itself is lost--I have to go to the destination directory and re-stack the images.
    Bart

    I've discovered (and its nowhere in the documentation as far as I can see) that if you select the bottom slide in a stack .. ie the bottom left hand corner of the "reperesenation of the lower slides" you can drag and drop the stack(s) in to another folder.
    Unfortunately they don't remain stacked ..Here's another vote for persistent stacks.
    Pete Roberts

  • Prevent drag and drop for QT web movies

    I've tried protecting QT movies on my web site using kioskmode, like this:
    http://www.apple.com/quicktime/tutorials/embed2.html#kioskmode
    but despite what Apple says, drag and drop remains enabled. Anyone know how to fix that?
    conran

    If your goal is to "protect" your videos the kioskmode="true" tag will be the weakest link.
    http://streamingmediaworld.com/gen/voices/praja/praja1.mov
    You can open and save the file using the Safari (or any other browser) by using the Safari Activity window.
    You can also download by dragging the link to the Download window.
    I use the Save As Un-Editalbe droplet on some of my files. Needs some work to run on a Tiger OS and you can email me for a copy that is Tiger "ready". Screen name (left) @ mac.com.
    But I still don't understand how drag and drop works if the file is "protected" via kioskmode="false" tags.

  • Drag and Drop For String Control

    Hello all,
    I attached a example program, where I did not see event for String Drag Starting?.
    Is it normal.
    I placed a break point and I tried to start draging, but I hvn't seen the event.
    Please let me know, if this is normal.
    Thanks,
    Attachments:
    Drag and Drop -String.vi ‏45 KB

    Extract from the LV help for this event :
    Generated when you start a drag
    from a listbox control. Use this event to signal
    when a drag and drop operation begins from a specific control. This
    event is generated only when LabVIEW begins a drag and drop operation on
    a listbox control. You can use the Start Drag method to begin a drag from other controls.

Maybe you are looking for

  • Looking for Final Cut Pro Version 6

    I'm looking to upgrade from FCP Version 5 to Version 6, but my G5 is pre-Intel. Anyone have suggestions on where to obtain FCP 6 besides just buying a new Intel G5? I would like to get a new G5, but the economy forced me to look at least upgrading as

  • Compiled a custom module

    I compiled a custom madwifi module using a patch for the Atheros 5007EG chipset. If I upgrade the kernel, will it break the module? Will I have to recompile everytime I get a kernel? I currently have the kernel ignored by pacman.

  • My Black berry Getting Hot

    Hi Dears,  my blackberry Porsche Design P'9882 getting very hot everytime i use it after 1 minuts  specially when i use viber or whatsapp... Device SN =**Removed** Please advise will be appriciated Regards, Zhalla  Edit: SN, Last Name removed. At no

  • Need to download CS5.5 Production Premium (STE) [was: Tired of the download run-around]

    I'm operating on a Windows Vista system and I'm trying to access a download link to Adobe Creative Suite 5.5 Production Premium (Student Teacher Edidtion). I had the suite previously downloaded onto the computer but we've had the hardrive crash and w

  • TA24901 i what to find out why my utilities folder has 0 items in it

    hello: my sister has talk me into coming to the computer. she gave me her old mac. 2 of them now i went from just from not knowing about the mac now i am just plane lost. now after all that here is the QUESTION: ON one of the mac's the dvd is open it