I must be missing the point but...

I do not know how to ask this question without an example so please bear with me....
My example is an contact book, say I have many friends (If only more of them were Java programmers) but quite a few share the same telephone number and, pervesely, quite often move to another, often already shared, telephone number. Phew!
So, I have:
an Telephone class:
String number
a Friend class:
String name;
Telephone tel;
and myself:
Friend[] friends;
Suppose I write a GUI that wraps this hierarchy; it shows me a list of my friends and allows me to edit them - specifically to change their telephone numbers.
Now, here's the bit I don't understand:
Somewhere I have to have a list of telephone numbers so that when I pop up my 'friend editor' I can generate a drop down list of available telephone numbers (or even add a new one).
Does this list exist in 'myself', should I loop through all the friends to find out what're available or something else?
Also, surely I should 'encapsulate' the 'friend editor' in some way so that 'it just knows' where to get the list from (Ie popup a 'telephone number selector') and if so how would it achieve this?
This is not a GUI/Swing question - I'm pretty sure I can make a half decent GUI - but a question as to how the classes interract with each other whilst still maintaining encapsulation.
Lastly, I must be missing the point or, due to my C experience, expecting too little of the language but all the tutorials seem to miss this interraction - they seem either to build bare GUIs or basic/extended classes but never a real application showing this aspect.
Please can someone furnish an explanation/example ?
Thanks
Philip

