JList paint performance

Hello all,
I I have a problem with JList painting.
I notiched that when I select cell in my list all the visible cells are repainted and not jas the selected cell.
After debugging I discovered that the paintion is done in the paint methot at the BasicListUI class.
I have a huge list which can display 100 cells on the screen at the same time and the so when I select one cell the painting causes my cpu usage to be at its maximum.
Unfortunally I don't know how to rewrite the UI in order to speed up cell painting for only the selected cells.
I'm using array list a the list model and the JList is configured as followed:
public class ButtonList extends JList
    public ButtonList()
        super();
        setCellRenderer(createCellRenderer());
        setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        setFixedCellHeight(Drawboard.getShapeHeight());
        setFixedCellWidth(Drawboard.getShapeWidth());
        setLayoutOrientation(HORIZONTAL_WRAP);
        setVisibleRowCount(0);
    protected ListCellRenderer createCellRenderer()
        return new ButtonCellRenderer();
}The list cell renderer is a JButton component:
public class ButtonCellRenderer extends JButton implements ListCellRenderer
    public ButtonCellRenderer()
        super();
        setOpaque(true);
    public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
            String val = value.toString();
            setText(val);
        setSelected(isSelected);
        return this;
    }Any suggestion?
Thanks in advance,
Hanoch

Hi michael,
I modified your test program so you could see what my problem is.
I set MyListUI as the ListUI of the ButtonList.
Now If you'll run the testing program you'll see on the console that when you press the one cell a lot of rows are repainted.
For example if you press the button with "0" and then the press the button with "47" than all of the cells between them are repainted.
My application is runnung on VIA800 with 256MB and I have 2 ButtonList like that on the screen so the user can choose Items from that list (This is a touch screen application). All of the unnecessary painting causes the CPU to be at its maximum.
import javax.swing.*;
import java.awt.*;
import javax.swing.event.*;
import javax.swing.plaf.basic.BasicListUI;
class Testing extends JFrame
    DefaultListModel listModel = new DefaultListModel();
    ButtonList list = new ButtonList(listModel);
    public Testing()
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        for (int x = 0; x < 200; x++)
            listModel.addElement("" + x);
        JScrollPane sp = new JScrollPane(list);
        sp.setPreferredSize(new Dimension(400, 75));
        getContentPane().add(sp);
        setSize(600, 800);
        setLocationRelativeTo(null);
    public static void main(String[] args)
        new Testing().setVisible(true);
class ButtonList extends JList
    public ButtonList(ListModel dataModel)
        super(dataModel);
        setCellRenderer(createCellRenderer());
        setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        setFixedCellHeight(90);
        setFixedCellWidth(90);
        setLayoutOrientation(HORIZONTAL_WRAP);
        setVisibleRowCount(0);
        setUI(new MyListUI());
    protected ListCellRenderer createCellRenderer()
        return new ButtonCellRenderer();
class ButtonCellRenderer extends JButton implements ListCellRenderer
    public ButtonCellRenderer()
        super();
        setOpaque(true);
    public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
        String val = value.toString();
        setText(val);
        setSelected(isSelected);
        return this;
