Is caret positioning in right-to-left oriented jtextpane corruptable?

Dear all -
Below is a serious problem. I hope I can get help from you experts out there; otherwise, I think it is a bug that should be reported to the JDK developers.
I am writing an editor using my own keyboard layout to type in Arabic. To do so, I use jTextPane, and my own implementation of DocumentFilter (where I map English keys to Arabic letters). I start by i) setting the component orientation of jTextPane to be from RIGHT_TO_LEFT, and ii) attaching a caretListener to trace the caret's position.
The problem (I think it is a bug just like what is recorded here: http://bugs.adobe.com/jira/browse/SDK-16315):
Initially as I type text in Arabic, there is one-to-one correspondence between where I point my mouse and where the caret displays, basically, the same place. However, a problem occurs (and can always be re-produced) when I type a word towards the end of the line, follow it by a space character, and that space character causes the word to descend to the next line as a result of a wrap-around. Now, as I point my mouse to that first line again, the location where I click the mouse and the location where the caret flashes are no longer coincident! Also, the caret progression counter is reversed! That is, if there are 5 characters on Line 1, then whereas initially the caret starts from Position 0 on the right-hand side and increases as more text is added from right to left, it is now reversed where the the caret now increases from left to right for the first line, but correctly increases from right to left in the second line! yes funny stuff and very hard to describe to.
So, here is an example. I wrote the code below (JDK1.6_u10, on Netbeans 6.5 RC2) to make it easy to reproduce the problem. In the example, I have replaced the keys A, S, D, F and G with their Arabic corresponding letters alif, seen, daal, faa and jeem. Now, type these letters inside the double quotes (without the double quotes) including the two spaces please and watch out for the output: "asdfg asdfg ". Up until you type the last g and before you type space, all is perfect, and you should notice that the caret position correctly moves from 0 upwards in the printlines I provided. When you type that last space, the second word descends as a result of the wrap-around, and hell breaks loose! Notice that whereas the mouse and caret position are coincident on the second line, there is no way to fine-control the mouse position on the first line any more. Further, whereas adding text on the second line is intuitive (i.e., you can insert more text wherever you point your mouse, which is also where the caret would show up), for the first line, if you point the mouse any place over the written string, the caret displays in a different place, the any added text is added in the wrong place! All this because the caret counter is now reversed, which should never occur. Any ideas or fixes?
Thank you very much for reading.
Mohsen
package workshop.onframes;
import java.awt.ComponentOrientation;
import java.awt.Rectangle;
import javax.swing.event.CaretEvent;
import javax.swing.event.CaretListener;
import javax.swing.text.BadLocationException;
public class NewJFrame1 extends javax.swing.JFrame {
public NewJFrame1() {
initComponents();
jTextPane1.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
CaretListener caretListener = new CaretListener() {
public void caretUpdate(CaretEvent e) {
int dot = e.getDot();
int mark = e.getMark();
if (dot == mark) {
try {
Rectangle cc = jTextPane1.modelToView(dot);
System.out.println("Caret text position: " + dot +
", view location (x, y): (" + cc.x + ", " + cc.y + ")");
} catch (BadLocationException ble) {
System.err.println("CTP: " + dot);
} else if (dot < mark) {
System.out.println("Selection from " + dot + " to " + mark);
} else {
System.out.println("Selection from " + mark + " to " + dot);
jTextPane1.addCaretListener(caretListener);
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jScrollPane3 = new javax.swing.JScrollPane();
jTextPane1 = new javax.swing.JTextPane();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jTextPane1.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
jTextPane1.setAutoscrolls(false);
jTextPane1.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
jTextPane1KeyTyped(evt);
jScrollPane3.setViewportView(jTextPane1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 159, Short.MAX_VALUE)
.addContainerGap())
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
pack();
}// </editor-fold>
private void jTextPane1KeyTyped(java.awt.event.KeyEvent evt) {
if (evt.getKeyChar() == 'a') {
evt.setKeyChar('\u0627');
} else if (evt.getKeyChar() == 's') {
evt.setKeyChar('\u0633');
} else if (evt.getKeyChar() == 'd') {
evt.setKeyChar('\u062f');
} else if (evt.getKeyChar() == 'f') {
evt.setKeyChar('\u0641');
} else if (evt.getKeyChar() == 'g') {
evt.setKeyChar('\u062c');
public
static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new NewJFrame1().setVisible(true);
// Variables declaration - do not modify
private javax.swing.JScrollPane jScrollPane3;
private javax.swing.JTextPane jTextPane1;
// End of variables declaration
}

Hi Mohsen,
I looked at it and indeed, I see what you describe. Sorry, but I can't shed any light. I tried to figure out what software component, or combination of components, is the cause of the problem. I see several candidates:
1) The JTextPane
2) The Document
3) RTL support
4) BIDI support
5) Interpretation (by any other software component) of the left and right arrow key
6) The font
To clarify number 6: I know virtually nothing of Arabic language (apart from it being written from right to left). I remember however that the actual representation of a letter is dependent of its position between other letters: front, middle and end. What I see to my astonishment is that it seems that the rendering is also aware of this phenomenon. When you insert an A between the S and D of ASDFG, the shape of the S changes. Quite magic.
I tried to add a second textpane with the same Document, but a different size, to see what would happen with number one if one types text in number two and vice versa.
In my first attempt, the font that you set on textpane one was gone after I set its document to number two. For me that is very strange. The font was set to the textpane, not to the document. The separation betweem Model and View seems not very clear in this case. So I now also set that font on the second textpane.
I will post the changed code so that you may experiment some more and hopefully will find the problem.
You might be interested in a thread on java dot net forums that discusses a memory leak for RTL [http://forums.java.net/jive/message.jspa?messageID=300344#300344]
Piet
import java.awt.ComponentOrientation;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.Rectangle;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.GroupLayout;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.WindowConstants;
import javax.swing.event.CaretEvent;
import javax.swing.event.CaretListener;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
public class NewJFrame1 extends JFrame {
    private static final long serialVersionUID = 1L;
    public NewJFrame1() {
     initComponents();
     // jTextPane1.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
     this.applyComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
     CaretListener caretListener = new CaretListener() {
         public void caretUpdate(CaretEvent e) {
          int dot = e.getDot();
          int mark = e.getMark();
          if (dot == mark) {
              try {
               Rectangle cc = jTextPane1.modelToView(dot);
               System.out.println("Caret text position: " + dot
                    + ", view location (x, y): (" + cc.x + ", "
                    + cc.y + ")");
              } catch (BadLocationException ble) {
               System.err.println("CTP: " + dot);
          } else if (dot < mark) {
              System.out.println("Selection from " + dot + " to " + mark);
          } else {
              System.out.println("Selection from " + mark + " to " + dot);
     jTextPane1.addCaretListener(caretListener);
    private KeyAdapter toArabic = new KeyAdapter() {
     public void keyTyped(KeyEvent evt) {
         jTextPane1KeyTyped(evt);
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
    // @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {
     jScrollPane3 = new JScrollPane();
     jTextPane1 = new JTextPane();
     setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
     jTextPane1.setFont(new Font("Tahoma", 0, 24)); // NOI18N
     jTextPane1.setAutoscrolls(false);
     jTextPane1.addKeyListener(toArabic);
     jScrollPane3.setViewportView(jTextPane1);
     GroupLayout layout = new GroupLayout(getContentPane());
     getContentPane().setLayout(layout);
     layout.setHorizontalGroup(layout.createParallelGroup(
          GroupLayout.Alignment.LEADING).addGroup(
          layout.createSequentialGroup().addContainerGap().addComponent(
               jScrollPane3, GroupLayout.DEFAULT_SIZE, 159,
               Short.MAX_VALUE).addContainerGap()));
     layout.setVerticalGroup(layout.createParallelGroup(
          GroupLayout.Alignment.LEADING).addGroup(
          layout.createSequentialGroup().addContainerGap().addComponent(
               jScrollPane3, GroupLayout.PREFERRED_SIZE, 85,
               GroupLayout.PREFERRED_SIZE).addContainerGap(
               GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
     pack();
    }// </editor-fold>
    private void jTextPane1KeyTyped(KeyEvent evt) {
     if (evt.getKeyChar() == 'a') {
         evt.setKeyChar('\u0627');
     } else if (evt.getKeyChar() == 's') {
         evt.setKeyChar('\u0633');
     } else if (evt.getKeyChar() == 'd') {
         evt.setKeyChar('\u062f');
     } else if (evt.getKeyChar() == 'f') {
         evt.setKeyChar('\u0641');
     } else if (evt.getKeyChar() == 'g') {
         evt.setKeyChar('\u062c');
    public static void main(String args[]) {
     EventQueue.invokeLater(new Runnable() {
         public void run() {
          final NewJFrame1 frameOne = new NewJFrame1();
          frameOne.setLocationRelativeTo(null);
          frameOne.setVisible(true);
          EventQueue.invokeLater(new Runnable() {
              public void run() {
               Document doc = frameOne.jTextPane1.getDocument();
               JTextPane textPane2 = new JTextPane();
               textPane2.setFont(new Font("Tahoma", 0, 24)); // NOI18N
               textPane2.setAutoscrolls(false);
               textPane2.setDocument(doc);
               textPane2.addKeyListener(frameOne.toArabic);
               JFrame frameTwo = new JFrame();
               frameTwo.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
               frameTwo.add(new JScrollPane(textPane2));
               frameTwo.setSize(400, 300);
               frameTwo.setLocationByPlatform(true);
               frameTwo.setVisible(true);
               frameTwo
                    .applyComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
    // Variables declaration - do not modify
    private JScrollPane jScrollPane3;
    private JTextPane jTextPane1;
    // End of variables declaration
}

Similar Messages

  • Jtree right-to-left orientation

    Hi All,
    I am relatively new to Swing GUI programming.
    I have a requirement where I need to show two JScrollpanes side by side containing two different JTree components. The tree component on the left should have a right-to-left orientation while the one on the right should have a left-to-right orientation.
    Is it possible to jave such an interface generated?
    ps:
    I have read that the component orientation is dependent on the locale settings. In my case, irrespective of the locale settings, the screen should be shown that way.
    Thanks in anticipation
    Sundar

    I am also contemplating to have the nodes expanded dynamically by providing an action listener which calls a servlet to get the children of the selected node.
    Is it advisable to have the servlet send the node as an object back to the applet or as a HTML formatted String...
    Sundar

  • How to set Decimal Point position from right to left Serial Read Evaluate Number within Range over RS-232

    I am new to Labview, I am communicating with a TQ8800 Torque meter via RS-232. The 16 digit data stream is as follows:
    D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
    Each digit indicate the following status :
    D0 End Word
    D1 & D8 Display reading, D1 = LSD, D8 = MSD
    For example :
    If the display reading
    is 1234, then D8 to D1 is :00001234
    D9 Decimal Point(DP), position from right to the left
    0 = No DP, 1= 1 DP, 2 = 2 DP, 3 = 3 DP
    D10 Polarity
    0 = Positive 1 = Negative
    D11 & D12 Annunciator for Display
    Kg cm = 81 LB inch = 82 N cm = 83
    D13 1
    D14 4
    D15 Start Word
    I am using a modified version of the basic_serial_write_read.vi. I am attempting to parse the 16 digit data stream extracting out the number and whether it is positive or negative. I am having trouble with the decimal point placement. Is there an example that could help me with this? After the number is parsed I am then comparing it to see if it is within +/- 9.2 N cm. If it is then the test passes. I am outputing the data to a file. I have included the vi. Also how can I check for different units of the annunciator. Any help would be appreciated.  Thank you.
    Attachments:
    basic_serial_read.vi ‏100 KB

    What is the definition of the End Word?  You will likely need to figure this out experimentally (the manual doesn't seem to define it).  Whatever it is, you should set that as the termination character and enable the termination character.  That will help you in keeping your messages in sync.  Just tell the VISA Reads to read more than a message should be, something like 30 should work nicely.
    The error you are seeing is a buffer overload.  This means that the instrument is sending data to you faster than you can process it.  So you need to figure out how to perform the read faster.  File IO is slow.  So you should put that into a seperate loop so that your loop does nothing but read the data from the port as quickly as the data comes in.  Use a queue to send the data from the reading loop to the logging loop.  This is known as a Producer/Consumer.
    And here is a cleaned up version of your code.  No need for your express VI or the formula node.  Some other general cleaning up also done to make it easier to read.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines
    Attachments:
    serial read.png ‏80 KB

  • Error in Right-to-Left Jmenu movement

    Hi everybody,
    I started using Java 1.5 recently, I found that it does not behave correctly regarding arrow key movements in right-to-left orientation (up,down, left and right), as the following piece of code shows:
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import javax.swing.*;
    public class test14 extends JFrame {
      JMenuBar  jmenubar = new JMenuBar();
      JMenu     Jmenu;
      JMenuItem mi;
      public test14() {
        super("Menu test..");
        setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
        enableEvents(AWTEvent.KEY_EVENT_MASK);
        addWindowListener(new WindowAdapter() {
          public void windowClosing(WindowEvent e) {
            Exit();
        setMenu();
        jmenubar.applyComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
        Dimension max_size = Toolkit.getDefaultToolkit().getScreenSize();
        this.setSize(max_size.width,max_size.height);
        this.setLocation(1,1);
        show();
      public void setMenu() {
        int       i,c;
        JMenu     Jmenu = null;
        JMenuItem mi;
        Jmenu = new JMenu("ABCDEF");
        Jmenu.setMnemonic(KeyEvent.VK_ALT);
        for (i=0; i < 5;i++) {
          Jmenu = new JMenu("ABCDEF");
          if (i == 0) Jmenu.setMnemonic(KeyEvent.VK_ALT);
          mi = new JMenuItem("abcdef");
          Jmenu.add(mi);
          jmenubar.add(Jmenu);
        setJMenuBar(jmenubar);
      private void Exit() {
        setVisible(false);
        //setEnabled(false);
        System.exit(0);
      //----- MAIN function ------------
      public static void  main(String args[]) {
        new test14();
    }Thanks

    Thank you for considering this issue!
    Yes, I think this solution is sufficient to resolve it.

  • Hi, does anyone know if the brand new Microsoft Word for iPad works with right-to-left languages, such as Hebrew and Arabic? Thanks

    Hi, just got the Microsoft Word app on my iPad mini, great app in my opinion- just would like to know if anyone has a way to switch into right to left orientation just like Pages now has.
    So far the only way I could get this to work was by emailing myself a Hebrew document, erasing it all, and writing the new document in its place, which actually really worked, with true formatting and all. Thing is, I wouldn't sign myself up for 10 bucks a month for a half-baked workaround which Pages does perfectly. Otherwise, Word is awesome.
    Any ideas would be appreciated, thanks.

    muzheh wrote:
    I wonder if that means that the iPad Word is a port of the Windows Word with some formqtting options disabled. Just wondering.
    I think iPad Word is closer to Mac Word than Win Word.  Mac Word, for 13 years now, has been unable to create connected Arabic text, except on a Win Word doc with some Arabic already there.   I've never seen an explanation for this, but suspect it has something to do with Windows ability to embed fonts in such docs.  In any case, this work around still has enough bugs that I don't think it has ever been widely used.

  • How to keep the SAME position of layout on left & right pages when adding a page?

    A little background first before I ask the question:
    I've been converting a PowerPoint document to the InDesign format, and adding pages as I go through by duplicating a page in order to keep the top description text in the same position at the top left hand side. The document is over 110 pages- more pages will be added soon, and some pages deleted. Basically the presentation will be printed as a book, and the client we are designing this presentation for sent us the master pages for the layout.
    The issue I'm now having: I had to delete an odd number of pages which caused a shift of the layout of pages throughout the document after the pages I deleted. I figured that the right hand page was not aligned the same as the right hand page, so I measured in the same distance from the left edge on both pages and made the adjustments. But then when I added a page, the alignment shifted again.
    Is this an issue with the master pages? Or is this another issue? Any idea how to fix this so that the pages are aligned the same whether I add or delete a page? I've included two screen grabs to better illustrate what is happening:
    I would be very grateful for any help you may be able to offer on this, thank you in advance.
    Vera

    Those are your margin guides, and your client evidently expects the margins to be larger on the outside of the page than at the spine. Putting the text frame that says Main Building... on the master page will not only save you having to enter it each time, but will let you put it where it should be and have it stay there when pages switch sides. Your images are going to seem to shift, too, unless they are centered on the page on the horizontal axis.
    I'm sensing you really have little or no experience using ID, and some basic training would probably help you quite a bit. I'll recommend Sandee Cohen's Visual Quickstart Guide to InDesign -- best book out there for beginners.

  • Set cursor(caret) position in text field

    Hello !
    I have a <input type=text...> on a JSP Page with a default value...
    I want this: when the input get focus, it "sends" the cursor to the last position, so the user can continue the default value...
    setCaretPosition didn�t work...
    Any help???
    The better thing I did is to select the entire text, but when the user types something, the default text will be replaced... :(
    Any help?
    Thanks,
    Igor.

    I have a <input type=text...> on a JSP Page with a default value...
    I want this: when the input get focus, it "sends" the cursor to the last position, so the user can
    continue the default value..If this JSP page of yours is being run out of a browser, onFocus, the cursor (or Caret) will be positioned at the top left in NN and at the bottom right in IE. There is no getting around this.
    V.V.

  • Column number of caret position

    How can I get column number of caret position. Of course I can use
      int dot = editorPane.getCaret().getDot();
      Element root = editorPane.getDefaultRootElement
      int lineIndex = root.getElementIndex(dot);
      Element lineElement = root.getElement(lineIndex);
      int lineStartOffset = lineElement.getStartOffset();
      int column = dot - lineStartOffset + 1;
    to find the column in a unidirectional text! But what I should do for bidirectional text that has Hebrew, Arabic, or another RTL language? Also with a monospaced font the code
      int dot = editorPane.getCaret().getDot();
      double x = editorPane.modelToView(dot).getX();
      int column = (int) x / someFontMetrics.stringWidth("0") + 1; This won't help anymore. What should I do? The code
      editorPane.getUI().modelToView(editorPane, dot, dotBias) won't work too. First because the dotBias cann't be accessed in DefaultCaret. Second in some cases it probably won't solve the problem.

    Thanks Stats! It won't work!
    Hmmm.... Actually many unicode characters have no width, such as \u064E (Arabic Fatha). Some of them are only for visual ordering purpose, such as \u202A (Left to Right Embedding).
    Paying more attention to English letters, we'll notice ligatures used in some fonts. For instance occurrence of the letters fi (f and i) will produce the one letter &#64257; (\uFB01).
    We saw the algorithm you suggest won't work even for English text! Two ways we have. (In fact these are two mthods I can suggest!)
    1. Using the final output after affecting ligatures and bidirectional algorithm, finding the position of the desired character!
    2. Using xy position of the caret and derive the column number for a fixed font.
    Actually I want to use the second way though the first one is easier and more efficient. That's it! All I want is just the xy position of the caret!
    But ANY IDEA?!

  • Since installing LTR 5.4, which I've now upgraded to 5.6, I've encountered repeated slowness and malfunctions in operations, especially when using the Compare View function and the Tab key to open and close the right and left side panels.  Such problems n

    Since installing LTR 5.4, which I've now upgraded to 5.6, I've encountered repeated slowness and malfunctions in operations, especially when using the Compare View function and the Tab key to open and close the right and left side panels.  Such problems never arose during two years of using LTR-4 and nothing else has changed on my computer.  I have a pretty simple system with only a few plug-ins, which are usually not in operation.  I have 12GB of RAM in my Windows 7 PC.  I could illustrate these problems with screen shots if you would tell me how to submit screen shots.  Otherwise I will try to describe the problems in words.
    The problem is clearly cumulative, growing worse as usage time passes.  Compare View feature gradually slows down and eventually seems to choke as my work session proceeds. If I Exit LTR and re-enter and start all over, things will work normally for maybe 30 minutes, but then the Compare View feature begins to become very slow to respond.   In a recent example with my screen full of thumbnails in Library mode I highlighted two images to compare. LTR started to open the Compare View screen by first having the top row of thumbnails disappear to be replaced by the "SELECT" and "CANDIDATE" words in their spaces  (but no images), but Compare View never succeeded in gaining control of the screen. After some seconds the top row of thumbnails reasserted its position and the Compare View windows disappeared. But LTR kept trying to bring them back. Again the top row of thumbnails would go away, Select and candidate would reappear, try again, and give up. This went on for at least 2-3 minutes before I tried to choose File and Exit, but even that did not initially want to respond. It doesn't like to accept other commands when it's trying to open Compare View. Finally it allowed me to exit.
    To experiment I created a new catalog of 1100 images.  After 30-40 minutes, the Compare View function began to operate very slowly. With left and right side panels visible and two thumbnails highlighted, hitting Compare View can take half a minute before the two mid-size  images open in their respective SELECT and CANDIDATE windows. When the side panels are open and two images are in the Select/Candidate spaces, hitting the Tab button to close the side panels produces a very delayed response--25-30 seconds to close them, a few more seconds to enlarge the two images to full size. To reverse the process (i.e., to recall the two side panels), hitting Tab would make the two sides of the screen go black for up to a minute, with no words visible. Eventually the info fields in the panels would open up.
    I also created a new user account and imported a folder of 160 images. After half an hour Compare View began mis-placing data.  (I have a screen shot to show this.)  CANDIDATE appears on the left side of SELECT, whereas it should be on the right. The accompanying camera exposure data appears almost entirely to the left of the mid-screen dividing line. Although the Candidate and Select headings were transposed, the image exposure data was not, but the data for the image on the right was almost entirely to the left of the line dividing the screen in two.
    Gurus in The Lightroom Forum have examined Task Manager data showing Processes running and Performance indicators and they see nothing wrong.  I could also send screen shots of this data.
    At this point, the only way I can process my images is to work 30-40 minutes and then shut down everything, exit, and re-start LTR.  This is not normal.  I hope you can find the cause, and then the solution.  If you would like to see my screen shots, tell me how to submit them.
    Ollie
    [email protected]

    Since installing LTR 5.4, which I've now upgraded to 5.6, I've encountered repeated slowness and malfunctions in operations, especially when using the Compare View function and the Tab key to open and close the right and left side panels.  Such problems never arose during two years of using LTR-4 and nothing else has changed on my computer.  I have a pretty simple system with only a few plug-ins, which are usually not in operation.  I have 12GB of RAM in my Windows 7 PC.  I could illustrate these problems with screen shots if you would tell me how to submit screen shots.  Otherwise I will try to describe the problems in words.
    The problem is clearly cumulative, growing worse as usage time passes.  Compare View feature gradually slows down and eventually seems to choke as my work session proceeds. If I Exit LTR and re-enter and start all over, things will work normally for maybe 30 minutes, but then the Compare View feature begins to become very slow to respond.   In a recent example with my screen full of thumbnails in Library mode I highlighted two images to compare. LTR started to open the Compare View screen by first having the top row of thumbnails disappear to be replaced by the "SELECT" and "CANDIDATE" words in their spaces  (but no images), but Compare View never succeeded in gaining control of the screen. After some seconds the top row of thumbnails reasserted its position and the Compare View windows disappeared. But LTR kept trying to bring them back. Again the top row of thumbnails would go away, Select and candidate would reappear, try again, and give up. This went on for at least 2-3 minutes before I tried to choose File and Exit, but even that did not initially want to respond. It doesn't like to accept other commands when it's trying to open Compare View. Finally it allowed me to exit.
    To experiment I created a new catalog of 1100 images.  After 30-40 minutes, the Compare View function began to operate very slowly. With left and right side panels visible and two thumbnails highlighted, hitting Compare View can take half a minute before the two mid-size  images open in their respective SELECT and CANDIDATE windows. When the side panels are open and two images are in the Select/Candidate spaces, hitting the Tab button to close the side panels produces a very delayed response--25-30 seconds to close them, a few more seconds to enlarge the two images to full size. To reverse the process (i.e., to recall the two side panels), hitting Tab would make the two sides of the screen go black for up to a minute, with no words visible. Eventually the info fields in the panels would open up.
    I also created a new user account and imported a folder of 160 images. After half an hour Compare View began mis-placing data.  (I have a screen shot to show this.)  CANDIDATE appears on the left side of SELECT, whereas it should be on the right. The accompanying camera exposure data appears almost entirely to the left of the mid-screen dividing line. Although the Candidate and Select headings were transposed, the image exposure data was not, but the data for the image on the right was almost entirely to the left of the line dividing the screen in two.
    Gurus in The Lightroom Forum have examined Task Manager data showing Processes running and Performance indicators and they see nothing wrong.  I could also send screen shots of this data.
    At this point, the only way I can process my images is to work 30-40 minutes and then shut down everything, exit, and re-start LTR.  This is not normal.  I hope you can find the cause, and then the solution.  If you would like to see my screen shots, tell me how to submit them.
    Ollie
    [email protected]

  • Wireless trackpad: misses clicks, tracks poorly right to left

    Using Yosemite, iMac 5K, wireless keyboard and magic trackpad
    The trackpad sometimes misses a click and sometimes doubles the click. I know that the "click" is registered by the little buttons on the bottom of the trackpad. It is on a tidy hard surface and I know the buttons are getting moved. It feels like maybe it misses if I hold the button down longer than it wants me to. But then sometimes it just plain doesn't respond. (Yes, the battery is still good, showing 81% but this phenomenon has been happening since the pad and batteries were new.) Oh, I see more now while I'm typing. If the cursor shows as a little pointy arrow, the click doesn't register. If it shows as a double-ended vertical input cursor, it does register. This perhaps means that even though the pointer has actually moved, the computer hasn't seen it.
    But then sometimes one click registers as two. For example, I try to position the mouse and end up with a word (or, worse, the name of a file in the finder) selected instead. I have changed settings in accessibility to make the double click speed slightly slower, which I think might have improved the behavior a bit. On the other hand, with the previously mentioned issue when the click doesn't seem to register. When I then do another click to make it actually see the move, that is when a double or triple click will happen. This is for moves of multiple inches with more than a split second in between.
    I also find that the trackpad doesn't register movement reliably especially when I am trying to move it by pushing right to left across the pad. I can position it so that multiple light strokes on the pad don't move the cursor at all. Again, this happens when the cursor is not "expecting" typing. For example, in this support communities entry box with the arrow showing instead of the vertical input thingie.
    It isn't really predictable when the problem is going to appear. As you can imagine, this makes "mouse ahead" input pretty dangerous - renaming files, deleting bodies of text with the Undo not being available anymore because of going too fast.
    I already returned one of these trackpads as defective. Now I'm thinking that this is actually just the design behavior of the thing. Perhaps a pad from some other mfgr would work more reliably?
    [p.s. I wish if it is going to show me the time of last autosave that it would use the local system display time, not the current time in California.]

    I hope they can fix it. When my macbook came back from apple after having another issue fixed, the button was pivoting around the middle, meaning you could only click in the middle, not the edge. Too it back, they replaced the top case and it came back with the same problem. It now in again having the top case replaced again.
    They're now telling me that it's "normal". It wasn't like that when I bought it!

  • I have a symbol that has appeared on my iphone 4s top right just left off the bluetooth sign, it's an arrow on a circle with a padlock in the middle any idea where it came from and what it is

    i have a symbol that has appeared on my iphone 4s top right just left off the bluetooth sign, it's an arrow on a circle with a padlock in the middle any idea where it came from and what it is

    That's the portrait orientation lock (keeps the screen from rotating to landscape mode).  To turn it off, double-tap the home button, swipe the list at the bottom to the right, then tap the left-most icon (to the left of the music controls).

  • Rotating 10 number form right to left direction....Urgent

    Hello All,
    I am new to Java3D.
    I am facing some problem from long time in some visual effects.
    Recently I heard about Java3D and I think its better to ask help through this site.
    Here is the problem that I am facing.
    I am designing one site.
    On which the client wants to kept some animation images.
    As there company had already completed 10 years and he want to put 10years animation on there site.
    So is there a possibility to make the 10 years animation using Jave3D.
    What I have to do is I have to rotate 10 number from right to left continuously. What I mean is
    At starting 10 number had to display.
    Next 10 number have to start rotating from right direction 10--->
    Next 10 number have to view its back side after some moment as 01
    Next after some moment it have to come to its origional direction from left hand side as -->10
    So that the viewer can feel that 10 is rotating from right direction to left direction.
    ---------> 10 ---------->
    I know that there are too many graphic tools to develop this, but due to limitations in budget I have to complete with coding itself.
    Hope You all understood my problem and I will get the solution through all of you.
    Can any one suggest what to do, or coding if any.
    Thanks,
    RajivChowdary.

    Hello All,
    One of our friends didn't get what I am asking (with subject :- Rotating 10 number form right to left direction....Urgent), that's why I am explaining my problem again.
    Number (like 9 or 10 or 11 or...) has to rotate in 360 degrees.
    We are all familiar with rotating " 3D gif's" like rotating globe and email rotating in 360 degrees.
    Like wise I want to rotate numbers in 360 degrees using java3D.
    Set area size with 100 X 130 with some background color and 10 number with stand-alone position.
    Then 10 number have to start rotating in 360 degrees, starting from right direction to left direction, within the same place.
    And this process has to be going on until next page has called.
    This animation had to be placed before the company logo, notifying that out company had completed 10 years.
    I know that there are too many graphic tools to develop this, but due to limitations in budget I have to complete with coding itself.
    Hope You all got my problem.
    So please suggest or instructions what to do, or coding if any.
    Please explain in detail, because I am new to java3D
    Thanks,
    RajivChowdary.

  • Caret position in HTML JTextPane

    Hi all,
    This question has been asked before, but with no satisfying answer that I can find so, in the hope that the eyes of a Swing text expert will fall upon this post, I'm having to ask again...
    Is there a simple means of translating the current caret position within a JTextPane to the offset within the HTML code it represents?
    In other words, where the JTextPane displays:Now is the time...The underlying HTML might be:<html><head></head><body><p align="left">Now is the time...</p></body></html>With the cursor positioned just in front of 'is', the caret position would be 4, but in the underlying HTML, the position would be 46.
    Any ideas, hints, suggestions or complete answers appreciated!
    Chris.

    I would suggest a trick.
    Suppose you ave actul caret position in JEditorPane.
    int caretPos=...;
    use HTLEditorKit.write(someWriter,htmlDoc,0,caretPos);
    Then you'll have a string
    <html><head></head><body><p align="left">Now </p></body></html>
    Then throw away all the closing tags and you'll have what you need by string length.
    Of course you would have to write kind of converter to clear out all formatting chars.
    regards,
    Stas

  • Elements 8 [Mac IOS 10.9]:  4 X 6" borderless printing -- top and bottom 1" are cutoff in Portrait and right and left 1 " are cutoff in Landscape

    I am using Elements 8 [with a recently installed Mac IOS 10.9] and a new Epson Artisan 1430 printer .  When I print 4" X 6" borderless photos, the top and bottom 1" are now cutoff in Portrait orientation and the right and left 1" are cutoff in Landscape orientation.  I do not have the same problem printing from iPhoto.  Epson tech support says this is not an Epson problem.  Does anyone have any suggestions?  Maybe I should just install Elements 12 and see if this might solve the problem.  Any ideas?   

    When you have the problem, note the exact time: hour, minute, second.   
    These instructions must be carried out as an administrator. If you have only one user account, you are the administrator.
    Launch the Console application in any of the following ways:
    ☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
    ☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
    ☞ Open LaunchPad. Click Utilities, then Console in the icon grid.
    The title of the Console window should be All Messages. If it isn't, select
              SYSTEM LOG QUERIES ▹ All Messages
    from the log list on the left. If you don't see that list, select
              View ▹ Show Log List
    from the menu bar at the top of the screen.
    Each message in the log begins with the date and time when it was entered. Scroll back to the time you noted above. Select the messages entered from then until the end of the episode, or until they start to repeat, whichever comes first. Copy the messages to the Clipboard by pressing the key combination command-C. Paste into a reply to this message by pressing command-V.
    The log contains a vast amount of information, almost all of it useless for solving any particular problem. When posting a log extract, be selective. A few dozen lines are almost always more than enough.
    Please don't indiscriminately dump thousands of lines from the log into this discussion.
    Please don't post screenshots of log messages—post the text.
    Some private information, such as your name, may appear in the log. Anonymize before posting.

  • Keeping track of caret position when using scrollbars

    Hi!
    I have a jtextarea contained in a jscrollpane, To the jtextarea I have added a caretlistener. The textarea displays a lot of log output that will not be editable. When I move the cursor in the textarea I get updates of the caret position. The problem is that when I use the scrollbars the caret position does not move, which might be the right way. But I would like just that, that is to get an update on which line or position that I am currently on.
    The problem is that the log output is very large so I have to keep track on where I am in the log file, and only have a portion of the log information from the file in the textarea.
    Some pointers, suggestions or examples would really be appreciated.
    Best regards
    Lars

    yes....
    you can do using context listeners....
    in the start of context listeners read from the file and add to context ... and when the context becomes inactive write to a file....
    for that you should use tomcat4.01 ... cause only tat has servlet 2.3 implementaion.
    if you are not using tat .. write to the file every 10 minutes .. atleast you will have the latest update of the counts when something crashes......................

Maybe you are looking for

  • Suggestion needed for processing Big Files in Oracle B2B

    Hi, We are doing a feasibility study for Using Oracle AS Integration B2B over TIBCO. We are presently using TIBCO for our B2B transactions. Now since my client company planning to Implement Fusion Middleware (Oracle ESB and Oracle BPEL), we are also

  • Select root record in hierarchic self-referencing table

    Hi, is there a quick way to select the root record from any given ID? with t as (   select 1 as PID, null as PARENTID, 'Root 1' as DESCRIPTION from dual union all   select 2,1,'Sub 1.1' from dual union all   select 3,1,'Sub 1.2' from dual union all  

  • Who wants to earm a few easy points?

    I have a button - a "button displayed among this region's item" button. When clicked on, I need a new window to open AND display a page from another application. How can this be accomplished with the above defined button (I know how to do it with a "

  • Question about compiled byte code

    Howdy folks, I have a client who wants to run an application in both on-line and off-line modes. The user could run the application locally on their laptop making changes and such which would get stored to local database files (probably FoxPro free t

  • Type get info and itunes closes

    Whenever I click on "get info," iTunes closes. I've already uninstalled and reinstalled iTunes, but get the same result. This problem kind of crept up on me and I have no idea what caused the change. It worked fine until a couple of months ago, and e