Why doesn't calling setEditable(false) disable cursoring

I want to have JFormattedTextField format my date fields for me. It does a good job of it, so why wouldn't I?
I have a need to display a non-editable date for reference purposes. Unfortunately I discovered that the cursoring is still active when setEditable(false) is called. In order to prevent this, I have had to subclass DateFormatter in order to override getActions() to return null if I don't want incrementing. There are a number of problems with this:
1) setEditable on JFormattedTextField should have been enough. If I don't want it editable, then I don't want cursoring. I would have thought that was obvious.
2) Notwithstanding that, the correct method to override for incrementing is really getSupportsIncrement(), but this has no modifier, so is in the 'friendly' status, which means it can only be overridden in the package.
3) While I can override getActions, this signature leaves itself open to have other actions than "increment" and "decrement" returned . That is, it works now, but if sun adds more actions to the list of actions returned by getActions(), then my override is broken.
Is there a bug in there somewhere?
Thanks, Andrew

1) setEditable on JFormattedTextField should have
been enough. If I don't want it editable, then I
don't want cursoring. I would have thought that was
obvious.Nope not really. What if the user wants to copy some text using the keyboard?

Similar Messages

  • Why doesn't calls to my iPhone ring through to my Mac?

    Why doesn't calls to my iPhone ring through to my Mac?

    The following have the requirements and settings and some troubleshooting information:
    Connect your iPhone, iPad, iPod touch, and Mac using Continuity - Apple Support
    Get help using Continuity with iOS 8 and OS X Yosemite - Apple Support

  • Why doesn't Skype Click-to-call work on Windows 8.1?

    Why doesn't Skype click-to-call work anymore? I upgraded to Windows 8.1, and now when I click on a highlighted phone number it asks "Which app should I use" or some such microsoft text. But no application is listed. Apparently it does not work from within Firefox (I have the latest version). And I can no longer find a Skype Click to Call application or extension in Firefox. Do I need to use another browser or is there a fix for this?

    Hey ran
    Sorry to hear you are having probloms
    I currently have skype click to call installed with firefox and windows 8.1 up to date. I would advise you to re-install skype and its click to call addon and see where it gets you
    hope this helps
    Brad

  • Why doesn't the iPhone 5 have the call bar feature like the 4S does?

    Why doesn't the iPhone 5 have the call bar feature like the 4S does?

    From the Swype website:
    Why isn’t Swype available for iPhone/iPad/BlackBerry/Windows Phone?
    Due to the technical design of some operating systems, it is not possible for third party keyboards (such as Swype) to be offered at this point in time. Please communicate to your device/OS manufacturer that you’d like to see Swype available as a keyboard option!
    Here is the link:
    http://www.swype.com/about/swype-faq-3/
    Cheers,
    GB

  • Why doesn't apple have a file of events that ties to the iCal program and the Address book file? By having that relationship it seems that you could call up all of the events tied to a customer while in the address book or likewise call up all of the even

    Why doesn't apple have a file of events that ties to the iCal program and the Address book file? By having that relationship it seems that you could call up all of the events tied to a customer while in the address book or likewise call up all of the events tied to a contact that was in the iCal program as a scheduled meeting. Even in the to do's you could easily look back at the events tied to an individual so as to bring yourself up to speed with what you were doing with the individual in mind.

        I definitely understand your concern and I apologize for all the frustration. Verizon Wireless has a strong customer commitment to delivering the best from our service and staff. I am disappointed to hear the service you received did not reflect this commitment.
    I definitely want to help get to the bottom of this and further assist you. Please reply to my direct message so I can access your account and further assist. I am sure we can get this resolved.
    JohnB_VZW
    Follow us on Twitter @VZWSupport

  • HT202447 Why doesn't Apple patch Leopard, 10.5, other than to say "disable Java"?

    Why doesn't Apple discuss what it is going to do with 10.5 (Leopard) other than to say "disable Java?"   Why doesnt Apple support its product, i.e., computers running 10.5 still COVERED UNDER APPLE CARE?   Why must we disable Java and wait (and pay) for a Leoparad to Snow Leopard upgrade disk to arrive by SnailMail?  Apple support your products especially when we own over $15,000 of your products.  I used to be your biggest fan, suggesting to everyone who would listen that they should "switch over."  Why are you ignoring us, still covered by Apple Care????????????
    Message was edited by: Butterfly350

    Butterfly350 wrote:
    ..  Why are you ignoring us, still covered by Apple Care????????????
    If you provided Feedback as a brody suggested, it appears they listened:
    Flashback Removal Security Update
    and
    Leopard Security Update 2012-003

  • HT1349 Why doesn't Iphone have a call blocker, I am getting tired of paying for phone scam calls, why dpesn't someone make one.  When my contract is up I am going back to the Droid.

    Why doesn't Iphone have a call blocker, I am getting tired of paying for phone scam calls, why dpesn't someone make one.  When my contract is up I am going back to the Droid.

    dshargrove wrote:
    Why doesn't Iphone have a call blocker, I am getting tired of paying for phone scam calls, why dpesn't someone make one.  When my contract is up I am going back to the Droid.
    For one thing, true call blocking (ie. where the call NEVER actually connects through to your number) can only be done by the service provider at their switches.
    The best a device can do is allow the call to connect, and then use the caller ID information to compare that to a list of allowed and a list of disallowed caller IDs.  That is a feature known as blacklisting, but it is not the same as actually blocking a call completely.
    So as suggested, contact your carrier and ask what they can do for you.

  • How do you enable a disabled Apple ID.  I have reset password, an everything else it wanted.  Still get "Apple ID Disabled".  Why doesn't Apple address this problem?

    My Itunes and IPOD Touch are receiving error message:  "APPLE ID DISABLED"  I have reset password, and everything else they wanted me to do.  Why doesn"t Apple address this issue?  Is the a secret place to go to fix this problem?

    Have you tried here:
    Apple ID: "This Apple ID has been disabled for security reasons" alert appears
    If not successful. contact iTunes:
    Apple - Support - iTunes Store - Contact Us

  • Why doesn´t music stop playing when making a call?

    Why doesn´t music stop playing when making a call?
    Shouldn´t that be automatic like it used to be in iOS6?

    Ok, I just realised that this only happens if the current page in iBooks has a video on it.  If the page has only text and images, there is no problem.
    I still think it is a bug though. If the video is not running, I don't see why the music player should be stopped. If I choose to start the video on the page, THEN the music player should be stopped.

  • Networking - Why Doesn't This Work?

    Hey all
    Just wondering if any of you have any ideas why this code isn't working properly - for the Client to connect the Server has to be restarted. Is there a solution to this problem?
    The Client Class:
    import java.awt.Container;
    import java.awt.Color;
    import java.awt.Font;
    import java.awt.FlowLayout;
    import java.awt.Dimension;
    import java.awt.GridBagLayout;
    import java.awt.GridBagConstraints;
    import java.awt.Insets;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JColorChooser;
    import javax.swing.ButtonGroup;
    import javax.swing.Box;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.BoxLayout;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    import javax.swing.JLabel;
    import javax.swing.JComboBox;
    import javax.swing.JOptionPane;
    import javax.swing.JRadioButton;
    import java.io.*;
    import java.net.*;
    * This is the user class and holds all the details for the GUI. The gui contains listeners
    * ans it sends messages to the server and also recieves messages from the server. This class
    * works primarily with the ClienttoServer class.
    * Help was used to create this class, mainly from the Java GUI devlopment book by Varan Piroumian
    * as this hsowed the basic components needed to create a GUI and which imports were the most essential
    * in order to have an interactive interface for the chat application.
    public class Client extends JFrame implements ActionListener
         private static final long serialVersionUID = 1L;
         private JTextArea conversationDisplay;
         private JTextField createMsg, hostfield, portnumfd, usernamey;
         private JScrollPane scrolly;
         private JLabel hosty, portnum, convoLabel, msgLabel, netwrk, netwrk2, talk2urself, fonts, nickName, ustatus, econs;
         private JPanel lpanel, rpanel, lpanel1, lpanel2, lpanel3, lpanel4, lpanel5, rpanel1, rpanel2, rpanel3, rpanel4, rpanel5;
         private JButton sendMsgButton, colourButton, exitButton, connect, dropconnection;
         private JRadioButton talk2urselfOn, talk2urselfOff;
         private JComboBox fontcombiBox, statusbox, emoticons;
         private JColorChooser colourchoo;
         private Container theWholeApp;
         private String username;
         private PrintWriter writer;
         private Socket socky;
         //for the self comm button
         private boolean talktoself = true;
         //used as when a msg is sent to the server the name & msg are sent in 2 parts (\n function) i.e
         //2 different messages. So in self comm mode then the next message needs to be ignored
         private boolean ignoreyourself = false;
          * The Constructor or the class
         public Client()
              makeGUI();
              System.out.println("Loading the GUI....");
          * Creates the GUI for the user to see/use
         public void makeGUI()
              //create the whole window
              JFrame.setDefaultLookAndFeelDecorated(true);
              //set the title of the whole app
              this.setTitle("Welcome To Elliot's Chat Network...");
              //set the app window size
              this.setSize(600, 575);
              //create the outer container for the app
              theWholeApp = getContentPane();
              //make new gridbag layout
              GridBagLayout layoutgridbag = new GridBagLayout();
              //create some restraints for this...
              GridBagConstraints gbconstraints = new GridBagConstraints();
              //make the app use this gridbag layout
              theWholeApp.setLayout(layoutgridbag);
              //this is where elements are added into the application's window
              //creates and adds the convo label
              convoLabel = new JLabel("Your Conversation:");
              gbconstraints = new GridBagConstraints();
              gbconstraints.gridx = 0;
              gbconstraints.gridy = 0;
              gbconstraints.gridheight = 1;
              gbconstraints.gridwidth = 1;
              gbconstraints.weightx = 5;
              gbconstraints.weighty = 1;
              gbconstraints.anchor = GridBagConstraints.WEST;
              layoutgridbag.setConstraints(convoLabel, gbconstraints);
              theWholeApp.add(convoLabel);
              //create & add the exit button
              exitButton = new JButton("Exit");
              gbconstraints = new GridBagConstraints();
              gbconstraints.gridx = 10;
              gbconstraints.gridy = 0;
              gbconstraints.gridheight = 1;
              gbconstraints.gridwidth = 1;
              gbconstraints.weightx = 1;
              gbconstraints.weighty = 1;
              gbconstraints.anchor = GridBagConstraints.EAST;
              layoutgridbag.setConstraints(exitButton, gbconstraints);
              theWholeApp.add(exitButton);
              exitButton.addActionListener(this);
              //create & add the txt area
              conversationDisplay = new JTextArea(15,15);
              scrolly = new JScrollPane(conversationDisplay);
              gbconstraints = new GridBagConstraints();
              gbconstraints.gridx = 0;
              gbconstraints.gridy = 1;
              gbconstraints.gridheight = 4;
              gbconstraints.gridwidth = 11;
              gbconstraints.weightx = 10;
              gbconstraints.weighty = 20;
              gbconstraints.anchor = GridBagConstraints.WEST;
              gbconstraints.fill = GridBagConstraints.BOTH;
              gbconstraints.insets = new Insets(10, 10, 15, 15);
              //so the clients cant write in the display area...
              conversationDisplay.setEditable(false);
              layoutgridbag.setConstraints(scrolly, gbconstraints);
              theWholeApp.add(scrolly);
              //create & add the nick name area
              nickName = new JLabel("Your nick \nthis is required");
              gbconstraints = new GridBagConstraints();
              gbconstraints.gridx = 0;
              gbconstraints.gridy = 5;
              gbconstraints.gridheight = 1;
              gbconstraints.gridwidth = 1;
              gbconstraints.weightx = 5;
              gbconstraints.weighty = 1.5;
              gbconstraints.anchor = GridBagConstraints.WEST;
              gbconstraints.fill = GridBagConstraints.HORIZONTAL;
              gbconstraints.insets = new Insets(3, 10, 0, 0);
              layoutgridbag.setConstraints(nickName, gbconstraints);
              theWholeApp.add(nickName);
              //create & add the nick name box
              usernamey = new JTextField(10);
              gbconstraints = new GridBagConstraints();
              gbconstraints.gridx = 0;
              gbconstraints.gridy = 6;
              gbconstraints.gridheight = 1;
              gbconstraints.gridwidth = 1;
              gbconstraints.weightx = 1;
              gbconstraints.weighty = 1;
              gbconstraints.anchor = GridBagConstraints.WEST;
              gbconstraints.fill = GridBagConstraints.HORIZONTAL;
              gbconstraints.insets = new Insets(0, 10, 0, 0);
              layoutgridbag.setConstraints(usernamey, gbconstraints);
              theWholeApp.add(usernamey);
              //create & add the your message label
              msgLabel = new JLabel("Your Message:");
              gbconstraints = new GridBagConstraints();
              gbconstraints.gridx = 0;
              gbconstraints.gridy = 7;
              gbconstraints.gridheight = 1;
              gbconstraints.gridwidth = 1;
              gbconstraints.weightx = 1;
              gbconstraints.weighty = 1;
              gbconstraints.anchor = GridBagConstraints.WEST;
              gbconstraints.fill = GridBagConstraints.BOTH;
              gbconstraints.insets = new Insets(0, 10, 0, 0);
              layoutgridbag.setConstraints(msgLabel, gbconstraints);
              theWholeApp.add(msgLabel);
              //create & add the create message box
              createMsg = new JTextField(15);
              gbconstraints = new GridBagConstraints();
              gbconstraints.gridx = 0;
              gbconstraints.gridy = 8;
              gbconstraints.gridheight = 2;
              gbconstraints.gridwidth = 10;
              gbconstraints.weightx = 10;
              gbconstraints.weighty = 1;
              gbconstraints.anchor = GridBagConstraints.WEST;
              gbconstraints.fill = GridBagConstraints.HORIZONTAL;
              gbconstraints.insets = new Insets(3, 10, 0, 0);
              layoutgridbag.setConstraints(createMsg, gbconstraints);
              theWholeApp.add(createMsg);
              createMsg.addActionListener(this);
              createMsg.setActionCommand("Press Enter!");
              //create & add the send message button
              sendMsgButton = new JButton("Send Msg");
              gbconstraints = new GridBagConstraints();
              gbconstraints.gridx = 10;
              gbconstraints.gridy = 8;
              gbconstraints.gridheight = 1;
              gbconstraints.gridwidth = 1;
              gbconstraints.weightx = 1;
              gbconstraints.weighty = 1;
              gbconstraints.anchor = GridBagConstraints.EAST;
              layoutgridbag.setConstraints(sendMsgButton, gbconstraints);
              theWholeApp.add(sendMsgButton);
              sendMsgButton.addActionListener(this);
              //create & add the left panel
              lpanel = new JPanel();
              gbconstraints = new GridBagConstraints();
              gbconstraints.gridx = 0;
              gbconstraints.gridy = 10;
              gbconstraints.gridheight = 3;
              gbconstraints.gridwidth = 4;
              gbconstraints.weightx = 5;
              gbconstraints.weighty = 0;
              gbconstraints.anchor = GridBagConstraints.WEST;
              gbconstraints.insets = new Insets(0, 10, 0, 0);
              layoutgridbag.setConstraints(lpanel, gbconstraints);
              theWholeApp.add(lpanel);
              //create & add the right panel
              rpanel = new JPanel();
              gbconstraints = new GridBagConstraints();
              gbconstraints.gridx = 5;
              gbconstraints.gridy = 10;
              gbconstraints.gridheight = 3;
              gbconstraints.gridwidth = 4;
              gbconstraints.weightx = 5;
              gbconstraints.weighty = 0;
              gbconstraints.anchor = GridBagConstraints.EAST;
              layoutgridbag.setConstraints(rpanel, gbconstraints);
              theWholeApp.add(rpanel);
              //add to the left JPanel - set the layout for this
              lpanel.setLayout(new BoxLayout(lpanel, BoxLayout.Y_AXIS));
              //add panels into this left panel...
              lpanel1 = new JPanel();
              lpanel2 = new JPanel();
              lpanel3 = new JPanel();
              lpanel4 = new JPanel();
              lpanel5 = new JPanel();
              lpanel.add(lpanel1);
              lpanel.add(lpanel2);
              lpanel.add(lpanel3);
              lpanel.add(lpanel4);
              lpanel.add(lpanel5);
              //set FlowLyout for each of these panels
              lpanel1.setLayout(new FlowLayout(FlowLayout.LEFT));
              lpanel2.setLayout(new FlowLayout(FlowLayout.LEFT));
              lpanel3.setLayout(new FlowLayout(FlowLayout.LEFT));
              lpanel4.setLayout(new FlowLayout(FlowLayout.LEFT));
              lpanel5.setLayout(new FlowLayout(FlowLayout.LEFT));
              //add in the network items...
              netwrk = new JLabel("Network Details:");
              lpanel1.add(netwrk);
              //create and add instructions for this
              netwrk2 = new JLabel("Please enter the details for \nthe person you want to chat to...");
              lpanel2.add(netwrk2);
              //create/add the ip addy label
              hosty = new JLabel("Host:");
              lpanel3.add(hosty);
              lpanel3.add(Box.createRigidArea(new Dimension(5,0)));
              hostfield = new JTextField("Enter Hostname",10);
              lpanel3.add(hostfield);
              //port num next
              portnum = new JLabel("Port Number:");
              lpanel4.add(portnum);
              lpanel4.add(Box.createRigidArea(new Dimension(5, 0)));
              portnumfd = new JTextField("2250", 10);
              lpanel4.add(portnumfd);
              //create & add the connect butt
              connect = new JButton("Connect");
              lpanel5.add(connect);
              dropconnection = new JButton("Disconnect");
              lpanel5.add(dropconnection);
              connect.addActionListener(this);
              dropconnection.addActionListener(this);
              //start the creation of the right hand panel.
              rpanel.setLayout(new BoxLayout(rpanel, BoxLayout.Y_AXIS));
              //create the panels again
              rpanel1 = new JPanel();
              rpanel2 = new JPanel();
              rpanel3 = new JPanel();
              rpanel4 = new JPanel();
              rpanel5 = new JPanel();
              rpanel.add(rpanel1);
              rpanel.add(rpanel2);
              rpanel.add(rpanel3);
              rpanel.add(rpanel4);
              rpanel.add(rpanel5);
              rpanel1.setLayout(new FlowLayout(FlowLayout.LEFT));
              rpanel2.setLayout(new FlowLayout(FlowLayout.LEFT));
              rpanel3.setLayout(new FlowLayout(FlowLayout.LEFT));
              rpanel4.setLayout(new FlowLayout(FlowLayout.LEFT));
              rpanel5.setLayout(new FlowLayout(FlowLayout.LEFT));
         //now start putting things into them again
              //add in the font settings
              String[] fonty = {"Normal", "Bold", "Italic"};
              fonts = new JLabel("Set your text style:");
              fontcombiBox = new JComboBox(fonty);
              rpanel2.add(fonts);
              rpanel2.add(Box.createRigidArea(new Dimension(4,0)));
              rpanel2.add(fontcombiBox);
              //default text will be plain..
              fontcombiBox.setSelectedIndex(0);
              String[] userstatus = {"Online", "Away", "Be Right Back", "Busy", "Out To Lunch", "On The Phone"};
              ustatus = new JLabel("Select a status:");
              statusbox = new JComboBox(userstatus);
              rpanel2.add(ustatus);
              rpanel2.add(Box.createRigidArea(new Dimension(2,0)));
              rpanel2.add(statusbox);
              //add in some emotion to the conversations
              String[] emotion = {"Angry", "Happy", "Sad", "Crying", "Shocked", "Laughing", "Laughing My Ass Off!"};
              econs = new JLabel("Select an emoticon:");
              emoticons = new JComboBox(emotion);
              rpanel3.add(econs);
              rpanel3.add(Box.createRigidArea(new Dimension(3,0)));
              rpanel3.add(emoticons);
              //self comm options
              talk2urself = new JLabel("Set Self Communication Mode:");
              rpanel4.add(talk2urself);
              talk2urselfOn = new JRadioButton("On", true);
              rpanel4.add(talk2urselfOn);
              rpanel4.add(Box.createRigidArea(new Dimension(4, 0)));
              talk2urselfOff = new JRadioButton("Off", false);
              rpanel4.add(talk2urselfOff);
              //create a group that will hold both these buttons together
              ButtonGroup groupy = new ButtonGroup();
              //add them to the group
              groupy.add(talk2urselfOn);
              groupy.add(talk2urselfOff);
              //create and add the change backgrd button
              colourButton = new JButton("Alter Background");
              rpanel5.add(colourButton);
              //add in some listeners
              talk2urselfOn.addActionListener(this);
              talk2urselfOff.addActionListener(this);
              fontcombiBox.addActionListener(this);
              colourButton.addActionListener(this);
              statusbox.addActionListener(this);
              //add in the 'X' button in the top right corner of app
              setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              //put all elements together
              this.pack();
              //show the GUI for the user..
              this.show();
          * Creates a new client and GUI as its the main method
         public static void main(String args[])
              new Client();
          * This method listens for actions selected by the user and then performs the
          * necessary tasks in order for the correct events to take place...!
          * This method was mainly created thanks to the Developing Java GUI book which has already
          * been mentioned as it covers listeners and event handling...
         public void actionPerformed(ActionEvent event)
              //if the send button is clicked or if hard carriage return after message
              if((event.getSource() == (sendMsgButton)) || (event.getSource().equals(createMsg)))
                   //if theres no text dont send message
                   if(createMsg.getText().equals(""))
                        JOptionPane.showMessageDialog(this, "There's no text to send!");
                   else
                        String str  = createMsg.getText();
                        printMessage(str);
              //if the exit button is clicked
              if(event.getSource() == (exitButton))
                   //quit the chat app
                   JOptionPane.showMessageDialog(this, "Thanks For Using Elliot's Chat Network! \nSee You Again Soon!");
                   System.exit(0);
              //if the self comm option is turned on
              if(event.getSource() == (talk2urselfOn))
                   talktoself = true;
                   JOptionPane.showMessageDialog(this, "You have begun self communication \nmessages you send are now displayed");
              //if the self comm option is turned off
              if(event.getSource() == (talk2urselfOff))
                   talktoself = false;
                   JOptionPane.showMessageDialog(this, "You have stopped self communication \nmessages you send are no longer displayed");
              //for the normal font option
              if(fontcombiBox.getSelectedItem().equals("Plain"))
                   //makes a new font style plain...
                   conversationDisplay.setFont(new Font("simple", Font.PLAIN, 12));
                   createMsg.setFont(new Font("simple", Font.PLAIN, 12));
              //for the bold font option
              if(fontcombiBox.getSelectedItem().equals("Bold"))
                   conversationDisplay.setFont(new Font("simple", Font.BOLD, 12));
                   createMsg.setFont(new Font("simple", Font.BOLD, 12));
              //for the italic font option
              if(fontcombiBox.getSelectedItem().equals("Italic"))
                   conversationDisplay.setFont(new Font("simple", Font.ITALIC, 12));
                   createMsg.setFont(new Font("simple", Font.ITALIC, 12));
               *      //the status events if they didnt create null points...
              if(statusbox.getSelectedItem().equals("Online"))
                   String status = "<Online>";
                   printMessage(status);
              if(statusbox.getSelectedItem().equals("Away"))
                   String status = "<Away>";
                   printMessage(status);
              if(statusbox.getSelectedItem().equals("Be Right Back"))
                   String status = "<Be Right Back>";
                   printMessage(status);
              if(statusbox.getSelectedItem().equals("Busy"))
                   String status = "<Busy>";
                   printMessage(status);
              if(statusbox.getSelectedItem().equals("Out To Lunch"))
                   String status = "<Out To Lunch>";
                   printMessage(status);
              if(statusbox.getSelectedItem().equals("On The Phone"))
                   String status = "<On The Phone>";
                   printMessage(status);
              //the emoticons events...
              if(emoticons.getSelectedItem().equals("Angry"))
                   String status = "<Angry>";
                   printMessage(status);
              if(emoticons.getSelectedItem().equals("Sad"))
                   String status = "<Sad>";
                   printMessage(status);
              if(emoticons.getSelectedItem().equals("Shocked"))
                   String status = "<Shocked>";
                   printMessage(status);
              if(emoticons.getSelectedItem().equals("Happy"))
                   String status = "<Happy>";
                   printMessage(status);
              if(emoticons.getSelectedItem().equals("Crying"))
                   String status = "<Crying>";
                   printMessage(status);
              if(emoticons.getSelectedItem().equals("Laughing"))
                   String status = "<Laughing>";
                   printMessage(status);
              if(emoticons.getSelectedItem().equals("Laughing My Ass Off!"))
                   String status = "<Laughing My Ass Off!>";
                   printMessage(status);
              //if the colour button is clicked
              if(event.getSource() == colourButton)
                   //create a new colour chooser
                   colourchoo = new JColorChooser();
                   //create the dialog its shown in
                   JColorChooser.createDialog(colourButton, "Choose your background colour", true, colourchoo, this, this);
                   //now show the dialog
                   Color col = JColorChooser.showDialog(sendMsgButton, "Choose your background colour", Color.GRAY);
                   //when a colour is chosen it becomes the bg colour
                   theWholeApp.setBackground(col);
                   rpanel1.setBackground(col);
                   rpanel2.setBackground(col);
                   rpanel3.setBackground(col);
                   rpanel4.setBackground(col);
                   rpanel5.setBackground(col);
                   lpanel1.setBackground(col);
                   lpanel2.setBackground(col);
                   lpanel3.setBackground(col);
                   lpanel4.setBackground(col);
                   lpanel5.setBackground(col);
              //if the connect button is clicked
              if(event.getSource() == (connect))
                   //get the txt entered into ip addy field & port num fields with a text check...
                   if(hosty.getText().equals("") || portnumfd.getText().equals("") || nickName.getText().equals(""))
                        JOptionPane.showMessageDialog(this, "You cant connect! \nThis is because the either the \n0 - HostName\n 0 - Port Number \n0 - Your Nick \nIs Missing...");
                   else
                        //get details and connect
                        username = nickName.getText();
                        String ipay = hostfield.getText();
                        String porty = portnumfd.getText();
                        connectto(ipay,porty);
          * This method is similar to an append method in that it allows msgs recieved by the server to
          * be displayed in the conversation window. It also deals with the self comm mode as if its disabled
          * then no messages from the sender will be displayed.
         public void moveTextToConvo(String texty)
              //check
              if(ignoreyourself == true)
                   ignoreyourself = false;
              else
                   //If self comm is on the send message as normal
                   if(talktoself)
                        conversationDisplay.setText(conversationDisplay.getText() + texty);
                   else
                        //check message isnt sent by the current client - if it is ignore it!
                        if(texty.startsWith(nickName.getText()))
                             ignoreyourself = true;
                        else
                             conversationDisplay.setText(conversationDisplay.getText() + texty);
              //allows the scroll pane to move automatically with the conversation
              conversationDisplay.setCaretPosition(conversationDisplay.getText().length());
          * This method (connectto) is called if the button's clicked and also sets up a relation
          * between the client and clienttoserver class
         public void connectto(String ipa,String portNO)
              //portNO needs to be changed from string to int
              int portNum = new Integer(portNO).intValue();
              try
                   //creates a socket
                   socky = new Socket(ipa, portNum);
                   writer = new PrintWriter(socky.getOutputStream(), true);
                   ClienttoServer cts = new ClienttoServer(socky, this);
                   cts.runit();
                   //give user a prompt
                   JOptionPane.showMessageDialog(this, "You're now connected!");
              catch(UnknownHostException e)
                   System.err.println("Unknown host...");
                   //prompt the user
                   JOptionPane.showMessageDialog(this, "Failed to connect! \nPlease try again...");
              catch(IOException e)
                   System.err.println("Could Not Connect!");
                   //prompt user
                   JOptionPane.showMessageDialog(this, "Error! \nCould not connect - please try again!");
          * This method sends msgs from current client to server, sends username and then the message.
          * This is split into two different messages as the "\n" is used.
         public void printMessage(String mess)
              writer.println(usernamey.getText() + " says: \n" + mess);
              //then clear the text in the message creation area...
              createMsg.setText("");
          * Accessor method to retrieve userName
         public String getUName()
              return username;
          * Disconnect this user from the server so that they can no longer recieve/send messages
         public void dropconnection()
              try
                   //Start to close everything - informing user
                   writer.close();
                   socky.close();
                   //Give the user info on whats happening
                   JOptionPane.showMessageDialog(this, "You are now disconnected \nYou will no longer be able to \nsend and recieve messages");
                   System.out.println("A user has left the conversation...");
              catch (IOException e)
                   System.err.println("IOException " + e);
    The Server Class:
    import java.net.*;
    import java.io.*;
    * This class works in sync with the ServertoClient class in order to read
    * messages from clients and then send back out to all the active clients. Due to
    * the usage of threading multiple clients can use this server.
    * Once again some of this code is from Florians 2005 tutorial work.
    public class Server
         private ServerSocket server;
         private ServertoClient threads[];
         private static int portNo  = 2250;
         private static String Host = ""; //find method to retrieve ip
         private int maxPeeps = 20; //20 people can talk together but this can be altered
          * 1st Constructor - has no params
         public Server()
          * 2nd Constructor - allows for port number setting
         public Server(int portnumber)
              portNo = portnumber;
          * 3rd Constructor - allows for port number & max users
         public Server(int portnumber, int maxiusers)
              portNo = portnumber;
              maxPeeps = maxiusers;
          * This method is to constantly listen for possible messages from clients
         public void listener()
              //set the time out of method to just under a minute
              final int waitingTime = 500000000;
              //a boolean variable to keep it waiting
              boolean keepWait = true;
              //create a threads array of length maxpeeps
              threads = new ServertoClient[maxPeeps];
              //define a variable that will be used as a count of the no of threads
              int x = 0;
              try
                   //open a new socket on this port number
                   server = new ServerSocket(portNo);
              catch (IOException e)
                   System.err.println("IOException " + e);
                   return;
              //while the keepWait is true and the no. of threads is less than the max...
              while(keepWait && x < maxPeeps)
                   try
                        //set the timeout, this is the waitingTime (50 secs)
                        server.setSoTimeout(waitingTime);
                        //listen for connection to accept
                        Socket socky = server.accept();
                        System.out.println("A New User Has Connected");
                        //creates a new thread and adds it to array
                        threads[x] = new ServertoClient(this, socky);
                        //the thread begins
                        threads[x].start();
                   catch (InterruptedIOException e)
                        System.err.println("The Connection Timed Out...");
                        keepWait = false;
                   catch (IOException e)
                        System.err.println("IOException " + e);
                   x++; //increment no. of threads
              //if waitingTime is reached or there are too many threads then server closes
              try
                   server.close();
              catch(IOException e)
                   System.err.println("IOException " + e);
                   return;
          * This prints the string to all active threads
         public void printAll(String printy)
              for(int x = 0; x < threads.length; x++)
                   if(threads[x] !=null && threads[x].isAlive())
                        threads[x].sendMsg(printy);
          * Main method for the server, creates a new server and then continues to listen
          * for messages from different users
         public static void main(String[] args)
              Server chatsession = new Server();
              System.out.println("The Server Is Now Running on port NO: " + portNo);
              System.out.println("And IP Address: " + Host);
              chatsession.listener();
    [/code
    The ServertoClient Classimport java.lang.Thread;
    import java.net.*;
    import java.io.*;
    * This is the ClienttoServer class that acts as an intermediary between the server
    public class ClienttoServer extends Thread
         private Socket socky;
         private BufferedReader bready;
         private boolean active;
         private Client client;
         * This is the constructor to create a new client service
         public ClienttoServer(Socket socket, Client cli)
              socky = socket;
              active = false;
              client = cli;
              //try to read from the client
              try
                   bready = new BufferedReader(new InputStreamReader(socky.getInputStream()));
              catch (IOException e)
                   System.err.println("IOException " + e);
         * This method reads in from the client
         public void runit()
              active = true;
              while(active == true)
              {//continue to read in and then change the text in the conversation window
                   try
                        String message = bready.readLine();
                        client.moveTextToConvo(message + "\n");
                   catch (IOException e)
                        System.err.println("IOException " + e);
                        active = false;
    And finaly the servertoclient class
    import java.net.*;
    import java.io.*;
    import java.lang.Thread;
    * This clas provides the services that the server uses
    public class ServertoClient extends Thread
         private Socket socky;
         private Server server;
         private BufferedReader bready;
         private PrintWriter writer;
          * This constructor sets up the socket
         public ServertoClient(Server theServer, Socket theSocket)throws IOException
              socky = theSocket;
              server = theServer;
              //sets up the i/o streams
              writer = new PrintWriter(socky.getOutputStream(), true);
              bready = new BufferedReader(new InputStreamReader(socky.getInputStream()));
          * This method keeps listening until user disconnects
         public void run()
              boolean keepRunning = true;
              try
                   //keep listening 'til user disconnects
                   while(keepRunning = true)
                        final String tempmsg = bready.readLine();
                        //is there a message (if yes then print it!)
                        if(tempmsg == null)
                        else
                             server.printAll(tempmsg);
                   dropconnection();
              catch (IOException e)
                   System.err.println("IOException in thread " + Thread.currentThread() + ": " + e);
          * This method is for when a user disconnects from the server...
         public void dropconnection()
              try
                   bready.close();
                   writer.close();
                   socky.close();
              catch (IOException e)
                   System.err.println("IOException in thread " + Thread.currentThread() + ": " + e);
              System.out.println("A User Has Disconnected...");
          * This method prints the message
         public void sendMsg(String msg)
              writer.println(msg);
    }Thats it any help would be much appreciated
    Cheers.

    Like the previous poster indicated: try to find a minimal example that shows the error your experiencing.
    One thing that seems bogus is the Server.listener() method. For one thing, it can increment x even if no new connection has been established (e.g., x will be incremented if an exception is caught).

  • HT1245 Why does my caller I.D. photos show as a small thumbnail in the upper right corner and not full screen? I have used both photos I have synced and photos I have taken, yet others have full screen photo I.D.'s.

    Why does my caller I.D. photos show as a small thumbnail in the upper right corner and not full screen? I have used both photos I have synced and photos I have taken, yet others have full screen photo I.D.'s. I have looked onlime at several threads and there are no real answers as to what I need to do or am doing wrong.

    I am also having this issue.
    I've just spoken to someone in the Apple Support Centre who advised me that since the product is in beta, he is unable to assist. I wanted to find out whether someone was able to delete the data for me, or 'reset' the photos app somehow. This apparently cannot be done. He suggested I provide feedback via the feedback page, which I will do, but to be honest doesn't fill me with a lot of confidence in the issue being fixed.
    I also deactivated the service and waited the 30 days for the pictures to be deleted - this should have been completed in mid-January. Instead, my iCloud.com Photos page is now showing the photos that should have been deleted as grey squares, just as you described. I am also unable to delete these photos; every time I try, I get the same message about a server error.
    I am also unable to disable the service by enabling and then disabling it on my iPhone. Each time I have tried this it hangs on uploading for several hours, with the progress bar not moving at all. When I disable it on my iPhone, the web app remains unchanged.
    If anyone has had this issue and has managed to fix it, PLEASE share your wisdom. I am out of patience!

  • I am using both PSE 13 and Lightroom 5.  When I use Lightroom as an external editor and save the photo, it shows up in PSE13 as an edited file but does not look any different.  Why doesn't it appear edited?

    I am using both PSE 13 and Lightroom 5.  When I use Lightroom as an external editor and save the photo, it shows up in PSE13 as an edited file but does not look any different.  Why doesn't it appear edited?

    People who have Photoshop, but don't have Lightroom, need ACR so that they can use Raw files. Without ACR they could do nothing with those (they may also like having ACR so that they can work on other kinds of image using the same kinds of adjustments and techniques, as are used with Raw files).
    People who have Lightroom, can get access to Raw files regardless whether ACR is present or not. They can use Lightroom on other kinds of image also, using the same methods. LR can pass images directly into Photoshop without passing via ACR (or else does so transparently, which amounts to substantially the same thing).
    ACR does not, strictly speaking, even need to be installed for this external editing to happen. In fact, not even PS needs to be - since a different image editor can be used instead, while still retaining the Adobe Raw conversion etc.
    Lightroom "subcontracts out" specialised external tasks, in this workflow, but is still your "main contractor": the image is otherwise located, viewed, managed, adjusted/presented and output entirely using LR.
    So IMO we can divide image processing into:
    operations that involve pixels and layers and layer masks and adjustment layers etc (of the kind done inside Photoshop)
    operations that involve parametric edits (of the kind done in ACR where you are not using a Lightroom based workflow; otherwise, done inside Lightroom)
    When PS is called in, that's because those tasks are impossible or unsuitable to do in Lightroom. But those tasks can't be done in ACR either - by definition, since LR and ACR have exactly the same image processing "feature set".
    Lightroom is irrelevant to the Bridge + ACR + PS workflow. This workflow requires both your PS and your ACR to be current enough, to support your Raw format etc.
    ACR and Bridge are irrelevant to the LR + (image editor) workflow. It is in this case, only LR which needs to be current enough to support your Raw format etc.
    RP

  • Maintaining Macs--Why doesn't Apple tell you more?

    This is not a problem that I need to solve but just something I've been wondering about. Why doesn't Apple tell people the routines they need to use to maintain their Macs?
    If you do a search on "maintenance" in Support the fourth item is Mac Maintenance Quick Assist:
    http://docs.info.apple.com/article.html?artnum=303602
    The things they tell you to do are:
    1) Keep Things Up to Date; 2) Put Your Files Away; 3) Name Your Files; 4) Prune Through Your Files; 5) Back Up Your Files; 6) Check for Viruses; 7) Clean the Outside
    Where is anything about running the maintenance scripts, checking permissions, checking your preferences, updating the databases, cleaning caches, or anything else that software programs like Onyx, Cocktail, etc make their purpose? Why don't they mention getting a program like Disc Warrior and running it periodically?
    The first item on their list is Keep Things Up to Date, meaning download system and application updates. Well after looking at these forums for a while I would have to say that is the worst thing you could do, as so many posts start, " Help! I updated my software and now things don't work...." Even if you look at this article about updating your software...
    http://docs.info.apple.com/article.html?artnum=106704
    ...nowhere does it mention repairing your permissions! Yet everywhere on this forum that is mentioned as one of the first things to do...unfortunately AFTER people are crazy with problems.
    I don't get it. Even in the manuals that come with the computers none of this stuff is mentioned (last time I looked) except in the troubleshooting section. Would you buy a car where the owner's manual had "change the oil regularly" listed in a section on what to do after you've blown your engine?
    Granted, a lot of people on this forum know all these things and do them regularly, but I have several friends with Macs who never do any regular maintenance because they've never been told to. One just called me last week because his iMac auto-updated and he had all sorts of problems.
    So why is this? Why isn't basic Mac maintenance explained to people better? Going back to the car analogy, people have been taught they have to give their cars tune-ups or face an eventual breakdown. Why not with Macs?
    I have been using Macs for years and enjoy looking into this geeky stuff. And I rarely have any serious problems. I would think it has a lot to do with the fact that I don't automatically update without checking MacFixit first and seeing what problems people are having and running a few simple maintenance routines periodically, plus backing up for good measure. Why isn't Apple more upfront with people about maintaining their Macs? Am I off-base here?
    ibook G3, imac G5   Mac OS X (10.4.9)  

    I'll provide you with several references you will find interesting reading:
    http://www.macfixit.com/article.php?story=20060413075624652
    http://www.macworld.com/2006/08/secrets/repairpermissions/index.php
    http://www.macworld.com/2006/03/secrets/tcopermissions/index.php
    http://www.atomicbird.com/node/view/29
    The document to which you referred is an old one that dates back a ways when permissions repairs were often still needed because many installers improperly changed permissions or caused permissions to change through other improper operations. In reality the only thing permissions repair affects are the permissions on OS X installed software for which there are receipts in the /Library/Receipts/ folder and third-party software that install a receipt that includes information on resetting permissions for that software. The vast majority of third-party applications provide no such information and repairing permissions has no impact on them.
    As for maintenance scripts they are now supposed to be run automatically regardless of whether the computer is turned on in the early AM, but this is an implementation with Tiger because Tiger introduced a new method of task launching. It's not 100 percent effective but it's better than it was. However, it's an easy problem to solve because there are some excellent utilities that solve the problem: Macaroni, Anacron, and Pseudo Anacron - VersionTracker or MacUpdate. I use Macaroni on all my Macs.
    Kappy's Personal Suggestions for OS X Maintenance
    For disk repairs use Disk Utility. For situations DU cannot handle the best third-party utilities are: Disk Warrior; DW only fixes problems with the disk directory, but most disk problems are caused by directory corruption; Disk Warrior 4.0 is now Intel Mac compatible. TechTool Pro provides additional repair options including file repair and recovery, system diagnostics, and disk defragmentation. TechTool Pro 4.5.2 is Intel Mac compatible; Drive Genius is similar to TechTool Pro in terms of the various repair services provided. The current version, 1.5.1, is Intel Mac compatible.
    OS X performs certain maintenance functions that are scheduled to occur on a daily, weekly, or monthly period. The maintenance scripts run in the early AM only if the computer is turned on 24/7 (no sleep.) If this isn't the case, then an excellent solution is to download and install a shareware utility such as Macaroni, JAW PseudoAnacron, or Anacron that will automate the maintenance activity regardless of whether the computer is turned off or asleep.
    OS X automatically defrags files less than 20 MBs in size, so unless you have a disk full of very large files there's little need for defragmenting the hard drive. As for virus protection there are few if any such animals affecting OS X. You can protect the computer easily using the freeware Open Source virus protection software ClamXAV. Personally I would avoid most commercial anti-virus software because of their potential for causing problems.
    I would also recommend downloading the shareware utility TinkerTool System that you can use for periodic maintenance such as removing old logfiles and archives, clearing caches, etc.
    For emergency repairs install the freeware utility Applejack. If you cannot start up in OS X, you may be able to start in single-user mode from which you can run Applejack to do a whole set of repair and maintenance routines from the commandline.
    When you install any new system software or updates be sure to repair the hard drive and permissions beforehand. I also recommend booting into safe mode before doing system software updates.
    Get an external Firewire drive at least equal in size to the internal hard drive and make (and maintain) a bootable clone/backup. You can make a bootable clone using the Restore option of Disk Utility. You can also make and maintain clones with good backup software. My personal recommendations are (order is not significant):
    1. Retrospect Desktop (Commercial - not yet universal binary)
    2. Synchronize! Pro X (Commercial)
    3. Synk (Backup, Standard, or Pro)
    4. Deja Vu (Shareware)
    5. PsynchX 2.1.1 and RsyncX 2.1 (Freeware)
    6. Carbon Copy Cloner (Freeware - 3.0 is a Universal Binary)
    7. SuperDuper! (Commercial)
    The following utilities can also be used for backup, but cannot create bootable clones:
    1. Backup (requires a .Mac account with Apple both to get the software and to use it.)
    2. Toast
    3. Impression
    4. arRSync
    Apple's Backup is a full backup tool capable of also backing up across multiple media such as CD/DVD. However, it cannot create bootable backups. It is primarily an "archiving" utility as are the other two.
    Impression and Toast are disk image based backups, only. Particularly useful if you need to backup to CD/DVD across multiple media.
    Visit The XLab FAQs and read the FAQs on maintenance, optimization, virus protection, and backup and restore.
    Additional suggestions will be found in Mac Maintenance Quick Assist.
    Referenced software can be found at www.versiontracker.com and www.macupdate.com.
    I know that Joe Average has no clue, but it's not Apple's responsibility to provide Joe Average with clues on how to use a computer. No more than it's not GM's responsibility to teach you how be an automotive mechanic or how to drive. Some things you have to take responsibility for yourself. It's just that Joe Average is too lazy to read the User Guide, buy a book, or in any other way learn about computers before buying one.
    As you can tell I am somewhat heavy handed about personal responsibility. Computers are essentially toys that aren't dangerous, but the person playing with them is. What really scares the crap out of me is that same Joe Average has a driver's license and may be old enough to drink liquor. When it comes to driving or drinking and driving Joe Average is no more competent.

  • Why doesn't my pictures on my PC upload to my Ipad and Iphone.  Seems I have all my settings correct but none of my pictures are not showing up.

    Why doesn't my pictures show up on my Ipad and Iphone?  I have my pictures in the photostream upload folder but they do not seem to be uploading.
    Thanks.

    You will notice that in "My Pictures" folder you have a new folder called photostream. In photostream folder you will have another folder called "Upload" Anything you put in the "upload" folder will go to your phone and ipad. So just copy pics you want into that folder and they will go into photostream. I would not suggest moving them since I am not sure how it works on windows but there is a chance photostream might empty out the  folder after 30 days.
    On mac it automatically saves originals..

  • Why doesn't my itunes recognize my ipod nano 6th gen anymore?

    I recently purchased a lot of new songs and downloaded the newest version of itunes.  Now when i plug my ipod (6th gen) into the USB to sync with itunes it shows that it is charging ("connected - eject before disconnecting") then it ejects itself and the whole time itunes never registers my ipod.  So frustrating!!  I've restarted my computer many times, i've uninstalled and reinstalled Itunes many times.  I've tried holding the sleep/on/off button with the volume down button to restore it then i get a message  from itunes saying that it can't restore my ipod because of an error.....  What can I do???  Please Help!!!!

    burtontexjap wrote:
    Why doesn't my iTunes recognize my "Songs for Japan" CD,
    iTunes gets information about all CDs from a database called Gracenote (which has nothing to do with iTunes/Apple), but if no one has entered the information about that CD into Gracenote, that's why your iTunes cannot fill in the track names. You could send that information to Gracenote yourself by completing the track names and artists and then clicking on Advanced/Submit CD track names. That would help everyone else in the future.
    However, you then go on to say;
    burtontexjap wrote:Recently my computer's iTunes doesn't recognize any artists, even the ones I've uploaded before.
    If your iTunes cannot get any track information for any CD, then either your iTunes isn't connected to the internet, or your iTunes setting have changed. To check your iTunes settings, go into Edit/Preferences/General and look at the tick-box (check-box) named Automatically retrieve CD track names from the internet. There should be a tick (check-mark) in the box.

Maybe you are looking for

  • Performance Tuning in LSMW

    Hi Can Anyone explain me how can we increase the performance of the LSMW when created with the recording. Thanks a lot

  • Apache fop and localization

    There is probably not much of a chance to get an answer but still I'll try. During conversion of an xls-fo file into pdf all cyrillic symbols get screwed (replaced with #). There is a guide on how to embed fonts via the configuration file. However if

  • Mobile apps in pure AS3

        Hi there, I'm wondering what components (such as list control, buttons, date picker and so on) others are using  when they develop pure AS3 mobile apps for IOS.  Is there a book that you can suggest for me to help understand how components are bu

  • How can I export more than 6 slides to a page as a PDF in Keynote?

    I need to export the slides in my Keynote presentation as a PDF so it can be printed and handed out for the participants to take notes with. It appears that the maximum number of slides per page I can export is (6) and even with that number, the slid

  • Satellite L655-S5060 mouse will not scroll

    Just had to have a new hard drive installed and now the touchpad mouse will not scroll.  I don't see anything in the mouse properties to "turn it on".  I have tried updating driver and it says it is up to date.  Windows 7.  Thanks in advance! Solved!