class MyListUI extends BasicListUI
    public MyListUI()
        super();
    /* (non-Javadoc)
     * @see javax.swing.plaf.basic.BasicListUI#paint(java.awt.Graphics, javax.swing.JComponent)
    @Override
    public void paint(Graphics g, JComponent c)
        System.out.println("-----------------------");
        super.paint(g, c);
    /* (non-Javadoc)
     * @see javax.swing.plaf.basic.BasicListUI#paintCell(java.awt.Graphics, int, java.awt.Rectangle, javax.swing.ListCellRenderer, javax.swing.ListModel, javax.swing.ListSelectionModel, int)
    @Override
    protected void paintCell(Graphics g, int row, Rectangle rowBounds, ListCellRenderer cellRenderer, ListModel dataModel, ListSelectionModel selModel, int leadIndex)
        System.out.println("Row = " + row);
        super.paintCell(g, row, rowBounds, cellRenderer, dataModel, selModel, leadIndex);
}

Similar Messages

  • Report painter performance problem...

    I have a client which runs a report group consists of 14 reports... When we  run this program... It takes about 20 minutes to get results... I was assigned to optimize this report...
    This is what I've done so far
    (this is a SAP generated program)...
    1. I've checked the tables that the program are using... (a customized table with more than 20,000 entries and many others)
    2. I've created secondary indexes  to the main customized table with (20,000) entries - It improves the performance a bit(results about 18 minutes)...
    3. I divided the report group by 4... 3 reports each report group... It greatly improves the performance... (but this is not what the client wants)...
    4. I've read an article about report group performance that it is a bug. 
    (sap support recognized the fact that we are dealing with a bug in the sap standard functionality)
    http://it.toolbox.com/blogs/sap-on-db2/sap-report-painter-performance-problem-26000
    Anyone have the same problem as mine?
    Edited by: christopher mancuyas on Sep 8, 2008 9:32 AM
    Edited by: christopher mancuyas on Sep 9, 2008 5:39 AM

    Report painter/Writer always creates a prerformance issue.i never preffred them since i have a option with Zreport
    now you can do only one thing put more checks on selection-screen for filtering the data.i think thats the only way.
    Amit.

  • Report Painter Performance Issue

    Helloo experts,
    I have a report painter report which is pulling the data from a custom table (which has 32million records). Its taking a lot of time .
    Is there any method to improve its performance ?

    Hi,
    Please check report painter selecting records using primary key or secondary index. If not please create secondary index for custom table (after consultation with basis, due to creating the secondary index will increase the load on server of custom table with 32 millions records)
    If not possible. extract the resultset from custom table into another table and make query for report painter on that. and update the new table on daily basis or hourly basis.
    aRs

  • How to increase painting performance ?

    First off all, i'd like to apologize for my poor english, because I'm from brazil, and even knowing very well how to speak english, my spelling sometimes comes out really nasty.
    Now getting to the subject... ;^)
    I study computer science here in brazil, and during a course of data structures, I once saw this stunting applet( a kind of visualization application for AVL trees ) located at: http://www.seanet.com/users/arsen/avltree.html. Since then, I've tried to make something similar to this applet, because I thought that it would be a great experience to do something like that. And I've achieved that. However, like in everything that we do, we encounter some trouble in the way.
    First, i tried to develop my own visualization of AVL trees program by using the C language, toghether with the old Borland Turbo C BGI graphics library. It was fine, but i wasn't satisfied 100% with it. Then I've decided to develop it in Java too. I had to make several changes in the algorithms responsible for rendering the tree when I wrote the program in Java, because I wasn't doing the things in the C version in a very smart way. However, the Java version was really improved and is pretty efficient.
    My actual problem:
    I've implemented a swing component responsible for doing the visualization of any AVL tree. It extends JComponent.
    My only problem, is related with the Java 2D library and it's renderer. As the size of the component, that holds the tree and paints it, grows, the performance of the painting slows down drastically. Even when the user isn't interacting with the tree, witch doesn't require recalculating any coordinates and adicional processing.
    I've tried to set a clipping area in order to perform the drawing faster and improve it's performance, but it didnt worked as I expected. The wanted performance is still unachieved.
    You'll know what I'm talking about if you download the program and play with it ...
    I don't know what to do ... I'm thinking to create offscreen images of the tree, but I've read that the swing components already are double buffered.
    I would publish the source code of the application for you to examine, but I think it wouldn't be useful, because the code is well documented, sadly, in Portuguese. So for you to get along with it, would take a long time ....
    One thing thar I've noticed is that Visual Paradigm 3.0( http://www.visual-paradigm.com ) is made in java, and the diagrams sheets are nicely rendered ... what the developers of visual paradigm may have done to improve the performance of the drawing of the diagrams ? Cause they render realy fast, dont matter the size of the panel holding the diagram...
    Does anyone know any documents that i can read about this stuff ? Does anyone have any suggestions ?
    you can download the C version of my visualization program at: http://planeta.terra.com.br/informatica/jdesign/pessoal/AVL.zip
    you can download the java version of my visualization program(executable jar) at: http://www.jdevelop.thefreeserver.com/ArvoresArvl.jar
    you can view a brief explanation of the visualization program at: http://www.jdevelop.thefreeserver.com/avl_tree.html
    Note: the java version has few known bugs, however they dont affect the performance of the painting and i'm working on them.
    If you are brave enought and want to try analising the source code, ask me for it by emailing me at: [email protected]
    Thanks in advance,
    Julio Cesar de Andrade Vieira Lopes
    [email protected]

    i'm sorry .... the correct link to download the java program is:
    http://www.jdevelop.thefreeserver.com/ArvoresAvl.jar

  • Paint performance with JScrollPane very slow in jdk 1.4?

    I got a simple program that overrides paintComponent on a JPanel. Then draws lots of lines, rectangles and some strings. The panel is then added to a scrollpane.
    The scrolling is very smooth in java 1.3.1, but very slow in 1.4.2
    the paintComponent takes between 16ms and 30ms with java 1.3.1 but 70-200ms with java 1.4.2.
    I tried turning of antialising etc.. but no help. Whats the "improvement" they made in jdk 1.4?

    Ok I made a simple example, which draws around 5000 elements.
    Sourcecode is here: http://www.mcmadsen.dk/files/ScrollPaneTest.java
    I did several testruns on java 1.4.2 and java 1.3.1, heres the "avarage" result:
    Java 1.4.2:
         Current: 140ms High: 203ms Avg: 144ms Low: 125ms
    Java 1.3.1:
         Current: 62ms High: 219ms Avg: 68ms Low: 47ms
    The paintComponent() looks like this:
    public void paintComponent(Graphics g)
    super.paintComponent(g);
    long offset=System.currentTimeMillis();
    PaintElement paintElementTmp;
    for(int i=0;i<paintElements.size();i++)
    paintElementTmp=(PaintElement)paintElements.elementAt(i);
    g.setColor(paintElementTmp.getBackground());
    g.fillRect(paintElementTmp.getX(),paintElementTmp.getY(),paintElementTmp.getWidth(),paintElementTmp.getHeight());
    g.setColor(paintElementTmp.getForeground());
    g.drawString(paintElementTmp.getText(),paintElementTmp.getX(),paintElementTmp.getY());
    long done=System.currentTimeMillis();
    long current=done-offset;
    sum+=current;
    if(current>high)high=current;
    if(low>current)low=current;
    count++;
    System.out.println("Current: "+current+"ms High: "+high+"ms Avg: "+(sum/count)+"ms Low: "+low+"ms");
    I tried all the renderinghints, but no difference (from the default settings). Also the scrolling is very slow and stops all the time in java 1.4.
    Any ideas on how to get java 1.4 to perform as java 1.3.1?
    Thanks

  • Bug:  Histogram Does Not Update when Using Painting Tools

    I was investigating something else, and I saw something not working...  I'm under the distinct impression that the Histogram panel should automatically update after every operation.  Having the Histogram panel displayed full-time on the screen, it should always be up to date.
    However, when I Dodge or Burn or even paint color on an image, the Histogram is not updating. 
    If I select one of the History states I've just created, it updates.
    Consider this simple sequence of operations:
    I'm able to reproduce this failure in Photoshop CS5 as well, BUT NOT IN CS4 (it updates in Photoshop CS4 after every painting operation), so clearly it's not a new bug, though somehow I've managed not to notice it in my years of using Photoshop CS5.
    Is it broken like this for everyone in Photoshop CS5 and 6?
    Could this be some twisted attempt to try to optimize painting performance?  If so, why isn't there an option to allow a user to request it to update on every operation on a fast computer with cores out the wazoo?
    -Noel

    More info:
    Just poking around in Photoshop CS6 to see what, if anything would make the Histogram display update...
    Even though the Refresh icon is disabled (and the "Uncached Refresh" entry in the fly-out menu is grayed-out), double-clicking in the topmost histogram display will force it to update (as described above by Conroy in post #1 above).
    If I change the selection Channel field in the Histogram panel, mostly it does not update, but when I change between some of the settings - for example between RGB and Luminosity - the graphs update.  Amazingly they revert back to the un-updated state if I switch the channel BACK to what it was!
    Making a selection DOES cause it to update.  
    Choosing Select - Color Range (just starting the function) DOES cause it to update.
    Hitting the quick mask mode button DOES cause it to update. Notably Edit in Quick Mask Mode is in the Select menu.  Could an association with Select be a clue?
    This bug is easy to reproduce, is shown to be a problem across multiple versions and multiple OSs, and in at least one case (Photoshop CS4 x64 on Windows 7 x64 here) it can be shown to work properly, so the code is probably not far off being right.  Seems to me this should be the kind of thing a junior engineer could find and fix so someone, say,  at Chris Cox's level could have it done before 5 today... 
    -Noel

  • How to set up a great Photoshop machine

    How to set up a great Photoshop machine
    From the blog of John Nack, [former?*] Photoshop Principal Program Manager
    At Photoshop World this week, performance testing lead Adam Jerugim
    presented a performance guide with hardware recommendations and
    information about the CS5 performance preferences.  I’ve put his notes
    in this post’s extended entry.
    http://blogs.adobe.com/jnack/2010/09/how-to-set-up-a-great-photoshop-machine.html#more-271 2
    Operating Systems: Mac OS 10.6.4 and Windows 7 64-bit
    CPU: Intel Core i7/Xeon or AMD Phenom II/Opteron with 4 cores. More than 4 cores gives diminishing returns.
    RAM: Enough to keep Efficiency readout at  100%. If Efficiency is low (<95%), adding RAM will provide biggest  benefit. 4GB will cover most digital photography uses. 8GB leaves room  for other apps and fits huge documents in RAM.
    Video Card: Any modern card with at least 512MB VRAM; 1GB if doing heavy 3D work.
    Disk: Use a separate disk for Photoshop  scratch. If you spend a lot of time opening / saving large data  files, another separate disk for data files will speed that up. Faster  disks are better. RAID0 is faster. SSD is faster yet. RAID0 of SSDs is  fastest but super expensive. If you have plenty of RAM (meaning your  Efficiency readout is 95% or more), separate/faster disks for scratch  provide minimal benefit. If Efficiency readout is low, a separate SSD  for Photoshop scratch will be a big win. SSD boot volume will speed  booting and app launch, but not Photoshop operations.
    Memory Usage: this should be no higher than  70% on systems running 32bit Photoshop or with less than 4GB of total  physical RAM. On systems with 8GB or more, use 70% if you plan on  running other applications at the same time as PS, or higher (up to 90%)  if you only plan on using PS on your system.
    Efficiency %: can be found in the document window drop-down options. Operations fit in RAM when this 95% or greater.
    History & Cache: if you work with small  documents with lots of layers, start with the Tall and Thin  button (which will set cache levels = 2, tile size = 128K/132K). If you  work with large documents with few layers, try the Big and Flat button  (which will set cache levels = 6, tile size = 1024K/1028K). Using more  history states uses more scratch disk space.  More history states may  also use more RAM, particularly when running actions or scripts on  large documents. If you see Efficiency drop below 95%, especially after  running actions, try reducing history states or adding RAM.
    Scratch Disks: a separate drive for Photoshop  scratch disk will avoid slowdowns from Photoshop and the OS trying  to access the disk at the same time. If your Efficiency number often  drops below 95%, the gain can be large. Faster disks are better. A RAID0  array is faster, an SSD faster still. If using a RAID or SSD, try  setting the Tile Size to 1024K – AMD CPUs prefer 132K / 1028K sizes, but  128K and especially 1024K are more efficient for RAID and SSD use  regardless of CPU type.
    GPU Settings: you can change GPU settings by  clicking on the Advanced Settings button. For more more modern  video cards there will be three options: Basic, Normal, Advanced.  Changes to this setting will only take effect after PS restart, and  would be worth experimenting with if painting performance is sluggish.
    Posted by John Nack          at 7:10 AM on September 03, 2010
    * I understand Mr. Nack may have moved to a different area of Adobe management?
    Wo Tai Lao Le
    我太老了

    Nice of you to point it out here as I at least don’t follow Mr.Nash’s blog regularly.

  • Need advice concerning memory usage

    Hi all,
    i have a class that represents a hexagon map (extends JPanel). This map is usually put in a scrollpane.
    In the paintComponent method of the class the hexagons of the map are painted. For good scrolling and painting performance i use the clipping region to paint only the hexagons that are currently visible.
    For that purpose i call "hexBounds = hex.getBounds();" to get the bounds of the hexagon. Then i check whether the hexagon's bounds intersect with the clipping region to decide whether the hexagon needs to be painted (see the code below).
    The "problem" is that lots of Rectangle objects are created (and memory allocated). So when i render a large map and do some excessive scrolling (which causes lots of repaints) for let's say 1 minute, there are several hundred thousand Rectangle objects that have been allocated (but are no longer referenced) and are occupying up to 20-40 MB of memory. I used the profiler with the following parameters:
    -Xint -Xrunhprof:heap=sites,depth=10.
    My question is: Do i need to worry about this or will the garbage collector take care of it when it needs to? I could call the garbage collector manually at the beginning of the paintComponent method so that all old, unreferenced Rectangle objects are garbage collected but i've read in several articles that calling the garbage collector manually is generally a bad idea.
    What is the best practice in such a case?
    Here is the painting code:
            super.paintComponent(g);
            Graphics2D g2d = (Graphics2D)g;
            Rectangle clipBounds = g2d.getClipBounds();
            Rectangle hexBounds = null;
            Iterator<Entry<HexagonCoordinates, Hexagon>> iter = hexagons.entrySet().iterator();
            while(iter.hasNext())
                Entry<HexagonCoordinates, Hexagon> entry = iter.next();
                Hexagon hex = entry.getValue();
                hexBounds = hex.getBounds(); // <-- problem
                // Paint only if neccessary
                if(clipBounds.intersects(hexBounds))
                    g2d.drawPolygon(hex);
                hexBounds = null;
            }

    I've run several tests now and it seems as if the garbage collector takes care of the problem as expected. But what if someone would scroll excessively for many minutes (hey, you know users do strange things sometimes). This would result in more and more memory being allocated in a very short time period. My guess is that the garbage collector would free the occupied memory before the VM runs out of memory, right?
    Then everything would be fine.
    Any other suggestions on improving my painting code are greatly appreciated.

  • Optimizing Java2D

    A part of my app has a graph. Now I have between 1 and 8 arrays of yValues. I do this currently by drawing a Line2D between each point. So for traces up to several hundred points it's of course very fast, now my problem comes with some traces I loaded with 2000 points each. With that many lines being drawn, repainting is slow.
    Right now I declare one (Line2D line) globally, and in a for loop in the paint method, do a line.setLine and g.draw(line) for each trace each iteration. I'm wondering if there's a way to increase 2D painting performance in this type of case?

    One solution I tried is when the graph is zoomed out, is to draw the lines to every other point. Now the trouble with this is that in some of my traces, there are sequences of sharp spikes, and if that odd point happens to be the peak of one of these spikes, then the spike can get chopped off at a maximum of about 75% at a low sampling rate, but even a small percentage difference is a problem because the user needs to be able to see the height of the peaks, at least to some accuracy.
    So what I really need is some way to speed up the way I'm painting the line from each point to the next.

  • Interface creations Problem

    I am new to interface design. I have a main class (class A) instantiate a new contructor from class B which extends JPanel that draw images from a newly instantiated class C. But in my class A, when load a file, I instantiates a new constructor class D. This class D perform calculation which the data collected will be passed to class C to redraw the image. I know that I need to create an interface to perform this (from class D to class C) but I don't know how. Please Help!
    Example:
    class A extends JFrame{
    public A()
    new B();
    //when I load a file from JFileChooser,
    new D();
    public static void main(String args[])
    class B extends JPanel
    public B()
    new C();
    class C
    public C()
    //draw image
    //draw line on image (coordinates of line from class D)
    class D
    public D()
    //perform calculation for class C to draw.
    From the above example, how do I create interface for class A so that I can perform the draw line when a file is loaded?

    I don't quite understand what you are saying. So, you have class A, which extends JFrame. In the class A constructor, a new class B (extending JPanel) is instantiated. In the class B constructor, a new class C is instantiated, the purpose of C being to draw images. Additionally, when you choose a file, you create a new instance of D which sends calculation results to C so that C can draw the image.
    Well, there are a number of ways to do stuff like this. The following code is just one particular way. I tried to keep A, B, C, and D in my example, and I tried to keep it structured just like your original code:
        public class A extends JFrame {
            protected MyB;
            public A () {
                // Create a new B instance, store it in MyB.
                MyB = new B();
            // I'm just assuming this method gets called after the
            // JFileChooser returns, and that ChosenFileInfo is any
            // information that D needs to know about the file. This
            // implementation is just for illustrative purposes.
            public void FileWasChosen (ChosenFileInfo f) {
                // Create a new D, passing file info and a C to it.
                D MyD = new D(f, MyB.getC());
        public class B extends JPanel {
            protected MyC;
            public B () {
                // Create a new C instance and keep track of it in MyC.
                MyC = new C();
            public C getC () {
                // Return the C instance created in the B constructor.
                return MyC;
        public class C {
            void draw (DrawParameters p) {
                // Draw using info in p.
        public class D {
            public D (ChosenFileInfo f, C painter) {
                // Perform calculations, pass them to the provided C.
                painter.draw(performCalculations(f)); 
            public DrawParameters performCalculations (ChosenFileInfo f) {
                // Perform calculations, return results.
        };Now, you could, say, decide to pass an instance of B to the D constructor, and let D take care of getting a C instance from B. But, regardless of the way you implement your program, the key thing to notice in my example code is the method getC() in class B.
    Note that, in the above code, B stores a reference to the C instance that was created in its constructor. It stores this reference in the variable "myC". Then, the method B.getC() returns the C that was created when a new B was constructed. (As an aside, since getC() allows you to "access" the protected member MyC in B, getC() is called an "accessor" method).
    Now we have a way to get the C that was created by the B and pass it along to the D. As a matter of fact, we have a way to get that C and pass it to ANY other method that needs it for something. We could, say, have a class E that also did some other calculations. We could do something like:
        MyE = new E(MyB.getC());
        ...Know what I mean?
    Now, you mentioned needing to create an "interface". An interface is sort of like a contract. The terms of the contract are a set of methods that any class implementing the interface must provide. So, if you wanted to apply this to your code, you could do something like:
        public interface CProvider {
            public C getC ();
        };Now, you could rewrite the code for B like so:
        // Notice that B now "implements CProvider"
        public class B extends JPanel implements CProvider {
            protected MyC;
            public B () {
                MyC = new C();
            public C getC () {
                return MyC;
        };Since B is implementing CProvider, it is bound by the terms of the CProvider "contract" to provide a method "public C getC()". As a matter of fact, if you comment out the getC method code in B, but you still implement CProvider, you'll get a compiler error.
    To take advantage of this revised B that implements CProvider, we can rewrite D like so:
        public class D {
            public D (ChosenFileInfo f, CProvider cprov) {
                // Perform calculations, and send the results to the
                // C provided by cprov (a CProvider).
                cprov.getC().draw(performCalculations(f)); 
            public DrawParameters performCalculations (ChosenFileInfo f) {
                // Perform calculations, return results.
        // A.FileWasChosen needs changed slightly, too:
            public void FileWasChosen (ChosenFileInfo f) {
                // This time, we pass a CProvider to the D constructor,
                // rather than a C itself. Although this can be done
                // other ways, I'm doing it this way to illustrate the
                // usefulness of interfaces.
                D MyD = new D(f, MyB);
            };Specifying "CProvider" as the type of the second parameter to the D constructor means that we can pass ANY class that implements CProvider to the D constructor.
    We could, now, write another CProvider class that is completely unrelated to B except for the fact that it has a method getC():
    public class Bonkers implements CProvider {
        protected C c;
        public Bonkers () {
            c = new C();
        public C getC () {
            return c;
    };We can now pass an instance of Bonkers to the constructor of D, just like we passed an instance of B before. From D's point of view it does not matter what class you pass to it... as long as the class implements the CProvider interface, D will be happy.
    On another note, you shouldn't name your classes A, B, C, and D. You should name them names that indicate what the classes actually do. That was a confusing response to type.
    I hope this helps.
    Jason Cipriani
    [email protected]
    [email protected]

  • Saving last screen layout for next edit session?

    Before making a feature request, I wanted to find out if there's a way to do this.  When I'm editing, I often want
    to open a file in exactly the same place I left off, including the zoom level, part of the image being viewed, window sizes, etc.  Is there a way to do this easily?
    Thanks.

    Ok turning it round, how does Photoshop in its inteface and implementation prevent, or even slow you down, in doing what you want?
    Layer --> Layer Styles --> Stroke --> Mode: Gradient Burst --> Edit Gradient --> Edit Gradient Stop Color
    That is 5 (!) modal panels on top of each other. Similarly clunky workflows can be observed in many other places.
    VIdeo - I don't want to buy
    After Effects to color correct a simple short video, and the TOOLS in
    Photoshop are much better implemented for this.
    C'mon, get real! Do you really think people would convert their footage back and forth and splice it up ins 500 frame chunks just for the not so distinct pleasure of running it through PS? 500 frames is not even a minute in PAL, much less NTSC. And no, PS color correction tools (nor its filters, nor 3D) are not really better - for video, anyway. You know, such minor things as temporal stabilization and all that.... Even some free VirtualDub plug-ins do that 20 times better. Sorry, you really don't know what you are talking about.
    Whilst
    agreeing that, at the moment, Photoshops implementation of its 3D
    features in terms of interface leaves a lot to be desired - to be able
    to import and work with 3D in photoshop is an obvious and much needed
    move forward. Its just Beta 2. Like I said - a purpose for everything.
    If you pick out the few threads here (whose low numbers alone could be indicative of the lack of use and popularity of 3D features) on this forum from users who have tried to actually use it, there is quantifyable disappointment about the lack of 3D paint performance or any number of oddities getting it to work at all. The awful UI and Adobe's crooked understanding of 3D terminology and features are just one more thing on top of that. And frankly, I've been doing 3D much longer than working with any Adobe program and I really think I have seen better performance and quality in some programs in the early 90s. Again, severe quality problems on all ends (dithering noise, value clamping, incorrect HDR to LDR conversion etc.) plus lack of performance and interoperability. So much for that. The whole point of a 3D implementation is lost, when it entails endless touch-ups afterwards to fix its shortcomings. 3D is all about easy reproducibility and PS' current model clearly doesn't do that. It merely serves as another way to fabricate some sort of pixels, but completely pushing aside and ignoring any benefits a more wholesome implementation would have.
    Mylenium

  • Change of latest version of java

    hi,
    where can i see the change in java language given by the new release?
    thanks

    I need to know what are the difference between the old version and the latest.I guess your browser isn't able to follow links. Well, here you go, I clicked on the link that the first responded gave you. Mind you, it's not formatted very well:
    SCOPE
    AREA*/*
    COMPONENT
    SYNOPSIS
    RFE
    api
    client/2d
    ImageIO: GIF writer
    [4339415|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4339415]
    imp
    client/2d
    Native Text Rendering Parity
    [4726365|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4726365]
    imp
    client/2d
    Improved hardware acceleration on Windows
    [5104393|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5104393]
    imp
    client/2d
    Single-threaded rendering for OpenGL pipelines
    [6219284|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6219284]
    api
    client/awt
    Pop-up splash screen at beginning of Java startup
    [4247839|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4247839]
    api
    client/awt
    Java applications can access desktop applications
    [6255196|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6255196]
    api
    client/awt
    Improved modal dialogs
    [4080029|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4080029]
    imp
    client/awt
    XAWT is the default Toolkit on Solaris
    [5049146|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5049146]
    api
    client/awt
    Windows system-tray support
    [4310333|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4310333]
    imp
    client/awt
    Better support for input in non-English locales
    [4360364|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4360364]
    imp
    client/awt
    Live resizing
    [6199167|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6199167]
    imp
    client/deploy
    Improved application deployment across browsers
    [6329487|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6329487]
    api
    client/deploy
    Allow JAR files to be shared across installed JREs
    [6271065|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6271065]
    imp
    client/deploy
    Improved user experience in JRE/JDK installer
    [5079209|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5079209]
    imp
    client/deploy
    Improved security
    [6222485|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6222485]
    imp
    client/deploy
    Direct execution of JAR files on Linux
    [6211008|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6211008]
    imp
    client/deploy
    Improved desktop integration in Java Web Start
    [4625362|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4625362]
    imp
    client/deploy
    Improved IFTW installer
    [6198632|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6198632]
    imp
    client/deploy
    Improved startup & footprint for plugin/webstart
    [6329480|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6329480]
    imp
    client/deploy
    Mozilla Firefox browser support
    [6216340|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6216340]
    imp
    client/deploy
    Default Java on Linux
    [6211006|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6211006]
    imp
    client/deploy
    Improved user experience in Java Plug-in and Java Web Start
    [6205064|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6205064]
    imp
    client/deploy
    Unified download engine
    [4802551|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4802551]
    imp
    client/deploy
    Support Mozilla and Firefox family browsers.
    [6216340|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6216340]
    api
    client/dnd
    A way to avoid hangs on retrieval of clipboard data
    [4818143|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4818143]
    imp
    client/i18n
    Support for important locales
    [4324505|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4324505]
    imp
    client/i18n
    Japanese calendar
    [4609228|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4609228]
    api
    client/i18n
    Resource bundle enhancements
    [5102289|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5102289]
    api
    client/i18n
    Normalizer API
    [4221795|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4221795]
    api
    client/i18n
    Pluggable locales: Pluggability for break iterators
    [4052440|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4052440]
    api
    client/i18n
    Pluggable locales: Pluggability for locale names, formatters, and collators
    [4052440|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4052440]
    imp
    client/l10n
    Chinese localization for JDK tools
    [6209342|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6209342]
    imp
    client/swing
    GTK Native L&F Fidelity
    [6185456|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6185456]
    imp
    client/swing
    Through-the-stack: Reduced footprint / startup time
    [6329480|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6329480]
    imp
    client/swing
    Native look & feel fidelity <!--
    <blockquote>
    JSR 15: Image IO Framework
    <br>
    JSR 183: Web Services Message Security APIs
    <br>
    JSR 185: Java Technology for the Wireless Industry
    </blockquote>
    -->
    imp
    client/swing
    Avalon Look-and-Feel
    [6329475|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6329475]
    api
    client/swing
    JTable sorting, filtering, and highlighting
    [4747079|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4747079]
    api
    client/swing
    JTabbedPane: Tabs as Components
    [4499556|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4499556]
    imp
    client/swing
    Windows native L&F fidelity
    [5106661|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5106661]
    api
    client/swing
    SwingWorker
    [4681682|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4681682]
    api
    client/swing
    Improve Drag & Drop features for Swing Components
    [4468566|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4468566]
    api
    client/swing
    Extend SpringLayout
    [4726194|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4726194]
    api
    client/swing
    Text Document Printing
    [4791649|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4791649]
    imp
    client/swing
    Improved Painting Performance (fix grey boxes)
    [4967886|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4967886]
    jsr
    core/core
    [JSR 223|http://jcp.org/en/jsr/detail?id=223]: Scripting for the Java Platform
    [6249843|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6249843]
    api
    core/debug
    Multiple Simultaneous Agents
    [4772582|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4772582]
    api
    core/debug
    Added Heap Capabilities to JPDA
    [4914266|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4914266]
    api
    core/debug
    Attach-on-demand
    [6173612|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6173612]
    api
    core/debug
    JVMPI and JVMDI have been removed.
    [4914266|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4914266]
    api
    core/jndi
    Read-timeout specification for LDAP operations
    [6176036|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6176036]
    api
    core/libs
    Array Reallocation API
    [4655503|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4655503]
    imp
    core/libs
    BigDecimal optimizations for specjbb++
    <!--6177836-->
    api
    core/libs
    Floating point: Add IEEE 754 recommended functions to java.lang.{{,Strict}Math}
    [4406429|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4406429]
    api
    core/libs
    Standard service-provider API (java.util.Service)
    [4640520|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4640520]
    api
    core/libs
    Collections and Concurrency Updates
    [6268386|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6268386]
    api
    core/libs
    IO Enhancement: Password Prompting
    [4050435|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4050435]
    api
    core/libs
    IO Enhancement: File Attributes
    [6216563|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6216563]
    api
    core/libs
    IO Enhancement: Method for Discovering Free Disk Space
    [4057701|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4057701]
    imp
    core/libs
    IO Enhancement: Long pathnames on Windows
    [4403166|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4403166]
    api
    core/libs
    Low-level Java compiler API for IDEs
    [4813736|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4813736]
    jsr
    core/libs
    [JSR 202|http://jcp.org/en/jsr/detail?id=202]: Java Class File Specification Update
    [4639391|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4639391]
    jsr
    core/libs
    [JSR 199|http://jcp.org/en/jsr/detail?id=199]: Java compiler API
    [4164450|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4164450]
    imp
    core/libs
    Improved perceived footprint
    [6280693|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6280693]
    api
    core/libs
    Deques
    [6192552|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6192552]
    api
    core/libs
    Navigable Maps and Sets
    [4155650|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4155650]
    imp
    core/libs
    BitSet Updates
    [4963875|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4963875],
    [4979017|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4979017],
    [4979028|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4979028],
    [4979031|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4979031],
    [5030267|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5030267],
    [6222207|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6222207],
    [6404711|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6404711]
    imp
    core/libs
    Performance Improvements when compiling using network file systems
    [4770745|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4770745]
    imp
    core/m&m
    Improved diagnosability of OutOfMemoryError
    [6173515|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6173515]
    api
    core/m&m
    Generic annotations for MBean descriptor contents
    [6221321|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6221321]
    api
    core/m&m
    Support for java.util.concurrent locks in the lock related facility
    [5086470|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5086470]
    imp
    core/m&m
    jconsole is more user-friendly
    [6174397|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6174397]
    api
    core/m&m
    Small-scale improvements to JMX Monitor API
    [6222961|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6222961]
    api
    core/m&m
    descriptors added to all types of MBean
    [6204469|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6204469]
    api
    core/m&m
    MXBeans added to JMX
    [6175517|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6175517]<!-- not in beta
    <tr>
    <td>imp</td>
    <td>core/m&m</td>
    <td>Improved crash/core-dump handling</td>
    <td>6309336</td>
    </tr>
    -->
    api
    core/net
    Light-weight HTTP server
    [6270015|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6270015]
    api
    core/net
    Internationalized resource identifiers
    [5085902|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5085902]
    api
    core/net
    Default CookieManager implementation
    [6244040|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6244040]
    imp
    core/net
    SPNEGO HTTP authentication
    [6260531|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6260531]
    api
    core/net
    International domain names
    [4737170|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4737170]
    api
    core/net
    Programmatic access to network parameters
    [4691932|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4691932]
    imp
    core/sec
    Native platform GSS integration
    [6202035|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6202035],
    [6345202|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6345202]
    imp
    core/sec
    SPNEGO in Java GSS
    [6239635|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6239635]
    imp
    core/sec
    MS CAPI Keystore provider
    [6318171|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6318171]
    imp
    core/sec
    Better support for NSS keystore
    [6273877|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6273877]
    imp
    core/sec
    Improved Policy performance
    [5037004|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5037004]
    imp
    core/sec
    [JSR 268|http://jcp.org/en/jsr/detail?id=268]: Java Smart Card I/O API
    [6239117|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6239117]
    jsr
    core/sec
    [JSR 105|http://jcp.org/en/jsr/detail?id=105]: XML DSig
    [4635230|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4635230]
    api
    core/sec
    Enhance certificate APIs
    [4635060|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4635060]
    jsr
    core/tools
    [JSR 269|http://jcp.org/en/jsr/detail?id=269]: Standard pluggabilty API for annotation processors (APT)
    [6222574|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6222574]
    imp
    core/tools
    javac: Support for split verification
    [6227862|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6227862],
    [6227862|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6227862],
    [5110170|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5110170],
    [5110184|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5110184],
    [6217263|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6217263]
    imp
    core/tools
    javac: Implement
    [JSR 175's|http://jcp.org/en/jsr/detail?id=175]
    java.lang.SuppressWarnings
    [4986256|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4986256]
    imp
    core/tools
    Class-path wildcards
    [6268383|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6268383]
    jsr
    ee/ee
    [JSR 250|http://jcp.org/en/jsr/detail?id=250]: Common annotations
    [6304697|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6304697]
    imp
    ee/jdbc
    Extended JDBC-ODBC bridge to enable JDBC 4.0 EoD features
    [6290312|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6290312]
    jsr
    ee/jdbc
    [JSR 221|http://jcp.org/en/jsr/detail?id=221]: JDBC 4.0
    [6290312|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6290312]
    imp
    ee/xml
    JAXP 1.4
    bq. [JSR 206|http://jcp.org/en/jsr/detail?id=206]: Java API for XML Processing
    [6317994|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6317994]
    jsr
    ee/xml
    Support for the Web Services stack
    bq. [JSR 222|http://jcp.org/en/jsr/detail?id=222]: JAXB 2.0 \\ [JSR 224|http://jcp.org/en/jsr/detail?id=224]: JAX-RPC 2.0[JSR 173|http://jcp.org/en/jsr/detail?id=173]: STAX[JSR 181|http://jcp.org/en/jsr/detail?id=181]: Web Services Metadata
    [6245626|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6245626]
    <!-- sub JSRs of Web Services stack covered in prior entry
    <tr>
    <td>jsr</td>
    <td>ee/xml</td>
    <td>JSR 222: JAXB 2.0</td>
    <td>6245626</td>
    </tr>
    <tr>
    <td>jsr</td>
    <td>ee/xml</td>
    <td>JSR 224: JAX-RPC 2.0</td>
    <td>6245626</td>
    </tr>
    -->
    api
    ee/xml
    JavaBeans Activation Framework (JAF)
    [6254474|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6254474]
    imp
    vm/compilers
    Improved performance of compiled code
    [5079711|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5079711],
    [6206844|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6206844],
    <!--
    6229114,
    -->
    [6239807|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6239807],
    <!--
    6269053
    -->
    [4850474|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4850474],
    [5003419|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5003419],
    [5004907|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5004907],<!--
    5007322,
    -->
    [5101346|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5101346],
    [6190413|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6190413],
    [6191063|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6191063],
    [6196383|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6196383],
    [6196722|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6196722],
    [6211497|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6211497],
    [6232485|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6232485],
    [6233627|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6233627],
    [6245809|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6245809],[6251002|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6251002],<!--
    6261602,
    -->
    [6262235|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6262235],
    <!--
    6264252,
    6284962
    -->
    imp
    vm/c1
    Linear scan register allocator for C1
    [6320351|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6320351]
    imp
    vm/c2
    Improved loop optimization
    <!--
    5010187,
    -->
    [5073662|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5073662],
    [5074608|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5074608],
    [5091921|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5091921],
    [6260293|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6260293]
    imp
    vm/c2
    Escape analysis
    <!--
    5074913,
    -->
    [6339956|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6339956]
    imp
    vm/c2
    Lock coarsening
    [6245809|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6245809]
    imp
    vm/gc
    CMS: Parallelize concurrent marking
    imp
    vm/gc
    Parallel compaction<!--
    4743071
    -->
    imp
    vm/runtime
    Improve uncontended synchronization performance <!--
    6264252
    -->
    imp
    vm/runtime
    Improved performance of contended synchronization operations<!--
    5030359
    -->
    imp
    vm/runtime
    Faster format checker/class-file parser<!--
    4990299
    -->
    imp
    vm/runtime
    Improved startup time
    [6179212|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6179212]
    imp
    vm/runtime
    Improved runtime performance<!--
    6237688
    -->
    imp
    vm/runtime
    Improved JNI performance
    [5086424|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5086424]
    imp
    vm/runtime
    Class circularity detection
    [4699981|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4699981]
    imp
    vm/runtime
    DTrace support in the VM

  • Why ListSelectionListener receives two ListSelectionEvent at one selection?

    I use ListSelectionListener to listen the selection of a JList to perform other task related with the selected item in the list. but the following code exucuted twice at one selection:
        public void valueChanged(ListSelectionEvent e) {
             System.out.println(tablelist.getSelectedIndex());
        }the printed result is two of the same index.
    Anyone has a good solution about it? Thanks

    There are really two events. The first is where the
    currently selected item becomes deselected, and the
    second is where the newly selected item becomes
    selected.
    Check out the getValueIsAdjusting() method of
    ListSelectionEvent.If it's so, the first tablelist.getSelectedIndex()
    and the second tablelist.getSelectedIndex() may get
    different result. but why they get the same result?The first event is fired with valueIsAdjusting true and it is fired on mousePressed.
    When you release the mouse button the second event will be fired this time with valueIsAdjusting false.

  • Changing panels displayed

    hi
    i'm having a slight probelm when removing one panel from a frame and adding another.
    the code is below: (mainPanel is the primary panel on my window where i add all others).
    mainPanel.remove(firstPanel);
    firstPanel = null;
    mainPanel.add(secondPanel, BorderLayout.CENTER);
    repaint();
    the problem is that once the second panel is added it isn't displayed at all, it only shows what would appear to be a blank space. however, if i resize the window, move the mouse over a tool bar button where the borders become painted ( - perform any action really) the panel appears. its as if program goes to sleep and needs a bit of a kick to wake up and catch up. do i need to call another repaint method or something?? i've tried repaint on the mainPanel and the window, but nothing seems to work. i've also tried all combinations of setVisible on the added panels. what am i missing??
    any suggestions would be most appreciated.
    thanks
    Takis

    you're a genious!!!!
    it worked...
    thanks so very much
    Takis

  • Report Painter Report Performance Issue

    hi,
    My client facing the problem with Report painter reports , almost all the reports taking much amount of time to execute . we are Using 5.0 version tables FAGLFLEXT and CSSS . i have some doubts report index is the cause for this or any other reasons can any one help me in this regard,
    thanks in advance
    sasidhar.A

    Hi,
    just create a proper index and performance will increase. There are some SAP OSS notes who deal with this (for example field "client" should be added if'm not mistaken).
    We did the same on profit center tables with huge performance increases
    grtz
    dries

Maybe you are looking for

  • Opening .NEF files in PS3 on Windows XP

    I cannot open my .NEF images in my PS3 that I took on my Nikon D7000.  I am trying to convert them to .jpeg and I have tried to open them in Bridge and I have also tried to convert them to .jpeg through tutorials I have found telling me to use the im

  • Line Binding with table Cell issue

    Hello, In my application I need to map data from one table to another table. please see snap from below link http://www.pixhost.org/show/3449/12902612_column-linking.png if you see the snap you will come to know that I have Map Name "Pankti" from Lef

  • IPhoto book low quality warning?

    I've created an iPhoto book. I'm ready to buy it but I get a warning that some of the photos are too low quality for the type of book I've chosen. Yet all photos were imported at 300dpi and there's no warning on any one photo that the quality is low.

  • SRM HTML Template Creation

    Hi, I created one interface program.  I want to creat the HTML templet for that progame to visible the <b>SRM Web page</b>(front-end). Can any one please help me out how to crate the HTML templet for the Report progame. Thanks and Regards, Senthil

  • Storage Resource question

    Hi, I have a question, Can I use Storage Resources in Discrete Manufacturing? If so, is there a specific configuration for it? This question is because I have Discrete Manufacturing in my plant and there is a process where I have to make a liquid bas