Disable vertical movement of the caret in a JTextArea

Hello all,
I have a JTextArea where the user should be able to edit only the last (current) line. Whenever the user presses CURSOR_UP, the caret shouldn't move. Moving the caret to the left and right should be possible.
Could anyone give me a hint, where to realise that?
Thanks in advance!
Juergen

Try changing the input map for your text area.
Refer to the java doc on the following:
JComponent.getInputMap();
JComponent.getActionMap();
I think, in your case nulling the Down arrow and Up arrow key in the input map would solve your problem.
Hope this helps
Sai Pullabhotla

Similar Messages

  • Why does my Apple TV say my Apple ID has been disabled when I try to purchase a movie from the itunes store?

    I am trying to purchase a movie through the itunes store on my Apple TV, but it's saying that my Apple ID has been disabled and my account is perfectly in order and verified. Someone please help me.

    Check your error message and see below.
    Disabled for security reasons read this: http://support.apple.com/kb/TS2446
    For something else read this: http://support.apple.com/kb/HT5699

  • I can't move the caret in the Address Bar or any other text box normally.

    Only when I hold down an arrow key or the home or end key for a little while, does the caret move. Why does it behave that way? The issue does not seem to be with caret browsing though.

    Thanks for the suggestion. It made sense to me (my salesman mentioned that he used FireFox as his browser) So I went ahead and down-loaded it.   Unfortunately the problem is also on Firefox.  I can pull up the web pages that I am looking for, but I can not pull up the "sign-on" pages. 
    It is beginning to sound like a security type issue to me.  The "Connection Time Out" page gives 3 choices:
    * This site coule be temporarily unavailable or too busy. Try again in a few moments.
                           ***I don't think this is the issue, because my laptop is pulling up the pages just fine****
    * If you are unable to load any pages, check your computers network connection.
                           ***I am able to pull up some pages, and my laptop works off of the same network***
    * If your computer or network is protected by a firewall or proxy,make sure that Firefox is permitted to access the Web.
                             ***This sounds like the most likely issue, but I do not know how to check or adjust the      
                                 firewall/ proxy.
    I do not know if the issue has anything to do with my living in another country.  I purchased my IMac during my last visit to the U.S. and brought it back to Panama with me. Does the IMac need special instructions for international network providers?
    Thanks for you assistance.

  • I have a new IMAC. My mouse (very sensible) gave me the possibility to move left to right and right to left and also to scroll on the vertical way also on my page word. I like the vertical way, it is ok, but is it possible to block the vertical move only

    Hi, I have a new IMAC. Only by touch, my mouse (very sensible) gave me the possibility to move left to right and right to left on my pages word and also to scroll on the vertical way. I am ok with the vertical way, but I don't like the very sensible horizontal way. Do someone know a way to block the vertical move only and keep the move of the horizontal way? The only way I found blocked all the moves.
    I hope my descripion is understandable... English is not my habitual language.
    Danielle

    Merci Éric de me revenir en français, je l'apprécie beaucoup. Je ne veux conserver que le mouvement de haut en bas et de bas en haut. Je ne vois pas l'utilité du mouvement horizontale (gauche-droite, droite-gauche) et pire encore, par mégarde je fais trop souvent bouger ainsi mon texte et cela m'embête, même me dérange  beaucoup. Même que cela me donne même mal au coeur hahahahahaha!
    Par contre, ma souris précédente avait le mouvement de défilement du haut en bas et bas en haut et cela par contre m'est très utile. Je voudrais donc savoir s'il existe un moyen de stopper le mouvement de côté mais conserver tout de même la fonction du mouvement haut-bas et bas-haut avec le simple toucher de la souris. Suis-je plus clair? Disons que c'est plus aisé pour moi en français. merci à toi
    Danielle

  • Screen moves with the mouse !

    Since few weeks the screen of my iMac G4 800mHz( Flat Panel 17") acts curiosly: It moves along with the mouse mouvement.
    When I move the cursor to the right, the screen moves few pixels to the left.
    Inversely, if I move it to the left, the screen moves to the right.
    Same thing in the vertical axis.
    I tried to change the resolution and the problem persists.
    What should I do ?
    Martine

    It sounds like you have accidentally activated zoom.
    You can disable zoom in System Preferences->Universal Access preference pane.
    Mac OS X 10.4 Help: Setting zoom options for viewing your computer screen

  • How to change the size of the caret in a JTextPane

    I have text of different font sizes and the default caret height is the height of the text with the maximum font size. How do I change the caret height so that it matches the height of the text with the specified font size ?

    This has been a real pain in the butt to figure out, but I think I finally got it. If you create your own caret (subclass of DefaultCaret) then you override its paint() and damage() methods. I was having all kinds of problems with this though. I was getting pieces of carets left behind when I moved with the arrow keys, etc... from the helps I found. The arrow keys were my big problem.
    I think I finally figured out that the damage() simply does need to specify an area a little bigger than the old caret so it can blank it out. Then I think others had a logic problem, and Sun does not make this problem clear. What happens it that I think repaint() calls paint() who then uses the bigger x, y, height and width parameters that got set in damage(), which was causing my problems because the damage size was bigger than the size I wanted to create my caret with. What I do is figure out my area from the font I am using (another trick) and make them (the charWd and charHt) variables class variables. I calculate them in damage, use a bigger area to blank out my old caret in damage, and then used the correct caret size I calculated in damage() in paint(), instead of the rectangle values that seem to get passed from damage() to paint(). That was the problem in other examples.
    Here is my code:
    run with java caretPain
    run with java caretPain -1 to see my fixed version
    run with java caretPain -2 to see some problems
    // written by: Stan Towianski
    import java.awt.*;
    import java.awt.event.*;
    import java.util.Hashtable;
    import java.util.ArrayList;
    import javax.swing.*;
    import javax.swing.text.*;
    import javax.swing.event.*;
    import javax.swing.undo.*;
    import javax.swing.plaf.basic.*;
    import javax.swing.text.*;
    import javax.swing.plaf.*;
    import java.net.URL;
    import java.io.*;
    import java.beans.*;
    public class caretPain extends JFrame {
    static caretPain CRTP2;
    JPanel contentPane;
    JTextPane textPane;
    JTextPane textPane2;
    JScrollPane scrollPane;
    JSplitPane splitPane;
    String newline = "\n";
    static final int MAX_CHARACTERS = 300100;
    static int FrameWidth = 500;
    static int FrameHeight = 300;
    String caretType = "blockOutline";
    static int useSpecialCaret = 0;
    DefaultCaret useCaret = new MyCaret();
    public caretPain() {
    textPane = new JTextPane( new DefaultStyledDocument() );
    textPane2 = new JTextPane( new DefaultStyledDocument() );
    if ( useSpecialCaret == 1 )
    System.out.println( "using special caret 1" );
    textPane.setCaret( useCaret );
    else if ( useSpecialCaret == 2 )
    System.out.println( "using special caret 2" );
    textPane.setCaret( new WsCaret() );
    textPane.setCaretPosition(0);
    textPane.setMargin(new Insets(5,5,5,5));
    scrollPane = new JScrollPane(textPane);
    textPane.setPreferredSize(new Dimension(FrameWidth, FrameHeight));
    JScrollPane scrollPane = new JScrollPane(textPane);
    //Create a split pane for the change log and the text area.
    splitPane = new JSplitPane( JSplitPane.HORIZONTAL_SPLIT,
    textPane, textPane2 );
    splitPane.setOneTouchExpandable(true);
    //Add the components to the frame.
    contentPane = new JPanel(new BorderLayout());
    contentPane.add(splitPane, BorderLayout.CENTER);
    setContentPane(contentPane);
    class MyCaret extends DefaultCaret
    int charWd = 30;
    int charHt = 30;
    // draw the caret
    public void paint(Graphics g)
    System.err.println( "entered MyCaret.paint()" );
    if ( ! isVisible() )
    System.err.println( "exiting because not visible" );
    return;
    try {
    JTextComponent c = getComponent();
    int dot = getDot();
    Rectangle r = c.modelToView(dot);
    System.err.println("caret: text position: " + dot +
    ", view location = [" +
    r.x + ", " + r.y + "]" +
    newline);
    g.setColor(c.getCaretColor());
    //g.drawLine(r.x, r.y + r.height - 1, r.x + 14, r.y + r.height - 1);
    System.err.println( "caretType =" + caretType ); //+ " component =" + c.toString() );
    if ( caretType.equals( "blockOutline" ) )
    g.drawRect( r.x, r.y, charWd, charHt );
    else if ( caretType.equals( "block" ) )
    g.fillRect( r.x, r.y, charWd, charHt );
    else if ( caretType.equals( "bar" ) )
    g.drawLine( r.x, r.y, r.x, r.y + charHt );
    catch (BadLocationException e) {
    System.err.println( "bad caret loc" + e);
    // specify the size of the caret for redrawing
    // and do repaint() -- this is called when the
    // caret moves
    //protected synchronized void damage(Rectangle r)
    public synchronized void damage(Rectangle r)
    System.err.println( "entered MyCaret.damage()" );
    System.err.println("caret.damage(): text position: " + getDot() +
    ", view location = [" +
    r.x + ", " + r.y + "]" +
    newline);
    //FontMetrics fm = g.getFontMetrics();
    //System.out.println( "textPane getfont =" + textPane.getFont() );
    //System.out.println( "\n\n read in attribs font size =" + textPane.getInputAttributes().getAttribute(StyleConstants.FontSize) + "\n\n" );
    //int ii = Integer.parseInt( (String) textPane.getInputAttributes().getAttribute( StyleConstants.FontSize ) );
    int ii = Integer.parseInt( String.valueOf( textPane.getInputAttributes().getAttribute( StyleConstants.FontSize ) ) );
    //System.out.println( "textPane input attrib font size =" + ii );
    Font f = new Font( "ff", Font.PLAIN, ii );
    //System.out.println( "textPane input attrib font =" + f );
    FontMetrics fm = getFontMetrics( f );
    //FontMetrics fm = g.getFontMetrics();
    //FontMetrics fm = getFontMetrics( textPane.getInputAttributes().getAttribute( StyleConstants.FontSize ) );
    //MutableAttributeSet inputAttributes = getInputAttributes();
    //String fs = textPane.getAttribute( "FontSize" );
    //System.out.println( "\n\n read font size =" + textPane.getCharacterAttributes().getAttribute(StyleConstants.FontSize) + "\n\n" );
    charWd = fm.charWidth( 'k' );
    charHt= fm.getHeight();
    //System.out.println( "font width =" + charWd + " font height =" + charHt + " font =" + fm.toString());
    if ( r == null )
    System.err.println( "caret.damage() return on rectangle == null" );
    return;
    x = r.x - 2;
    y = r.y - 2; // + r.height - 2;
    width = charWd + 4; //textPane.getColumnWidth();
    height = charHt + 4; //textPane.getRowHeight();
    System.err.println("caret.damage(): set caret width, height, x, y =" + width + "," + height + "," + x + "," + y );
    repaint();
    //repaint();
    public class WsCaret extends DefaultCaret {
    transient private int[] flagXPoints = new int[3];
    transient private int[] flagYPoints = new int[3];
    public WsCaret() {
    this.setBlinkRate(500);
    public void paint(Graphics g) {
    if(isVisible()) {
    JTextComponent component = this.getComponent();
    TextUI mapper = component.getUI();
    Rectangle r = null;
    try {
    r = mapper.modelToView(component, this.getDot());
    catch(BadLocationException exc) {}
    //System.out.println( "rect r =" + r.toString() );
    //g.drawLine(r.x, r.y, r.x, r.y + r.height - 1);
    //g.drawLine(r.x+1, r.y, r.x+1, r.y + r.height - 1);
    g.drawRect( r.x, r.y, 10, r.height );
    Document doc = component.getDocument();
    if (doc instanceof AbstractDocument) {
    Element bidi = ((AbstractDocument)doc).getBidiRootElement();
    if ((bidi != null) && (bidi.getElementCount() > 1)) {
    // there are multiple directions present.
    flagXPoints[0] = r.x;
    flagYPoints[0] = r.y;
    flagXPoints[1] = r.x;
    flagYPoints[1] = r.y + 4;
    flagYPoints[2] = r.y;
    flagXPoints[2] = (true) ? r.x + 5 : r.x - 4;
    System.out.println( "going g.fillPolygon" );
    g.fillPolygon(flagXPoints, flagYPoints, 3);
    protected synchronized void damage(Rectangle r) {
    if (r != null) {
    this.x = r.x - 4;
    this.y = r.y;
    //there must be a better way to doing this, but for now you
    //just increase the width so that it will cover the new caret's size
    this.width = 20; // the original width is 10
    this.height = r.height;
    //this.height = r.height + 20;
    //this.height = 10;
    repaint();
    //The standard main method.
    public static void main(String[] args) {
    if ( args.length > 0 )
    System.out.println( "found arg so will use special caret." );
    if ( args[0].equals( "-1" ) )
    useSpecialCaret = 1;
    else if ( args[0].equals( "-2" ) )
    useSpecialCaret = 2;
    else
    System.out.println( "found no arg so will standard caret." );
    System.out.println( "give arg: -1 to get Stan\'s working caret" );
    System.out.println( "give arg: -2 to get another example\'s caret" );
    try
    CRTP2 = new caretPain();
         catch (Exception ex)
    System.out.println("Error creating CRTP2: " + ex);
    ex.printStackTrace();
    System.exit(0);
    CRTP2.addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {
    System.exit(0);
    public void windowActivated(WindowEvent e) {
    CRTP2.textPane.requestFocus();
    CRTP2.setTitle( "This is my title you" );
    CRTP2.pack();
    CRTP2.setVisible(true);

  • Why can't Apple TV stream movies like the iTunes store can?

    I'm in the UK with an Apple TV 2nd Gen. 9Mb/s broadband speed checked and have conclusively failed to rent one single movie since I bought this a year ago. Every time I log in, select the film, purchase it, hit play and all I get is "connection error please try later" Playing movie trailers and everything else is fine. Surely the point of renting a movie online is so you can watch it straight away. Lovefilm works just fine via my PS3.
    The other day I tried again on Apple TV with the same error so figured I'd try and rent the movie direct from iTunes Store on my laptop, hey presto, 2 mins later I'm watching my film via my Macbook Pro hooked up to my TV.
    So the big question is: Why can not Apple TV stream a movie like the iTunes Store can? Of course I appreciate that a certain amount of buffering has to happen but that is never evident on Apple TV.
    Anyone got any ideas?
    Thanks.

    Welcome to the Apple Community.
    Intermittent problems
    Intermittent problems are often a result of interference. Interference can be caused by other networks in the neighbourhood or from household electrical items.
    You can download and install iStumbler (NetStumbler for windows users) to help you see which channels are used by neighbouring networks so that you can avoid them, but iStumbler will not see household items.
    Refer to your router manual for instructions on changing your wifi channel or adjusting your multicast rate.
    There are other types of problems that can affect networks, but this is by far the most common, hence worth mentioning first. Networks that have inherent issues can be seen to work differently with different versions of the same software. You might also try moving the Apple TV away from other electrical equipment.
    Consistent Problems
    A frequent cause of consistent failure to enable AirPlay or HomeSharing at all, is the service being blocked on the network. Make sure your network isn't hidden, has a unique name, that MAC address authentication is disabled, security is set to use WPA 2 Personal and that there is only one router/device acting as a DHCP server and providing NAT services.
    Make sure your router/computer allows access over the following ports
    Port
    Type
    Protocol
    Used By
    80
    TCP
    HTTP
    AirPlay
    443
    TCP
    HTTPS
    AirPlay
    554
    TCP/UDP
    RTSP
    AirPlay
    3689
    TCP
    DAAP
    iTunes/AirPlay
    5297
    TCP
    Bonjour
    5289
    TCP/UDP
    Bonjour
    5353
    TCP/UDP
    MDNS
    Bonjour/AirPlay
    49159
    UDP
    MDNS (Win)
    Bonjour/AirPlay
    49163
    UDP
    MDNS (Win)
    Bonjour/AirPlay
    Refer to your router manual/manufacturer for any settings that are specific to that model.
    Another frequent cause of consistent failure to enable AirPlay or HomeSharing at all, is security software, in many cases configuring it correctly, disabling it or even uninstalling it can help, but in some cases the security software can cause problems that simply reconfiguring, disabling or uninstalling cannot reverse.
    If you are consistently unable to activate AirPlay, have tried all the steps in this article and have security software installed on your system, you might benefit from contacting its provider or participating in any online forums they run to discuss the matter with them.

  • How do I overcome the Failed Downloads for Instant Movies from the Adobe Server?

    I have a Windows 8.1 PC , Premiere Elements ver. 12, and I have a  dedicated DSL for computer only. In my best efforts, even when disabling  McAfee completely, I have had almost 4 days of frustration trying to  download an Instant Movie from the online content server. At times the  DL works, slowly, then it pauses, sometimes the DL reverses the count  and I lose 10mb and it resumes (I have never seen that before). Most  frustrating is when the DL is nearly complete and the message pops up  that I need to check my connection as the download has failed. I have  1.6TB disc space, and no restrictions in place at my end. I tried from 2  of the PCs, both Win 8.1. I have tried at all hours of the day for  traffic on the server, but that doesn't seem to matter. I have attempted the Secret Agent file DL at best 10x.  Is there a  setting I need to change to receive this content, or go to a different  site where I can directly access this content?
    I have purchased Three PE 12 programs for 3 replacement PCs and I need some real direction.
    Thank you, Jerry

    Jerry W B
    There will be those that report Content download of a few minutes. Although we are happy for them, many have found that this is not usually the case. Download of the Premiere Elements 11 and 12 Content download is often a slow process which demands a lot of patience whether the download be "Download Now" or "Download All".  Just two of the factors in this situation are the Internet Speed/Status and the status of the Adobe Server. Many times it is time of the day.
    http://www.atr935.blogspot.com/2013/05/pe11-no-content-disc-content-downloads.html
    http://atr935.blogspot.com/2013/12/pe12-content-download-considerations.html
    I have DSL Service on the east coast of the USA. It is now about 6 pm Saturday February 22, 2014.
    I right clicked the blue ban at the top right corner of the Instant Movie thumbnail for the Secret Agent theme. I selected Download Now to download just that one Instant Movie theme.
    a. The file size was given as 75.8 MB, not 118.7 MB. It took 11 minutes and 19 seconds to download that Instant Movie.
    I checked the download on two different computers, one Windows 7 64 bit and the other Windows 8.1 64 bit. The Instant Movie Secret Agent had a file size of 75.8 MB according to the download pop up in the opened project.
    b. If you are talking days for this download, then I would first check with your Internet provider. There is no other place for these downloads except from within the program. And, when you do get them, I would encourage you to save them as per my blog posts on this topic to avoid having to go through an labored downloading processes again.
    Do you find the downloading of Content to be the same for all the other categories requiring this type of download, not just Instant Movies?
    Please review and update us on your progress.
    Thank you.
    ATR
    Add On...Although you did say that you disabled McAfee, be advised that McAfee's recent update(s) have created some serious problems for Premiere Elements. So, I would re-evaluate McAfee's possible role in all this along with the firewalls settings.

  • Syncing downloaded movies from itunes to ipad which then suddenly stops and will not finish the sync stating itunes could not copy  "name of movie" to the ipad because the file could not be written. restored the ipad to factory settings, reinstalled itune

    I have had to format my PC running windows 7, and reset my ipad 1 to factory settings, i then installed latest itunes on the PC authorised the PC and re downloaded several movies via itunes previous purchases, all was well until i tried to sync the ipad to the PC, only some of the movies synced onto the ipad, otheres stalled the sync stating itunes could not copy  "name of movie" to the ipad because the file could not be written. I have to pull the plug on the ipad just to get itunes to unfreeze, but it still will not sync these movies. and one help

    Hi
    I was having the same issue with music and movies but it had been ok before. The sync would freeze on a random file and then i had to take out the USB cable to clear it. After trying all sorts of things i saw someone mentioning about Anti virus and firewalls. I am using McAfee so i disabled it as a test. After this i could sync music and movies without issue!!!!! So in my case the firewall/anti virus was causing a problem. McAfee updates itself a lot so I am guessing something has happened in a recent update that impacted iTunes.I am not sure if this kind of thing is also causing your problem but it sounds very familiar.
    Hope this helps.

  • How to insert a String at the CaretPosition without moving the Caret?

    I have a JTextPane wrapped by a JScrollPane. The JTextPane is where chatroom messages appear. When a message is appended at the end, it determines whether to scroll to the bottom based on some conditions (scroll to the bottom only if the user was already viewing somewhere near the bottom). That part is working fine.
    Although the JTextPane is not editable, it allows the user to make selections using a mouse so that blocks of text can be copied from the chatroom. The default caret of JTextPane handles that for me.
    But the problem comes when the caret position is at the end of the document when my program inserts a new message with the following code:
    StyledDocument doc = textPane.getStyledDocument();
    doc.insertString(doc.getLength(), message + "\n", null);The caret was at doc.getLength() to begin with, when the new message is inserted at the end, it "pushes" the caret to a new position. The caret movement is causing JScrollPane to scroll to where the caret is visible (the bottom), therefore interfering with my scrolling algorithm (see above).
    So, when the caret is doc.getLength(), how do I insert a String at doc.getLength() with the caret staying at the original position?
    In other words, how do I insert a String at the caret position without the caret being moved?
    Note:
    1) I don't want to use setCaretPosition() to set the caret to its original position, because calling this method will trigger a CaretEvent, thus causing the JScrollPane to scroll (to the caret) which is not what I want (see above).
    2) I don't want to remove the CaretListener, cause then the JScrollPane won't scroll even when the user wants to make a multiple-page selection using the mouse (dragging the selection off screen).
    3) I want to keep the Caret at the original position so that the user won't lose his/her selection when new messages appear (which can be quite frequent).

    I keep forgetting how difficult it is to do such simple things in the text package. But it's not impossible! Here's a way to replace the relevant listeners, plus a sample implementation. If you know you'll never, ever delete any text from the JTextPane, you may not have to provide a replacement DocumentListener at all; this one just makes sure the caret isn't past the end of the document.
    import java.beans.PropertyChangeEvent;
    import java.beans.PropertyChangeListener;
    import javax.swing.text.DefaultCaret;
    import javax.swing.text.Document;
    import javax.swing.text.JTextComponent;
    import javax.swing.event.DocumentEvent;
    import javax.swing.event.DocumentListener;
    public class ChatCaret extends DefaultCaret
      private MyHandler newHandler;
      private PropertyChangeListener oldHandler;
      public void install(JTextComponent c)
        super.install(c);
        PropertyChangeListener[] pcls = c.getPropertyChangeListeners();
        for (int i = 0; i < pcls.length; i++)
          if (pcls.getClass().getName().equals(
    "javax.swing.text.DefaultCaret$Handler"))
    oldHandler = pcls[i];
    newHandler = new MyHandler(oldHandler);
    c.removePropertyChangeListener(oldHandler);
    c.addPropertyChangeListener(newHandler);
    break;
    Document doc = c.getDocument();
    if (doc != null)
    doc.removeDocumentListener((DocumentListener)oldHandler);
    doc.addDocumentListener(newHandler);
    public void deinstall(JTextComponent c)
    super.deinstall(c);
    c.removePropertyChangeListener(newHandler);
    Document doc = c.getDocument();
    if (doc != null)
    doc.removeDocumentListener(newHandler);
    class MyHandler implements PropertyChangeListener, DocumentListener
    private PropertyChangeListener oldHandler;
    MyHandler(PropertyChangeListener oldHandler)
    this.oldHandler = oldHandler;
    public void propertyChange(PropertyChangeEvent evt)
    Object oldValue = evt.getOldValue();
    Object newValue = evt.getNewValue();
    if ((oldValue instanceof Document) ||
    (newValue instanceof Document))
    setDot(0);
    if (oldValue != null)
    ((Document)oldValue).removeDocumentListener(this);
    if (newValue != null)
    ((Document)newValue).addDocumentListener(this);
    else
    oldHandler.propertyChange(evt);
    public void removeUpdate(DocumentEvent evt)
    int length = getComponent().getDocument().getLength();
    if (length < getDot())
    setDot(length);
    public void insertUpdate(DocumentEvent evt) { }
    public void changedUpdate(DocumentEvent evt) { }

  • Bottom row of the keyboard is not working in a vertical orientation on the iPhone 3Gs. the "slide to unlock" and all keys on the calculator on both orientation works fine. I can use the keyboard on horizontal orientation.

    Bottom row of the keyboard is not working in a vertical orientation on the iPhone 3Gs. the "slide to unlock" and all keys on the calculator on both orientation works fine. I can use the keyboard on horizontal orientation. The tabs on bottom of all apps also work fine.
    I have already tried holding down the power button and home button for 10 seconds, but no difference.

    I've had this problem on and off for the last few weeks (around, but not directly related, to upgrade to 6.1...can't remember if was before or after)....I'm very convinced it's a software problem (as there have been times when the bottom row works perfectly, without any need to "press" differently or anything).
    However, it seems to be a rather resilient software issue, as a full restore does not consistently fix it, and it applies to more than just the keyboard; if I open a drawing app, there's definitely a row (about 4mm up from the edge of the screen closest to home button) where I cannot draw.
    It's happened 4 times now.  Originally it went away with a restore from backup, then worked for 2 more days.  The second and third times, it went away with a full restore (although I did two full restores in between those two restores that did nothing, so restore didn't consistently fix it)....and it seemed to return in the most random of circumstances. 
    I paid very close attention to what apps I was using the last time it was working so that I could spot which app, if any, might be causing the issue.  I deleted several apps, I stopped using the games and many other apps.   I only used three apps between it working fine and starting up as a problem again: mail, safari and messages.
    I was convinced it was mail, as it happened this morning when I picked up my phone off the bedside table to respond to a new email.  It was working when I went to bed.  I picked up the phone when it buzzed, hit the email app, hit reply and started to type....**** bottom row wasn't working again.
    However, tonight I did 2 things....one of them worked because it went back to normal (sorry, I don't know which as I was exasperated and trying a number of things). 
    The two things I did between a broken keyboard and a working keyboard were:
    1) adding a second keyboard (English(Canada)), changing to this keyboard, and changing back
    2) disabling Siri...and then turning it back on...and then disabling Siri's "Raise to Speak"
    In retrospect, I wonder if it actually was the "Raise to Speak" that was putting the phone into a weird state, and might explain why the phone would just "suddenly" start behaving strangely when I picked it up.  Of note, the "raise to speak" hasn't actually triggered Siri to come on in months anyway.
    Regardless, the keyboard is back to normal now...and I'm just going to leave "Raise to Speak" off.  I've put the keyboard back to just "English" with no alternates and Siri remains on otherwise without issue.

  • ArrayIndexOutOfBoundsException when setting visibility to the caret

    Hi all,
    I made a JTextPane and run into some problems. I get an ArrayIndexOutOfBoundsException when I'm setting it's caret visibility to true and false:
            JEditorPane textPane = new JTextPane;
            // add the textPane to a frame's ContentPane   
         public void test() {
              for(int i = 0; i<100;  i++) {
                   testVisibility(true);
                   testVisibility(false);
         private void testVisibility(boolean b) {
              // This is were the exception will be thrown if the text pane is visible
              // when making these calls.
              textPane.setEditable(b);
              textPane.getCaret().setVisible(b);
         }The snippet throws an ArrayIndexOutOfBoundsException:
    java.lang.ArrayIndexOutOfBoundsException
         at java.lang.System.arraycopy(Native Method)
         at javax.swing.text.BoxView.updateLayoutArray(BoxView.java:197)
         at javax.swing.text.BoxView.replace(BoxView.java:168)
         at javax.swing.text.View.append(View.java:432)
         at javax.swing.text.FlowView$FlowStrategy.layout(FlowView.java:412)
         at javax.swing.text.FlowView.layout(FlowView.java:184)
         at javax.swing.text.BoxView.setSize(BoxView.java:379)
         at javax.swing.text.BoxView.updateChildSizes(BoxView.java:348)
         at javax.swing.text.BoxView.setSpanOnAxis(BoxView.java:330)
         at javax.swing.text.BoxView.layout(BoxView.java:682)
         at javax.swing.text.BoxView.setSize(BoxView.java:379)
         at javax.swing.plaf.basic.BasicTextUI$RootView.setSize(BasicTextUI.java:1618)
         at javax.swing.plaf.basic.BasicTextUI.modelToView(BasicTextUI.java:946)
         at javax.swing.text.DefaultCaret.setVisible(DefaultCaret.java:952)
         at org.seba.JTextPaneTest.testVisibility(JTextPaneTest.java:38)
         at org.seba.JTextPaneTest.test(JTextPaneTest.java:29)
         at org.seba.JTextPaneTest.main(JTextPaneTest.java:24)

    import javax.swing.JEditorPane;
    import javax.swing.JFrame;
    import javax.swing.JTextPane;
    public class JTextPaneTest {
         JFrame mainFrame;
         JEditorPane textPanel;
         public JTextPaneTest() {
              textPanel = new JTextPane();
            mainFrame = new JFrame("Test Frame.");
            mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            mainFrame.setSize(640, 480);
              mainFrame.getContentPane().add(textPanel);
              mainFrame.setVisible(true);
         public static void main(String[] args) {
              JTextPaneTest textPaneTest = new JTextPaneTest();
              textPaneTest.test();
         public void test() {
              for(int i = 0; i<100;  i++) {
                   testVisibility(false);
                   testVisibility(true);
         private void testVisibility(boolean b) {
              // This is were the exception will be thrown if the text panel is visible
              // when making these calls.
              textPanel.setEditable(b);
              textPanel.getCaret().setVisible(b);
    }I hope it's ok. You'll have to use Java 5 (1.5.0.11) to compile and run it.
    I run into the problem when I made the text pane not editable and the caret was still visible. I needed the caret to hide away too when making the text pane not editable. If I use the setEnabled(boolean) to disable the text pane, all the text is made grey.(I know that there are some methods to make this not happen). I just don't know why this simple test is not working as I would expect.

  • Disable vertical sync in fullscreen

    Hello,
    I have a game that runs in both windowed and fullscreen modes. I am able to switch dynamically between them while the game is running. When in windowed mode, the game runs very quickly. When in fullscreen, it runs significantly slower. When it's switched back to windowed, it runs quickly again.
    It's been suggested that the cause may be that the page flipping in fullscreen exclusive mode is based on the sync rate of the display. Is there a way to disable vertical sync?
    Thank you.

    Maxideon wrote:
    Painting in fullscreen mode should be handled slightly different then painting in windowed mode.
    http://java.sun.com/docs/books/tutorial/extra/fullscreen/rendering.html
    Are you sure that it's not the mechanism in which you are painting that is causing the slow down in fullscreen mode?
    As for actually disabling vertical sync, I don't know if java can do that. I'm not even sure if it's enabled, or if there's any way to query if java is doing vertical sync or not. I am curious, though, as to what this method does
    java.awt.Toolkit.getDefaultToolkit().sync();
    Thank you for your reply. I'm already using active rendering for both windowed and fullscreen modes. Since I'm drawing the entire contents of the window, I figured it would be easier to use active rendering with a Canvas. The drawing code is the same for the fullscreen and windowed modes.

  • HT1657 I rented a movie but the picture is unviewable? What do I do?

    I've been renting moview from iTunes for years now, but I just tried renting 47 Ronin, but when clicking to play it show many distorted horizontal lines, hence the movie is unviewable. Audio works fine though. I took a screen shot of it, but for some reason the horizontal distorted lines do not appear on the iTunes movie screen...I'm bewildered by why I can't view it?? Any suggestions? I'm worried I'll get charged even if I can't view it.
    Much Appreciated,
    Brad

    Hey Brad,
    Thanks for the question. I understand you are experiencing issues with iTunes when viewing a movie rental. Let’s see if we can isolate this issue by starting iTunes in safe mode:
    iTunes: Troubleshooting issues with third-party iTunes plug-ins
    http://support.apple.com/kb/TS3430
    There are several ways in which an add-on can cause iTunes to act erratically, such as those listed below:
    - Loss of iTunes functionality, such as the Visualizer.
    - Distortion or irregularity in the iTunes interface.
    - Slow performance.
    - iTunes won't open or quits unexpectedly.
    - You see an alert while syncing stating "... cannot be synced. A duplicate file name was specified."
    If you notice any of the above symptoms or other unusual behavior, you can disable any plug-ins not manufactured by Apple by opening iTunes in Safe Mode. This is done by holding down the Option and Command keys (on Mac OS X) or holding down the Shift and Control keys (on Windows) while opening iTunes. If performed correctly, you should see the following dialog before iTunes finishes starting up:
    "iTunes is running in Safe Mode. Visual plug-ins you have installed have been temporarily disabled."
    Furthermore, does the issue only happen with this one movie? Or all movies?
    Thanks,
    Matt M.

  • When viewing news video (and others) the lips move and the sound follows after a few seconds. How do I fix this?

    The movement of the lips when a video plays is not synced with the verbal noise that comes from speaking. It's like if I am talking and I hear it moments later not when I actually say it.
    This happens when I view Fox news, cnn or any of the local news stations.

    You can try to disable hardware acceleration in Firefox.
    *Tools > Options > Advanced > General > Browsing: "Use hardware acceleration when available"
    You need to close and restart Firefox after toggling this setting.
    *https://support.mozilla.org/kb/Troubleshooting+extensions+and+themes
    *https://support.mozilla.org/kb/upgrade-graphics-drivers-use-hardware-acceleration
    Try to "disable the hardware acceleration" in the Flash Player.
    *http://helpx.adobe.com/flash-player/kb/video-playback-issues.html
    See also:
    *https://support.mozilla.org/kb/keep-flash-up-to-date-and-troubleshoot-problems
    Flash "Display settings" window:
    *http://www.macromedia.com/support/documentation/en/flashplayer/help/help01.html

Maybe you are looking for

  • Can't seem to register my credit card..need some help

    hi, i'm trying to register my MASTERCARD credit card on my itunes appstore but i keep getting the error message "your payment method was declined. please enter valid payment method information." i have checked my credit card information as well as th

  • Output type in SAP Script

    hi all, what is this output type?why it is needed? i have developed a print prog for exise invoice but not used output type anywhere to see the output of the form. so my question is when this output type is reqired and when not? whther i should creat

  • Why is it taking so long for music to download

    When I check my downloads it just says waiting I have 4 down loading at once

  • OIDCTL

    Hi, I have installed ORACLE E.E. 8.1.7.0.0's OID 2.1.1.0.0. When I try to initiate the following command: oidctl connect=EAIDEMO server=oidldapd instance=1 start I get the following error message: [gsdsiConnect] ORA-1017, ORA-01017: invalid username/

  • ATV returns to home screen when Internet connectivity intermittently lost

    I'm using Apple TV 2nd generation running software v4.4.2 over WiFi. I can watch about 3-4 minutes of video, or browse the Movies menu for about 3-4 minutes, before being thrown back to the home screen (missing the Movies menu) with an error message