oh goodie I love discussions like this... well, sort of. I developed a program to store contacts, each contact had a name, an address and various other fields, so what's the relavence? Well, you want a program to store phone numbers and what not, and you need different classes to accomplish running the program, well this is where I think I can help. In my program there were three methods in the main class, they did delete, insert, and edit, then there was save, and load. Inside of those methods is where things came to life. I hope the code below helps in your program somehow.// cm.java
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
// =========================================================
// Class: cm
// This class drives the contact manager.  It contains the
// main method which gets called as soon as this application
// begins to run.
// =========================================================
class cm extends Frame implements ActionListener
   // Container of contact objects (one object per business
   // contact).
   private Vector contacts = new Vector (100);
   // List of names component.  (Must specify java.awt in
   // front of List to distinguish the List class in the
   // java.awt package from the List class in the java.util
   // package.)
   private java.awt.List names = new java.awt.List ();
   // Delete and update button components.
   private Button delete;
   private Button update;
   // Default constructor.
   public cm ()
      // Assign Contact Manager to title bar of frame window.
      super ("Contact Manager");
      // Add a listener that responds to window closing
      // events.  When this event occurs (by clicking on the
      // close box in the title bar), save contacts and exit.
      addWindowListener (new WindowAdapter ()
                             public void windowClosing
                                           (WindowEvent e)
                                saveContacts ();
                                System.exit (0);
      // Place an empty label in the north part of the frame
      // window.  This is done to correct an AWT positioning
      // problem.  (One thing that you'll come to realize as
      // you work with the AWT is that there are lots of bugs.)
      Label l = new Label ();
      add ("North", l);
      // Place the names component in the center part of the
      // frame window.
      add ("Center", names);
      // Create a panel object to hold four buttons.
      Panel p = new Panel ();
      Button b;
      // Add an Insert button to the Panel object and register
      // the current cm object as a listener for button events.
      p.add (b = new Button ("Insert"));
      b.addActionListener (this);
      // Add a Delete button to the Panel object and register
      // the current cm object as a listener for button events.
      p.add (delete = new Button ("Delete"));
      delete.addActionListener (this);
      // The Delete button should be disabled until there is at
      // least one contact to delete.
      delete.setEnabled (false);
      // Add an Update button to the Panel object and register
      // the current cm object as a listener for button events.
      p.add (update = new Button ("Update"));
      update.addActionListener (this);
      // The Update button should be disabled until there is at
      // least one contact to update.
      update.setEnabled (false);
      // Add a Finish button to the Panel object and register
      // the current cm object as a listener for button events.
      p.add (b = new Button ("Finish"));
      b.addActionListener (this);
      // Add the panel object to the frame window container.
      add ("South", p);
      // Set the background of the frame window container to
      // lightGray (to give a pleasing effect).
      setBackground (Color.lightGray);
      // Set the size of the frame window container to 400
      // pixels horizontally by 200 pixels vertically.
      setSize (400, 200);
      // Do not allow the user to resize the frame window.
      setResizable (false);
      // Load all contacts.
      loadContacts ();
      // Make sure that the frame window is visible.
      setVisible (true);
   public void actionPerformed (ActionEvent e)
      if (e.getActionCommand ().equals ("Delete"))
          delete ();
      else
      if (e.getActionCommand ().equals ("Finish"))
          saveContacts ();
          System.exit (0);
      else
      if (e.getActionCommand ().equals ("Insert"))
          insert ();
      else
          update ();
   public Insets getInsets ()
      // Return an Insets object that describes the number of
      // pixels to reserve as a border around the edges of the
      // frame window.
      return new Insets (10, 10, 10, 10);
   public static void main (String [] args)
      // Create a new cm object and let it do its thing.
      new cm ();
   private void delete ()
      // Obtain index of selected contact item from the names
      // component.
      int index = names.getSelectedIndex ();
      // If no item was selected, index is -1.  We cannot update
      // a contact if no contact item in the names component was
      // selected - because we would have nothing to work with.
      if (index != -1)
          // Remove the contact item from the names component.
          names.remove (index);
          // Remove the Contact object from the contacts Vector
          // object.
          contacts.remove (index);
          // If there are no more contacts ...
          if (contacts.size () == 0)
              delete.setEnabled (false);
              update.setEnabled (false);
          else
          // Make sure that the first contact item in the names
          // list is highlighted.
          names.select (0);
   private void insert ()
      // Create an Insert data entry form to enter information
      // for a new contact.
      DataEntryForm def = new DataEntryForm (this, "Insert");
      // If the bOk Boolean flag is set, this indicates the user
      // exited the form by pressing the Ok button.
      if (def.bOk)
          // Create a Contact object and assign information from
          // the form to its fields.
          Contact temp = new Contact ();
          temp.fname = new String (def.fname.getText ());
          temp.lname = new String (def.lname.getText ());
          temp.phone = new String (def.phone.getText ());
          temp.fax = new String (def.fax.getText ());
          temp.email = new String (def.email.getText ());
          // Add a new contact item to the names component.
          names.add (temp.lname + ", " + temp.fname);
          // Add the Contact object to the contacts Vector
          // object.
          contacts.add (temp);
          // Make sure that the Delete and Update buttons are
          // enabled.
          delete.setEnabled (true);
          update.setEnabled (true);
      // Destroy the dialog box.
      def.dispose ();
      // Make sure that the first contact item in the names list
      // is highlighted.
      names.select (0);
   // ===========================================================
   // Load all contacts from contacts.dat into the contacts
   // Vector object.  Also, make sure that the last name/first
   // name from each contact is combined into a String object and
   // inserted into the names component - as a contact item.
   // ===========================================================
   private void loadContacts ()
      FileInputStream fis = null;
      try
          fis = new FileInputStream ("contacts.dat");
          DataInputStream dis = new DataInputStream (fis);
          int nContacts = dis.readInt ();
          for (int i = 0; i < nContacts; i++)
               Contact temp = new Contact ();
               temp.fname = dis.readUTF ();
               temp.lname = dis.readUTF ();
               temp.phone = dis.readUTF ();
               temp.fax = dis.readUTF ();
               temp.email = dis.readUTF ();
               names.add (temp.lname + ", " + temp.fname);
               contacts.add (temp);
          if (nContacts > 0)
              delete.setEnabled (true);
              update.setEnabled (true);
      catch (IOException e)
      finally
         if (fis != null)
             try
                 fis.close ();
             catch (IOException e) {}
      // Make sure that the first contact item in the names list
      // is highlighted.
      names.select (0);
   // ========================================================
   // Save all Contact objects from the contacts Vector object
   // to contacts.dat.  The number of contacts are saved as an
   // int to make it easy for loadContacts () to do its job.
   // ========================================================
   private void saveContacts ()
      FileOutputStream fos = null;
      try
          fos = new FileOutputStream ("contacts.dat");
          DataOutputStream dos = new DataOutputStream (fos);
          dos.writeInt (contacts.size ());
          for (int i = 0; i < contacts.size (); i++)
               Contact temp = (Contact) contacts.elementAt (i);
               dos.writeUTF (temp.fname);
               dos.writeUTF (temp.lname);
               dos.writeUTF (temp.phone);
               dos.writeUTF (temp.fax);
               dos.writeUTF (temp.email);
      catch (IOException e)
         MsgBox mb = new MsgBox (this, "CM Error",
                                 e.toString ());
         mb.dispose ();
      finally
         if (fos != null)
             try
                 fos.close ();
             catch (IOException e) {}
   private void update ()
      // Obtain index of selected contact item from the names
      // component.
      int index = names.getSelectedIndex ();
      // If no item was selected, index is -1.  We cannot update
      // a contact if no contact item in the names component was
      // selected - because we would have nothing to work with.
      if (index != -1)
          // Obtain a reference to the Contact object (from the
          // contacts Vector object) that is associated with the
          // index.
          Contact temp = (Contact) contacts.elementAt (index);
          // Create and display an update entry form.
          DataEntryForm def = new DataEntryForm (this, "Update",
                                                 temp.fname,
                                                 temp.lname,
                                                 temp.phone,
                                                 temp.fax,
                                                 temp.email);
          // If the user pressed Ok...
          if (def.bOk)
              // Update the contact information in the contacts
              // Vector object.
              temp.fname = new String (def.fname.getText ());
              temp.lname = new String (def.lname.getText ());
              temp.phone = new String (def.phone.getText ());
              temp.fax = new String (def.fax.getText ());
              temp.email = new String (def.email.getText ());
              // Make sure the screen reflects the update.
              names.replaceItem (temp.lname + ", " + temp.fname,
                                 index);
          // Destroy the dialog box.
          def.dispose ();
          // Make sure that the first contact item in the names
          // list is highlighted.
          names.select (0);
// ========================================================
// Class: Contact
// This class describes the contents of a business contact.
// ========================================================
class Contact
   public String fname;
   public String lname;
   public String phone;
   public String fax;
   public String email;
// ==========================================================
// Class: DataEntryForm
// This class provides a data entry form for entering contact
// information.
// ==========================================================
class DataEntryForm extends Dialog implements ActionListener
   // bOk is a boolean flag.  When true, it indicates that
   // the Ok button was pressed to terminate the dialog box
   // (as opposed to the Cancel button).
   public boolean bOk;
   // The following components hold the text that the user
   // entered into the visible text fields.
   public TextField fname;
   public TextField lname;
   public TextField phone;
   public TextField fax;
   public TextField email;
   public void actionPerformed (ActionEvent e)
      // If the user pressed the Ok button, indicate this
      // by assigning true to bOk.
      if (e.getActionCommand ().equals ("Ok"))
          bOk = true;
      // Destroy the dialog box and return to the point
      // just after the creation of the DataEntryForm object.
      dispose ();
   public DataEntryForm (Frame parent, String title)
      // Call the other constructor.  The current constructor
      // is used for insert operations.  The other constructor
      // is used for update operations.
      this (parent, title, "", "", "", "", "");     
   public DataEntryForm (Frame parent, String title,
                         String fname, String lname,
                         String phone, String fax,
                         String email)
      // Initialize the superclass layer.
      super (parent, title, true);
      // Choose a grid bag layout so that components can be more
      // accurately positioned.  (It looks nicer.)
      setLayout (new GridBagLayout ());
      // Add appropriate first name, last name, phone, fax, and
      // email components to the current DataEntryForm container.
      // (Remember, DataEntryForm is a subclass of Dialog.
      // Dialog is a container.  Therefore, DataEntryForm
      // inherits the ability to be a container.)
      addComponent (this, new Label ("First name: "), 0, 0, 1, 1,
                    GridBagConstraints.NONE,
                    GridBagConstraints.WEST);
      this.fname = new TextField (15);
      addComponent (this, this.fname, 1, 0, 1, 1,
                    GridBagConstraints.NONE,
                    GridBagConstraints.CENTER);
      if (title.equals ("Update"))
          this.fname.setText (fname);
      addComponent (this, new Label ("Last name: "), 0, 1, 1, 1,
                    GridBagConstraints.NONE,
                    GridBagConstraints.WEST);
      this.lname = new TextField (15);
      addComponent (this, this.lname, 1, 1, 1, 1,
                    GridBagConstraints.NONE,
                    GridBagConstraints.CENTER);
      if (title.equals ("Update"))
          this.lname.setText (lname);
      addComponent (this, new Label ("Phone number: "), 0, 2, 1, 1,
                    GridBagConstraints.NONE,
                    GridBagConstraints.WEST);
      this.phone = new TextField (15);
      addComponent (this, this.phone, 1, 2, 1, 1,
                    GridBagConstraints.NONE,
                    GridBagConstraints.CENTER);
      if (title.equals ("Update"))
          this.phone.setText (phone);
      addComponent (this, new Label ("FAX number: "), 0, 3, 1, 1,
                    GridBagConstraints.NONE,
                    GridBagConstraints.WEST);
      this.fax = new TextField (15);
      addComponent (this, this.fax, 1, 3, 1, 1,
                    GridBagConstraints.NONE,
                    GridBagConstraints.CENTER);
      if (title.equals ("Update"))
          this.fax.setText (fax);
      addComponent (this, new Label ("Email address: "), 0, 4, 1, 1,
                    GridBagConstraints.NONE,
                    GridBagConstraints.WEST);
      this.email = new TextField (15);
      addComponent (this, this.email, 1, 4, 1, 1,
                    GridBagConstraints.NONE,
                    GridBagConstraints.CENTER);
      if (title.equals ("Update"))
          this.email.setText (email);
      addComponent (this, new Label (""), 0, 5, 1, 1,
                    GridBagConstraints.NONE,
                    GridBagConstraints.CENTER);
      addComponent (this, new Label (""), 1, 5, 1, 1,
                    GridBagConstraints.NONE,
                    GridBagConstraints.CENTER);
      Button b;
      // Add an Ok button to this container.
      addComponent (this, b = new Button ("Ok"), 0, 6, 1, 1,
                    GridBagConstraints.NONE,
                    GridBagConstraints.CENTER);
      b.addActionListener (this);
      // Add a Cancel button to this container.
      addComponent (this, b = new Button ("Cancel"), 1, 6, 1, 1,
                    GridBagConstraints.NONE,
                    GridBagConstraints.CENTER);
      b.addActionListener (this);
      // Set the size of the dialog window to 250 pixels
      // horizontally by 200 pixels vertically.
      setSize (250, 200);
      // Do not allow users to resize the dialog window.
      setResizable (false);
      // Make sure that the dialog window is visible.
      setVisible (true);
   private void addComponent (Container con, Component com,
                              int gridx, int gridy,
                              int gridw, int gridh, int fill,
                              int anchor)
      // Get the current layout manager.  It is assumed to
      // be a GridBagLayout object.
      LayoutManager lm = con.getLayout ();
      // Create a GridBagConstraints object to make it
      // possible to customize component positioning.
      GridBagConstraints gbc = new GridBagConstraints ();
      // Assign the x and y grid positions.
      gbc.gridx = gridx;
      gbc.gridy = gridy;
      // Assign the number of grid blocks horizontally and
      // vertically that are occupied by the component.
      gbc.gridwidth = gridw;
      gbc.gridheight = gridh;
      // Specify the component's resize policy (fill) and
      // the direction in which the component is positioned
      // when its size is smaller than available space (anchor).
      gbc.fill = fill;
      gbc.anchor = anchor;
      // Set the new constraints that the grid bag layout
      // manager will use.
      ((GridBagLayout) lm).setConstraints (com, gbc);
      // Add the component to the container.
      con.add (com);
// ===========================================================
// Class: MsgBox
// This class displays a message box to the user.  The message
// is usually an error message.  The user must press the Ok
// button to terminate the message box.
// ===========================================================
class MsgBox extends Dialog implements ActionListener
   public void actionPerformed (ActionEvent e)
      // Terminate the dialog box in response to the user
      // pressing the Ok button.
      dispose ();
   public MsgBox (Frame parent, String title, String msg)
      // Initialize the superclass layer.
      super (parent, title, true);
      // Store the msg argument in a Label object and add
      // this object to the center part of the dialog window.
      Label l = new Label (msg);
      add ("Center", l);
      // Create a Button object and add it to the south part
      // of the dialog window.
      Button b = new Button ("Ok");
      add ("South", b);
      // Make the current object a listener to events that
      // occur as a result of the user pressing the Ok
      // button.
      b.addActionListener (this);
      // Make sure that the Ok button has the focus.
      b.requestFocus ();
      // Do not allow users to resize the dialog window.
      setResizable (false);
      // Allow the layout manager to choose an appropriate
      // size for the dialog window.
      pack ();
      // Make sure that the dialog window is visible.
      setVisible (true);
}

