JList update/paint problem

I've got some problems with updating a JList. This code adds an element to the bottom of the list and makes it visible.
Lines are added dynamicaly. It could be just 1 update a minute, but it could easely be 20 lines a split second...
Sometimes the last line is not visible (shows line before lastline). And sometimes the list goes totaly blank, until the next repaint. I think it must be a syncro ploblem between various "repaint"-threads. I already made the add function syncronized, but that didn't help.
Here's the code:
//     DEFINITIONS
JList list;
DefaultListModel model;
//     INITIALIZE
model=new DefaultListModel();
list=new JList(model);
list.setDoubleBuffered(true);     //     same with or without dbfr
add(new JScrollPane(list),BorderLayout.CENTER);
//     ADD LINE
public void add(Object obj){
     model.addElement(obj);
     list.ensureVisible(model.size()-1);
}How to solve this?

Just call ensureVisible(row) 2 timesThis may solve the problem, but it appears you still don't know the cause. Not sure, but this thread may help explain why you have the problem to begin with:
http://forum.java.sun.com/thread.jsp?forum=57&thread=437592

Similar Messages

  • Tabs only open in a new window. Ctl T opens a new window NOT a new tab help-last update this problem started. How do I set FF back to open tabs in 1 window

    Tabs only open in a new window. Ctl T opens a new window NOT a new tab help-last update this problem started 2 days ago. How do I set FF back to open tabs in 1 window?
    There is no plus sign and going into optins and changing settings has not worked. I have uninstall FF and reinstall-keeping my personalization-and that was no help.
    Right clicking on FF Icon to open a new tab, or going up to FF drop down tab and clicking on new tab both do not work.
    Help everything opens a new window not a new tab. there seems to be no way to reset this or to chose a different optin. I just downloaded new tabs at end addon and it didn't do a thing.

    as a first troubleshooting step - does it work like normally when you open & run firefox in [[Safe Mode|safemode]] by pressing the shift key while you open firefox (all other instances have to be closed before)...

  • 10.4.11 combo update install problem

    Has anyone else had trouble installing the combo update from 10.4 to 10.4.11?? Mine almost finishes and says it encounters an unknown error and cannot finish the install. Says it moves the update to trash and says try again from the finder...
    HELP!!

    Updating
    Certain steps appear to minimize the risk of an update producing problems.
    Number one is to make sure you have a bootable clone backup of your computer in case you do need to back out of it again. This is the only guaranteed way of not having to worry about the results of an update.
    Some like to boot from their installer discs or an external backup and verify (and if necessary repair) their internal drives as well as drive permissions. This is done with Disk Utility. You can verify a drive while booted from the same drive but sometimes this produces spurious errors. Repairing a drive (if necessary) has to be done while booted from another disk.
    [Resolve startup issues and perform disk maintenance with Disk Utility and fsck|http://docs.info.apple.com/article.html?artnum=106214]
    [Using Disk Utility in Mac OS X 10.4.3 or later|http://docs.info.apple.com/article.html?artnum=302672]
    [Disk Utility's Repair Disk Permissions|http://docs.info.apple.com/article.html?artnum=25751]
    You can also go to the step of booting into safe mode to do the install.
    [Mac OS X: Starting up in Safe Mode|http://docs.info.apple.com/article.html?artnum=107393]
    [What is Safe Boot, Safe Mode? (Mac OS X)|http://docs.info.apple.com/article.html?artnum=107392]
    [Safe Boot takes longer than normal startup|http://docs.info.apple.com/article.html?artnum=107394]
    I like to download the update onto my computer and install it from there rather than let Software Update do it. I know a few people who had problems with doing the update via software updater found a manual install to work.
    Repair permissions again afterward.
    It helps to only install one update at a time and to run the computer for a while to make sure it is behaving well.
    The more cautious even like to unplug third party peripherals (see [comment by BDaqua|http://discussions.apple.com/message.jspa?messageID=9040746#9040746]).
    Almost all of the above steps (except backup) have been questioned (e.g., [Permissons repair|http://www.macworld.com/article/52220-3/2006/08/repairpermissions.html] as to necessity. Probably many people have done successful updates without doing them. I say they can't hurt, they can very likely do good (especially if your computer isn't regularly maintained), so why not do them to be safe?
    [BDaqua's comments on updating problems|http://discussions.apple.com/message.jspa?messageID=8948595#8948595]
    [Baby Boomer's comments on updating problems|http://discussions.apple.com/message.jspa?messageID=9025760#9025760]
    [Klaus1's post on updating and removing updates|http://discussions.apple.com/message.jspa?messageID=10257902] and [another one|http://discussions.apple.com/message.jspa?messageID=10402175]

  • JMenuItem painting Problem

    Hi,
    I have painting problem with adding the JMenuItems dynamically. In the screen1 figure shown below, Menu 2 has has total 10 items, but initially we will show only three items. When the user clicks on the menu item ">>" all the Ten Items in Menu 2 are shown. But, All the 10 items are inserted in a compressed manner as shown in screen 2. When i click on the Menu 2 again, is shows properly as shown in screen 3.
    screen 1:
    <img src="http://img.photobucket.com/albums/v652/petz/Technical/screen1.jpg" border="0" alt="Screen 1"/>
    screen 2:
    <img src="http://img.photobucket.com/albums/v652/petz/Technical/screen2.jpg" border="0" alt="Screen 2"/>
    screen 3:
    <img src="http://img.photobucket.com/albums/v652/petz/Technical/screen3.jpg" border="0" alt="Screen 3"/>
    Here is the code:
    import java.awt.GridLayout;
    import java.awt.event.KeyEvent;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import javax.swing.JFrame;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    public class MenuUI implements MouseListener
        JFrame frame;
        JMenuBar menubar;
        JMenu menu1,menu2;
        JMenuItem menuItem;
        JMenuItem lastMenuItem;
        String MENU1_ITEMS[] = {"ONE","TWO","THREE","FOUR","FIVE"};
        String MENU2_ITEMS[] = {"ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","TEN"};
        int MIN_MENU = 3;
        public MenuUI()
            menubar = new JMenuBar();
            /*menu1 = new JMenu("Menu 1");
            menu1.setMnemonic(KeyEvent.VK_1);
            menu1.getPopupMenu().setLayout(new GridLayout(5,1));
            menu2 = new JMenu("Menu 2");
            menu2.setMnemonic(KeyEvent.VK_2);
            menu2.getPopupMenu().setLayout(new GridLayout(5,2));*/
            menu1 = new JMenu("Menu 1");
            menu1.setMnemonic(KeyEvent.VK_1);
            menu2 = new JMenu("Menu 2");
            menu2.setMnemonic(KeyEvent.VK_2);
            menubar.add(menu1);
            menubar.add(menu2);
            createMinMenuItems();
            frame = new JFrame("MenuDemo");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setJMenuBar(menubar);
            frame.setSize(500, 300);
            frame.setVisible(true);
        public void createMinMenuItems()
            for (int i = 0; i < MIN_MENU; i++)
                menuItem = new JMenuItem(MENU1_ITEMS);
    menu1.add(menuItem);
    lastMenuItem = new JMenuItem(">>");
    lastMenuItem.addMouseListener(this);
    menu1.add(lastMenuItem);
    for (int i = 0; i < MIN_MENU; i++)
    menuItem = new JMenuItem(MENU2_ITEMS[i]);
    menu2.add(menuItem);
    lastMenuItem = new JMenuItem(">>");
    lastMenuItem.addMouseListener(this);
    menu2.add(lastMenuItem);
    private void showAllMenuItems(int menuNo)
    if(menuNo == 1)
    menu1.remove(MIN_MENU);
    for (int i = MIN_MENU; i < MENU1_ITEMS.length; i++)
    menuItem = new JMenuItem(MENU1_ITEMS[i]);
    menu1.add(menuItem);
    menu1.updateUI();
    else if(menuNo == 2)
    menu2.removeAll();
    menu2.getPopupMenu().setLayout(new GridLayout((MENU2_ITEMS.length),1));
    for (int i = 0; i < MENU2_ITEMS.length; i++)
    menuItem = new JMenuItem(MENU2_ITEMS[i]);
    //menuItem.setMinimumSize(new Dimension(35,20));
    menu2.add(menuItem);
    menu2.updateUI();
    //menu2.getPopupMenu().invalidate();
    //menu2.getPopupMenu().repaint();
    //menubar.repaint();
    //menubar.invalidate();
    //menubar.getParent().repaint();
    /* (non-Javadoc)
    * @see java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent)
    public void mousePressed(MouseEvent arg0)
    System.out.println("mousePressed: Menu 1 selected: "+menu1.isSelected());
    System.out.println("mousePressed: Menu 2 selected: "+menu2.isSelected());
    if(menu1.isSelected())
    System.out.println("mousePressed: Menu 1: Show All Items");
    showAllMenuItems(1);
    else if(menu2.isSelected())
    System.out.println("mousePressed: Menu 2: Show All Items");
    showAllMenuItems(2);
    /* (non-Javadoc)
    * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
    public void mouseClicked(MouseEvent evt)
    /* (non-Javadoc)
    * @see java.awt.event.MouseListener#mouseEntered(java.awt.event.MouseEvent)
    public void mouseEntered(MouseEvent arg0)
    /* (non-Javadoc)
    * @see java.awt.event.MouseListener#mouseExited(java.awt.event.MouseEvent)
    public void mouseExited(MouseEvent arg0)
    /* (non-Javadoc)
    * @see java.awt.event.MouseListener#mouseReleased(java.awt.event.MouseEvent)
    public void mouseReleased(MouseEvent arg0)
    public static void main(String[] args)
    MenuUI ui = new MenuUI();

    // menu2.updateUI();
    menu2.getPopupMenu().setVisible(false);
    menu2.getPopupMenu().setVisible(true);

  • SQL Server 2005 Update mechanism problem

    Hi Gurus,
          We're faced with one SQL Server 2005 update mechanism problem. Here is my problem:
          According to our requirement, an add_on interface program is designed to execute creation of production order by calling Bapi.
          There are 3 steps in this add_on program:
          Step 1: Create production order
          Step 2: Change the information of production.
          Step 3: Some other
          After the step 1 has finished immediately step 2 is called, Howerver the information which should have inserted into database table couldn't be found from database. (Maybe because the time between two steps is too short to finish inserting)
          In order to ensure the complete of the transaction, before the step 2 executed, the information in step 1 should have inserted into database.
           Is there any solution to solve this problem?
           I guess whether there is any parameter which control the time of writing buffer into database...
    Any advice is appreciated.
    Thanks & Best Regards,
    Derek Yang

    Hi
    I have the same problem, but that post didnt help me
    This is the error I have:
    My snapshot agent hangs.. waiting for a response from the server.. and timeouts.
    This only hapens for a publication that has a filter based on HOSTNAME()
    The other publications work fine
    Error messages:
    Message: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
    Command Text: sp_MSsetup_partition_groups
    Parameters: @publication = XXXXXXX
    Stack: at Microsoft.SqlServer.Replication.AgentCore.ReMapSqlException(SqlException e, SqlCommand command)
    at Microsoft.SqlServer.Replication.AgentCore.AgentExecuteNonQuery(SqlCommand command, Int32 queryTimeout)
    at Microsoft.SqlServer.Replication.AgentCore.ExecuteDiscardResults(CommandSetupDelegate commandSetupDelegate, Int32 queryTimeout)
    at Microsoft.SqlServer.Replication.Snapshot.MergeSnapshotProvider.SetupPartitionGroups()
    at Microsoft.SqlServer.Replication.Snapshot.MergeSnapshotProvider.DoRegularMergeSnapshotPreparations()
    at Microsoft.SqlServer.Replication.Snapshot.MergeSnapshotProvider.DoPreArticleFilesGenerationProcessing()
    at Microsoft.SqlServer.Replication.Snapshot.SqlServerSnapshotProvider.GenerateSnapshot()
    at Microsoft.SqlServer.Replication.SnapshotGenerationAgent.InternalRun()
    at Microsoft.SqlServer.Replication.AgentCore.Run() (Source: MSSQLServer, Error number: -2)
    Get help: http://help/-2
    Server XXXXXXXXX, Level 11, State 0, Procedure , Line 0
    Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. (Source: MSSQLServer, Error number: -2)
    Get help: http://help/-2

  • Update/Insert Problem with Oracle Warehouse Builder

    Hello,
    i have update/insert problem with owb.
    Situation: I have a source-table called s_account and a target table called w_account_d. In the target table are already data which was filled trough the source table inserts. Now anyone make changes on data on the target table. This changes should now give further on the source table with an update operation. But exactly here is the problem i can´t map back the data to source because that will create a loop.
    My idea was to set a trigger but i can´t find this component in owb or is anywhere hidden?
    Also i have already seen properties as CDC or conditonal loading in the property inspector of the table, but i have no idea how it works.
    Give it other possibilities to modeling this case? or can anyone me explain how i can implement this eventually with CDC?
    I look forward for your replies :)

    Hi
    thanks for your answer. I follow your suggestion and have set the constraints of both tables into the database directly.Nevertheless it doesn´t work to begin. In the next step i found by right click on a table the listpoint "configure" - I goes to "unique key" --> creation method and set here follow options: Constraint State = ENABLE, Constraint Validation = Validate. That error message that appears before by the deployment disappears yet. Now i start the job to test if the insert/update process works right. Finally it seems to work - but not really.
    My Testscenario
    1. Load the data from source table about the staging area to data warehouse table: Check - it works!
    2. Change one data record in source table
    3. Load the source table with changed data record once again to staging area: Check - it works!
    4. Load new staging area table with the changed data record to data warehouse table: Check it works! BUT, BUT i can not recognize if it is insert or update operation, then under the design window by jobs execution windows is reported "rows selected 98", Rows inserted" is empty and "rows updated" is empty. So i think works not correct, then my opinion if it works correct it should show be "rows updated" 1.
    What can yet now still be wrong or forgotten? Any ideas?
    *By the way think not 98 rows there is not important if you make an update or insert which performance. It is an example table the right tables have million of records.*
    I look forward for your answers :)

  • Tried to buy Aperture 3 and got an error message Aperture can't be installed on "Macintosh HD" because Mac OS X version 10.7.2 or later is required. You can update Mac OS X using Software Update.  Problem is, I had already updated my IMac to Lion OS

    Tried to buy Aperture 3 and got an error message Aperture can’t be installed on “Macintosh HD” because Mac OS X version 10.7.2 or later is required. You can update Mac OS X using Software Update.  Problem is, I had already updated my IMac to Lion OS

    iPhoto 9.3 requires OS X 10.7.4 now. You can use your actual version of iPhoto or upgrade to Lion (or wait to Mountain Lion)

  • Paint problems in 1.4-RC1

    Is anyone else experiencing repaint problems with RC1? I've seen two intermittent things so far:
    1) When a modal JDialog is shown above its owner window, the contents of the owner window are being painted inside the JDialog
    2) Scroll bars (JScrollPane) are not being repainted properly when window is resized. Phantom scroll buttons remain at the old position.
    Any others out there?

    My JDK 1.4.0 Swing application does not paint very well on 2 out of 4 NT / SP5-6machines tested. Its OK on 2 machines and NOT OK on 2 others... The machines have mixture of different graphics cards.
    The base problem reminds me of 'running out of paint handles' in Win 3.1 days... i.e. the GUI fails to refresh and gets cluttered with 'random' strips, streched painting, general 'junk' that won't clear. Its quite serious because when the application window is moved the edit-box / buttons etc don't necessarily move at same time and get partially 'off the window' and stop working. Minimize/Maximize and drag overs by other apps don't clear it. The problem seems to get worse the longer the application is executed and seems to be even worse when there's more than 1 window up a time... i.e. it almost seems like 'lack of horsepower' in CPU but these machines are PIII 400MHZ with OK RAM so there should be enough CPU.
    Note that JDK 1.3 'corrects' the problem - i.e. running same code on JDK 1.3 (instead of JDK 1.4) works just fine and does NOT have the paint problems.
    ANY HELP APPRECIATED!!

  • Update installation Problems: Code U44M1P7 in Extension Manger 6.0.4 and Illustrator and PS CS6

    Hello,
    After the installation of several updates I find several errors in the error log:
    " Update installation Problems: Code U44M1P7 in Extension Manger 6.0.4 and Illustrator and PS CS6"
    I use a Mac Book Pro with Retina and MAC OSX 10.7.5.
    What is the problem and how can I solve it?
    Best regards
    Frank

    Follow the instruction given at the following link:
    http://helpx.adobe.com/creative-suite/kb/error-u44m1p7-installing-updates-ccm.html

  • HT4561 10.6.8 printing results in paused printers. Have applied 10.6.8 supplemental update but problems remain. Are there other known fixes?

    After applying 10.6.8 Supplemental Update a network printer status turns to paused after a printing attempt. Have deleted and reinstalled printers after the 10.6.8 update but problem reoccurs. I have also installed the Repair10.6.8.dmg package but that suggested fix did not work either. Any other suggestions?

    Wuzradioaman,
    Thanks for your feedback.
    Let me first correct myself. My aunt had bought the MBP from apple store USA for me 1 year ago, but she could have only delivered it to me 2 months ago. Its' a brand new computer. I run OSX Snow Leopard 10.6.7 and keeps warning me to update to 10.6.8. As I said, by the time I have received my computer, I tried to learnd and update it but created problems. So I had to go back to the original version which is 10.6.7. Now, for Mountain Lion I am expected of updating to 10.6.8. I am scared the problem would repeat again.
    What can I do? Did Apple release any patch/update to fix the problem?

  • JList selection focus problem

    Hi,
    I'm trying to write a help viewer similar to a MS one. I would like to be able to type characters into a textfield,and as they are typed, the matching JList item is selected.
    This works, but the selected item in the JList is only painted as selected when it gains focus. Is there any way to make a JList item paint as if it is selected and has focus, even though another component actually has the focus?
    Thanks.

    Make a custom cellrenderer extending the DefaulListCellRenderer and let it do smething like the code below. The borders on cellHasFocus are my custom variants, but I guess it's easy to find the default ones if you like.
    Have a look in the tutorial about custom renderers and in the performande book at :
    http://java.sun.com/docs/books/performance/
    or more precisly at:
    http://java.sun.com/docs/books/performance/1st_edition/html/JPSwingModels.fm.html#1001816
    It's easy to make some errors in renderers... Never create any new objects and other things and you're halfway there.
      public Component getListCellRendererComponent(JList list, Object value,
           int index, boolean isSelected, boolean cellHasFocus)
              if (isSelected)
                 this.setBackground(list.getSelectionBackground());
                 this.setForeground(list.getSelectionForeground());
              else
                 this.setBackground(list.getBackground());
                 this.setForeground(list.getForeground());
              if (cellHasFocus)
                 this.setBorder(hasFocusBorder);
              else
                 this.setBorder(hasNotFocusBorder);
              return this;
       }

  • Apple TV after recent update has problems with Hulu Fall 2014 shows

    In specific, ONCE Season 4 from ABC. The shows play about 15-17 minutes, up to the 2nd commercial - which fails almost immediately, the screen goes black and nothing. (I did find that the SUBTITLES come through - of all things.) If you try and re-start the episode with RESUME PLAYING, you'll just stare at a blank screen for ever.
    I have notified HULU of this issue with their content - other shows (like Agents of Shield) play fine, just not ONCE Season 4.
    Obviously, something is broken and needs to be fixed.
    **** Update ****     The problem seems to be caused by the subtitles. Turning the sub-Titles off seems to work-around the problem.

    i dont have an ipad but ive had problems also, streaming music from my itunes off my macbook to my appleTV so i after seeing all these itunes 11 problems, im starting to think its the new itunes cuz my airplay was working fine until i updated also.

  • Update Termiante Problem in the VF02

    Dear SAP Technical Guru's,
    I am facing Update termiante problem in the VF02 Screen .
    MESSAGE
    Update was terminated
    *System ID.... MRD
    Client....... 100
    User..... PWC
    Transaction.. VF01
    Update key... BE944DDDC5AEF1338261001635B0CD06
    Generated.... 09.07.2008, 14:25:50
    Completed.... 09.07.2008, 14:25:50
    Error Info... 00 671: ABAP/4 processor: SAPSQL_ARRAY_INSERT_DUPREC*
    Also When I scroll through the Condition records in the billing screen the conditions are disapperaing.
    I have a Userexit attached to it RV60AFZC
    Please suggest the solutions of the problem.
    regards,
    Amlan Sarkar

    I am attaching the code of the userexits:
    ***INCLUDE RV60AFZC.
    This include is reserved for user modifications                      *
    Forms for invoicing                                                  *
    The name of modification modules should begin with 'ZZ'.             *
          USEREXIT_NUMBER_RANGE_INV_DATE                                 *
          USEREXIT_FILL_VBRK_VBRP                                        *
          FORM USEREXIT_NUMBER_RANGE_INV_DATE                           *
          This userexit can be used to determine the numberranges for   *
          the internal document number. This userexit can be used when  *
          the number_ranger should impact the invoice date via table    *
          TVFKD.                                                        *
          If this userexit is active the USEREXIT_NUMBER_RANGE is not   *
          processed anymore, that means this userexit has priority.     *
          US_RANGE_INTERN - internal number range                       *
          This form is called from form LV60AU02 and LV60AU11           *
    FORM USEREXIT_NUMBER_RANGE_INV_DATE USING US_RANGE_INTERN.
    Example: Number range from TVFK like in standard
    US_RANGE_INTERN = TVFK-NUMKI.
    ENDFORM.
          FORM USEREXIT_FILL_VBRK_VBRP                                  *
          This userexit can be used to fill fields in VBRK and VBRP     *
          Be aware, that at this time the work areas KUAGV KURGV        *
          KUWEV and KUREV are not filled.                               *
          This form is called from FORM VBRK_VBRP_FUELLEN.              *
    FORM USEREXIT_FILL_VBRK_VBRP.
    Example: change Tax country
    VBRK-LANDTX = T001-LAND1.
    *{   INSERT         MRDK900206                                        1
    *if sy-tcode = 'VF01'.
    read table xkomv with key kschl = 'ZTOD'.
    if sy-subrc <> 0.
       clear xkomv.
       xkomv-kschl = 'ZTOD'.
       append xkomv.
    endif.
    *endif.
    *----Commented
    READ TABLE XKOMV WITH KEY KSCHL = 'ZTOD'.
    IF SY-SUBRC <> 0.
       CLEAR XKOMV.
       XKOMV-KSCHL = 'ZTOD'.
       APPEND XKOMV.
    ENDIF.
    *----End of comment
    *}   INSERT
    ENDFORM.
    *eject
    regards,
    Amlan Sarkar

  • Help Please, with Annoying painting problem.

    Hi:
    I keep running in to this annoying problem:
    Swing Components not being re-drawn properly after:
    Windows turns on the screensaver
    or to a lesser degree if the Java program is Iconified / deiconified.
    Components with Images on them get corrupted and the image is not drawn properly, maybe just the top cm or so, but it is annoying..
    And I can't figure out what or if anything I am doing wrong.
    It happens in a few of my applications.........
    mostly those wher I have overidden paintComponent()
    If someone would like to see if they have the same thing happen, below is an example that demonstrates the problem.
    You will probably need to fiddle with you power settings so that you monitor blanks after 1 min. to avoid having to wait too long.
    Run the program, wait for screen to blank out, bring screen back,...
    If the java picture is not corrupt try re-sizing the JFrame and see what happens.
    I am using Win98SE
    I have Java:
    java version "1.4.2-beta"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-beta-b19)
    Java HotSpot(TM) Client VM (build 1.4.2-beta-b19, mixed mode)
    I would appreciate someone trying this out. Even if it doesn't happen for them.
    Or maybe there is a glaring Error in my code.... And if so I could fix it..
    Here is an exmple program to demonstrate this.
    Two classes, The JPanel was obviously meant to do other things but I cut it down..
    The main:
    import java.awt.BorderLayout;
    import java.awt.Container;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.ImageIcon;
    import java.net.*;
    public class Test extends JFrame
         public Test()
              super("Test");
              Container content = this.getContentPane();
              content.setLayout( new BorderLayout() );
              URL url = null;
              Class ThisClass = this.getClass();
              url=ThisClass.getResource("Background.jpg");
              StarPanel panel = new StarPanel( url );
              content.add( panel , BorderLayout.CENTER );
              this.setDefaultCloseOperation(EXIT_ON_CLOSE);
              this.setSize(400,400);
              this.setVisible( true );
         public static void main( String[] args )
              Test Example = new Test();
    }The JComponent - with overrriden paintComponent()
    import java.awt.Image;
    import javax.swing.JComponent;
    import javax.swing.JPanel;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.MediaTracker;
    import java.awt.Toolkit;
    import java.net.*;
         cut down version
    public class StarPanel extends JPanel
    private Image image = null;
    private boolean imageLoaded = false;
         public StarPanel( URL imageLocation )
              super();
              this.setOpaque( true );
              loadImage( imageLocation );
         public boolean isOpaque()
              return true;
         public Image getImage()
              return this.image;
         public boolean hasImage()
              return imageLoaded;
         public void loadImage( URL imageLocation )
              boolean goodLoad = true;
              boolean Test = false;
              Toolkit T = this.getToolkit();
              image = T.getImage( imageLocation );
              prepareImage(image, this);
              MediaTracker Tracker = new MediaTracker( this );
              Tracker.addImage( image , 0 );
              try
                   Tracker.waitForID( 0 );
              catch( InterruptedException IE )
                   System.out.println( "Interrupted loading Image for StarPanel: " + IE.getMessage() );
                   goodLoad = false;
              Test = Tracker.isErrorID( 0 );
              if( Test )
                   goodLoad = false;
              if( !goodLoad )
                   imageLoaded = false;
              else
                   imageLoaded = true;
              Tracker = null;
         sans any error checking
         protected void paintComponent(Graphics g)
              super.paintComponent( g );
              Graphics2D g2D = (Graphics2D) g;
              boolean T = g2D.drawImage(this.getImage(), 0, 0, this.getWidth(), this.getHeight(), this );
    }I have tried quite a few different approaches to remove or minimize this problem, and have read everything I can here on paintComponent() and etc
    Help would be appreciated.
    No dukes cos I somehow have less than 0.
    Arrg my code was all neat - before I pasted it in to the code tags.

    I tried your code and did not notice any painting problems. I'm using JDK1.4.1 on Windows 98.
    I don't see any problems with your code. Here is the thread I usually recommend when people want to add an image to a component, in case you want to run another test:
    http://forum.java.sun.com/thread.jsp?forum=57&thread=316074

  • Automatic page updates causing problems with your screen reader? this kind of message come when i access yahoo mail.yahoo mail page not come properly.

    Automatic page updates causing problems with your screen reader? this kind of message come when i access yahoo mail.yahoo mail page not come properly.i can't chat,compose mail nothing accessing.

    Try Refresh Blocker: https://addons.mozilla.org/firefox/addon/992

Maybe you are looking for