Similar Messages

  • CSS positioning learning - I must be missing the point?!

    CSS positioning learning - I must be missing the point?!
    Okay I would like to know the benefit of using CSS
    positioning with DIVs when you have templates that helps your pages
    look all consistent with the same navigation or header? I don't see
    how you make a site look consistent doing it the other route.
    I have been reading through a CSS positioning tutorial at
    http://www.adobe.com/devnet/dreamweaver/articles/css_concepts.html
    and it is indeed somewhat complicated ESPECIALLY when you
    have to compensate for Internet explorer quirks.
    So again... someone please tell me what the benefit would be
    to learn CSS positioning....because I haven't for sure figured it
    out. And have liked templates since you can apply them to many
    pages quickly. Is CSS positioning really the future way to go?
    Thanks,
    Angie

    Templates have nothing to do with layout. They are only able
    to control
    your page's CONTENT. The location of this content is
    dependent not on the
    region but on the HTML structure of your page.
    The real advantage of using a CSS layout is that a) the pages
    are somewhat
    to considerably lighter in weight, and b) the externally
    linked CSS file is
    cached so that you don't have to continually load the same
    structural markup
    every time, and c) once you understand how to use the CSS,
    you have so much
    more control over the placement of things on the page....
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.dreamweavermx-templates.com
    - Template Triage!
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    http://www.macromedia.com/support/search/
    - Macromedia (MM) Technotes
    ==================
    "computerkitten" <[email protected]> wrote
    in message
    news:[email protected]...
    > CSS positioning learning - I must be missing the point?!
    >
    > Okay I would like to know the benefit of using CSS
    positioning with DIVs
    > when
    > you have templates that helps your pages look all
    consistent with the same
    > navigation or header? I don't see how you make a site
    look consistent
    > doing it
    > the other route.
    >
    > I have been reading through a CSS positioning tutorial
    at <a target=_blank
    > class=ftalternatingbarlinklarge
    > href="
    http://www.adobe.com/devnet/dreamweaver/articles/css_concepts.html
    > and">
    http://www.adobe.com/devnet/dreamweaver/articles/css_concepts.html
    > and</a> it is indeed somewhat complicated
    ESPECIALLY when you have to
    > compensate for Internet explorer quirks.
    >
    > So again... someone please tell me what the benefit
    would be to learn CSS
    > positioning....because I haven't for sure figured it
    out. And have liked
    > templates since you can apply them to many pages
    quickly. Is CSS
    > positioning
    > really the future way to go?
    >
    > Thanks,
    > Angie
    >

  • I should know, but I don't. If I upload all of my photos to iCloud and then delete them off of my iPhone (for more storage space), will they all remain in iCloud or am I missing the point of iCloud?

    I should know, but I don't. If I upload all of my photos to iCloud and then delete them off of my iPhone (for more storage space), will they all remain in iCloud or am I missing the point of iCloud?

    Right now, there is no way to upload and access photos in iCloud. You need to import them to a computer if you want to be able to retrieve them later:
    PHOTO IMPORT IOS TO MAC/PC
    Cheers,
    GB

  • Boolean refnum in a cluster missing the point how to create it... :-(

    Hello,
    It has been a while since I did Labview coding so there are some things I dont remember that good anymore. The question is simple I ques I want to make a button disabled when the program is running and do this in a subvi. Well that is simple found a lot of examples but I am missing the point how to create the boolean refnums in a cluster as in the picture below. The refnums-cluster is in the middle (vertical) of the left (horizontal). I tried to create a refnum this way: click the button Create->reference but the picture is not the same as below and if I try to put the reverence I made in a cluster It simpely disapears in the background of the cluster. Think I am missing something very simple but I am looking for hours now so I hope you guys can help me out and tel me what I am doing wrong. The exeample is a standard exeample called: "continious measurement and sampling"
    Hope you can help thank you!!

    You must have another controls beside just Booleans in our array. The array of controls has been down casted to More Generic Class which is the Control Class. One menus level up (see the picture I posted above).
    The Disabled property is part of the Control Class which Boolean inheritance. So our function should still work.
    So does your fiction work? Does it set the disabled state? Does it throw an Error?
    Omar

  • "Save as" misses the point

    Hi,
    the Save as… function is back which makes me quite happy.
    But after using it the first time with preview, I am greatly disappointed. It doesn't work the way it previously did and should work. I cropped several images and hat to manually recover all of the originals because they were automatically saved with the same changes as the new copies. I have the feeling that the developers didn't understand what "Save as" is and why it is so useful. Right now it's just duplicating.
    The Save-as concept works this way:
    - Open a document (file)
    - Edit it
    - Decide that these changes are worth a new version of your document (developers call it fork or so)
    - Choose the menu item "Save as" to save the changed document as a new one
    - The original document remains untouched in it's place
    It is self explanatory that I save the changes into the new document, but not into the original.
    This should apply even though "Autosave" is on and the original document is closed automatically. –> Design error
    Additionally I had turned on the option "Ask to save before closing...." but the system didn't ask, it just saved and closed the file automatically. –> Bug
    What Mountain Lion did when I edited my images: It saved all changes to the new AND the original images. All the originals were also cropped and I had to use the star wars mode to recover every image one by one. Frustrated would be an understatement.

    Since Steve has died, things are getting worse!
    What kind of idiot had the idea to change something which cannot be made better?
    Confusion all around and loss of data is the result, because it is different in different applications too.
    http://www.golem.de/news/mac-os-x-10-8-speichern-unter-ist-keine-gute-idee-1208- 93644.html
    http://macperformanceguide.com/LionHairballs-SaveAsGone.html
    Let`s tell Apple that they missed the point how computers an human beings work.
    http://www.apple.com/feedback/macosx.html

  • My iPhone was stolen.  How do I retrieve the pictures etc that were on imt.  I know they must be in the iCloud but I don't know how to get into it from my iPad.  Also, I would like to try to locate the phone ...how do I do that from my iPad?

    My iPhone was stolen.  How do I retrieve the pictures etc that were on imt.  I know they must be in the iCloud but I don't know how to get into it from my iPad.  Also, I would like to try to locate the phone ...how do I do that from my iPad?

    These links may be helpful.
    How to Track and Report Stolen iPad
    http://www.ipadastic.com/tutorials/how-to-track-and-report-stolen-ipad
    Reporting a lost or stolen Apple product
    http://support.apple.com/kb/ht2526
    Report Stolen iPad Tips and iPad Theft Prevention
    http://www.stolen-property.com/report-stolen-ipad.php
    How to Find a Stolen iPad
    http://www.ehow.com/how_7586429_stolen-ipad.html
    Oops! iForgot My New iPad On the Plane; Now What?
    http://online.wsj.com/article/SB10001424052702303459004577362194012634000.html
     Cheers, Tom

  • I was trying to update an app but now I can't close it down.  I have tried most things - it keeps saying I must close down the app but it doesn't allow me to do this.  I have powered off the computer but it just comes back.  Any suggestions?

    I had been trying to update an app on my IMac and when it came to do it, it said I must close down the app site, in this case WeatherEye.  However, I could not close it down and update says it is waiting.  I have tried everything I know to get rid of this but it remains even when powering off the machine.  Any suggestions?

    hey,
    try one of these:
    open /applications/utilities/terminal.app and type: killall "Applicationname without .app"
    open /applications/activity monitor.app press on the app thats buggin ya and press quit/force quit
    please share results
    Jon

  • Plugin-Check page... Mozilla is missing the point.

    Mozilla,
    I have used Firefox FAITHFULLY for the past 10 years. I chose Firefox over IE specifically because it has ALWAYS been customizable. While IE (and microsoft) has always been rigid, and forced the user to do things their way, Firefox has been the opposite:
    Want a page to look a certain way, there's a plugin for that.
    Want more security while you browse, there's a setting for that.
    Want to risk it all and have no security, there's a setting for that too!
    I have dabbled with other browsers too. Google's Chrome browser has a few things that I like... including the option to save a link to a page as an "app" (creating a fullscreen window for just that page). BUT I chose to completely uninstall chrome when I found out that you cannot disable their certificate security checks.
    You see... My bank, the electric company, and several other legitimate sites fail their ssl certificate authentication AND there is NO WAY TO DISABLE this feature. For some reason, the folks at Google think they know what is best for me, and will not give me the option to browse "unsafely" if I so desire.
    Now... To the point of this "question"
    It seems that recently, the folks at Mozilla have decided to force a "plugin-check" page on all of us. At first, I played nice. I updated my java and flash plugins as it suggested, and it still pops up. I then googled "FOR HOURS" on how to disable the feature. I went to about:config and changed all the Boolean variables I could find, and still the page pops up.
    Then I noticed something in doing further research. It seems that in doing hours of research (WHICH I SHOULDN'T HAVE TO DO) I have seen posts from lots of others that have also done hours of research, and they are getting the same answers from mozilla:
    "You need to do this"
    "You need to change this setting"
    "Please tell us what plugin is causing the problem"
    if they knew that they wouldn't be asking in the first place
    "If you don't help us, we can't help you"
    etc...
    The one thing mozilla hasn't said is "Woops... sorry, we forgot to give you the OPTION to do what YOU WANT"
    I am very happy that there is an OPTION to make my browsing safer. Were I a casual user that just went to facebook, netflix and the like I would probably be very satisfied. Here's the thing, a great deal of casual users just go with what they have... like IE. People that know more about computing, and henceforth like to change things and do what they like probably use firefox... and firefox is cutting them off. I don't use Acrobat, I use foxit (unrecognized plugin). I use several extensions that HELP ME the way I WANT TO BE HELPED. They work just fine for what I NEED, and I don't want to change them.
    I have trouble seeing items on the screen so I use the nosquint plugin... I don't know if it's recognized or not... and I don't care, it works better FOR ME than any of the others that I have tried. Yet, just like Google, and Microsoft before it, Mozilla is attempting to "make me safe" by controlling me. This is unacceptable, I CHOOSE to use firefox because I WANT THE CHOICE to browse MY WAY.
    People have come here, and on other sites asking "HOW DO I DISABLE this screen" and, as shown above, the answer is to try and "trick" firefox into submission. The "trick" doesn't work, and both the person that needs help, and the person trying to help (i know... not a mozilla employee) gets frustrated.
    The point is, we shouldn't have to "trick" or force firefox to submit to our will by hours of trial and error. We didn't ask for the page to show up in the first place. I'm quite sure there are SOME that are happy it is there, but mozilla needs to realize that there are SOME that are not, and GIVE THEM THE CHOICE do disable an unwanted "option".
    In short... Please find a way for us to disable, IN ITS ENTIRETY the outdated plugin check web page that pops up EVERY TIME I start firefox. I know some of my plugins are out of date, and I know some are not recognized. I like it that way. If I wanted to have ZERO control over what MY pc does, I would switch to windows 8 (which doesn't have a metro app for firefox yet)

    hello zthaynes, please [[Update Firefox to the latest version]], this should already solve the issue.

  • ICloud...am i missing the point?

    Hi,
    I'm really confused...i have an iphone 4, ipad 2, macbook pro and imac, all i want to be able to do is access my documets from any of these....i have numbers, pages and keynote installed on all, and have the latest ios on the mobile devices and lion on the macbook and imac....i've also move my mobileme account over to icloud
    so my question is, if i work in numbers or pages on my macbook or imac, how do those files get saved to icloud? I used to be able to save them to my idisk and access them on all devices, but with icloud there is no option to save to icloud - or am i missing something?
    also - i can't believe that there is no replacement for idisk for my non iwork apps to allow me to save data...

    I'm confused too, so don't assume I am being a smartaleck, here.  First, on my iPad "Settings>iCloud>Docs & Data" cryptically sez it allows apps to store docs and data in iCloud.
    When I finally figured out I must log into iCloud on my iMac (still Snow Leopard, btw) in order to actually SEE what is on iCloud, there are 5 icons - Mail, Contacts, Calendar, Find My iPhone, and iWork. 
    Putting these together (I don't have iWork, so guessing), I assume that the setting on my iPad is supposed to save iWork data/docs where they should then not only be accessible while in iCloud, but should also accessible on other iThings.
    I have only experimented with Calendar and Contacts, where I see that only the blank default "Home" and "Work" calendars show up in iCloud, as well as my iPad, iMac and wife's iPad.  All my contacts (synced to the iPad from the iMac) are available, but I didn't turn on Contact syncing for my wife's iPad.
    I noticed that there were two categories of Calendars on my iPad.  Those from my iMac, and those from iCloud.  Since my wife had never use iCal on her iPad, she had only iCloud calendars, and it makes sense (once I noticed it) that entries in the "iMac" calendars did not appear in iCloud or on my wife's iPad.  However, I wonder what will happen when I finally load Lion onto the iMac (Once a FCPX project is completed -- I don't trust the complaints about Lion/FCPX not working well with each other).
    Will my "On My iMac" calendars be merged with iCloud?  If so, is there any way to keep all my personal event reminders (pay this insurance, pay that insurance, pay this Visa, pay that M/C") from flooding my wife's Calendar thru iCloud?
    I read in another thread that the iCloud account does NOT need to be the same as the iTunes/AppleID account.  But since they use the same email, I don't see how unless we each create an @me.com account with an email for which we have no other use.
    Naturally, if we need separate iCloud accounts in order to prevent the cross-pollination of Calendar and Contacts, creating separate iTunes accounts seems a better solution, although then one of us would lose access to apps and music already purchased.
    Sorry if I appear to be hijacking this thread (only works if someone actually replies), but the key word here is the confusion.
    thanks.

  • Missing the point on contacts

    Hi
    Im running osx server 10.9.1, ive succesfully set up calendar sharing, now to contacts, ive turned contacts on in server and made the service available to all users i have client machines set up as osx server accounts, in internet accounts it says OSX Server Contacts, Calendars and reminders, on my machine ive copied all the contacts into All OSX Server, but when i look on another machine i cant see the contacts, im clearly missing something, can anyone help?

    From apple
    "Contacts service provides a simple–to–implement, secure, hosted contact solution. You can access personal and directory-based contacts across multiple computers within a workgroup, a small business, or a large corporation."
    Not from where im standing, ive had to create a pseudo user which i then put this user's login and password on every client machine so they can share the contacts, which is how i had it set up on 10.6 server, not really much of a step forward, the documentation is next to useless, as is most of the tutorials on the web, couple that with a messages service that just doesnt work, i cant say im very impressed with mavericks server.

  • I must have missed the memo

    I just noticed that the Generics forum has had a FAQ sticky for the last 2 weeks. Seems like a reasonable idea. Any chance for one in the other forums?

    Wandering back to the original topic ("the thread which is mine"), do you find it worse that one forum had the sticky (assuming that its a Good Thing) but the others don't?
    I mean, Sun could easily say, "hey look, the forum software isn't very sophisticated, and since it's free, we simply dont have the time/money/manpower to devote to implementing all these features that everyone wants". This actually seems a more valid stance than what the reality is: the forum software IS capable, and Sun IS willing, but they just haven't done it.
    Laziness? Does it really take weeks to implement it into other forums?

  • Am I missing the point

    Hi
    Why in the following bit of code does the window not close when I close the frame, I understand why it closes and end's when I take the "open" option on the menu.
    I want to know why to get a better undersstanding as opposed to the solution.
    import java.awt.event.* ;
    import javax.swing.* ;
    public class AppMenu1 {
         public static void main(String[] args) {
              JMenuBar menuBar = new JMenuBar();
              JMenu menu1 = new JMenu("File");
              menuBar.add(menu1);
              JMenu menu2 = new JMenu("Edit");
              menuBar.add(menu2);
              JMenuItem item1 = new JMenuItem("Open");
              menu1.add(item1);
              item1.addActionListener(new ActionListener() {
                   public void actionPerformed(ActionEvent e) {
                        System.exit(0);
              JMenuItem item2 = new JMenuItem("Save");
              menu1.add(item2);
              JMenuItem item21 = new JMenuItem("Edit");
              menu2.add(item21);
              JMenuItem item22 = new JMenuItem("Find");
              menu2.add(item22);
              JFrame frame = new JFrame();
              frame.setJMenuBar(menuBar);
              frame.setVisible(true);
              frame.addWindowListener(new WindowAdapter() {
                   public void WindowClosing() {
                        System.exit(0);
    }thanks in adavnce
    Gurmej

    Gurmej,
    Your problem is here :
    public void WindowClosing() {The Actual signatue is:
    public void windowClosing(WindowEvent e)
    Java is case sensitive and also you left out the parameter
    Graeme

  • I must be missing the obvious - How to update my software version 5.0.1

    When I plugged my iPad 2 into the sync I  updated the iTunes version
    On my device page I clicked onthe update to 5.0.1 and nothing happens
    My desktop is not a MAC
    Is there required software it needs to update my iPad to the higher version?
    my current is 4.3.5 (not listed below)
    Thank you in advance for anyone's help. This is my first time participating in a discussion

    You can download a complete iPad 2 User Guide here: http://manuals.info.apple.com/en/ipad_user_guide.pdf
    You may have to disable your firewall and anitvirus software temporarily to install.  Then download and install the iOS update. After you install iOS 5, you will be able to install subsequent updates via wifi (i.e., not connected to your computer)
     Cheers, Tom

  • HT4865 I synced my phone, now I do not have my apps or my calendar on my phone.  These must be in the cloud--but I can't figure out how to get them back onto phone.  Frustrating...

    I synced my iphone, now I do not have my apps or my calendar on phone.  How do I get them back onto phone?  Things were great before sync...

    The only way to do so is to start over: Settings>General>Reset>Erase All Content & Settings. You won't be able to use the backup of your old phone unless you are setting up a new phone.

  • I can see the signal on the meters, but I cant hear it on the monitors

    I know this is a PEBCAK issue, but here goes.  Running LPX on OS 10.8.4 using a Line6 TonePort UX1 for a bass guitar interface.  All was peachy on tuesday at my One-To-One session.  Since then, I've been experimenting with creating new projects.
    When I open the project we created on Tuesday, all is good.  I'm adding comps, playing with the amp designer and playing along to a song from my iTunes library.  Each of my new projects are just as the title says. I've created a new project as guitar or bass with "input monitoring" and "record enable."  I can hear loops through the monitors, but not my own instrument.   I must be missing a step, but for the last three days, I'm flabberghasted as to what step that is.  Any Ideas from the community?

    This is a SS of the project from Tuesday which seems to work just fine.
    This is a project I created a few minutes ago.  Meters and tuner show just fine.  No sound from input monitoring or recording.

Maybe you are looking for

  • SAP Business One 9 on HANA - AddOn "AddOnName" Installation Failed

    Hi, I'm trying to install an add-on in a SAP Business One 9 on HANA (64 bits) but i'm facing a problem: - The add-on installation (from the add-on Manager Form) on windows finish correctly, but after a few seconds the system shows a Message box with

  • When using PenMount dvr, closing app END NOW error

    When using FTP-1015 and Advantech PenMount software driver, in closing the app, I get an "END NOW" window and must press a key to exit windows. During Real time operation the operator may not be around to touch the screen and clear the error. Windows

  • Splitting source record

    Hi Gurus, I am not ABAP specilaist, I am trying to split source records(field xyz) to two fields (feild 1: xyz1, Field 2: xyz2) in target. Basically source data filed will have values starting with J and Z. Example: J001,Z010 etc.. Now in the transfo

  • Learning Map (HTML) Feedback Authorization

    Hi, We are using SAP EHP 1 for SAP Solution Manager 7.0. I have created learning map using transaction SOLAR_LEARNING_MAP and I am able to view the content in webpage. But when I click on feedback button in the web browser system gives a pop up messa

  • Image Files - Within Database, or Use FileStream?

    I have millions of photos tied to transactions.  There are several photos tied to one transaction.  My app pages and displays hundreds of transactions with the photos.  I would also like a user to be able to download all of the transaction informatio