To JPG - JPanel(with JTable and g) on JScrollpane

hi need help on this one, i have a JPanel inside a scrollpane that i want to convert to JPG. This JPanel contains Tables labels and some drawings.
everytime i convert it to JPG the only thing that shows up is the one that im seeing in the screen meaning what is being viewed by the JScrollPane. The other parts i dont get to save.
But what i need to save as JPEG is the whole panel even outside of the view of the Scrollpane.
how do i do this... please help
thanks very much
here is a code that i used, i pass the scrollpane component to this
public static void saveAsJPEG(Component component,
float quality, String filename) {
   try {
     Dimension d = component.getSize();
     d.height = 657;
     BufferedImage bimage = new BufferedImage(d.width, d.height,
                               BufferedImage.TYPE_INT_RGB);
     component.paint(bimage.createGraphics());
     Graphics2D g = (Graphics2D)bimage.getGraphics();
     g.setPaint(Color.white);
     if(!filename.endsWith(".jpg"))filename += ".jpg";
     OutputStream out = new FileOutputStream(filename);
     JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
     // Create JPEG encoder
     JPEGEncodeParam jpegParams =
             encoder.getDefaultJPEGEncodeParam(bimage);
     jpegParams.setQuality(quality, false);
     // Set quality to (quality*100)% for JPEG
     encoder.setJPEGEncodeParam(jpegParams);
     encoder.encode(bimage);
     // Encode image to JPEG and send to browser
     out.close();
     JOptionPane.showMessageDialog(null,"File successfully saved");
     catch (Exception e) {
     System.out.println(e);
}           

Torsten hey!! thanks very much, thats dukes for you
follow up question though,
how do i do it when it comes to printing? if its not much bother can you send me a snippet for same procedure but passed to a printing api or something.
Thanks very much again in advance
aloyse

Similar Messages

  • How to add a JPanel with label and border line

    hi,
    I want a Jpanel with label and border line like this.Inside it i need to have components.Is there a resuable component to bring this directly??
    Any solution in this regards.???
    Label-----------------------------------------------------------
    | |
    | |
    | |
    | |
    | |
    |________________________________________ |

    [url http://java.sun.com/docs/books/tutorial/uiswing/misc/border.html]How to Use Borders

  • Problem with JTable and JPanel

    Hi,
    I'm having problems with a JTable in a JPanel. The code is basicly as follows:
    public class mainFrame extends JFrame
            public mainFrame()
                    //A menu is implemeted giving rise to the following actions:
                    public void actionPerformed(ActionEvent evt)
                            String arg = evt.getActionCommand();
                            if(arg.equals("Sit1"))
                            //cells, columnNames are initiated correctly
                            JTable table = new JTable(cells,columnNames);
                            JPanel holdingPanel = new JPanel();
                            holdingPanel.setLayout( new BorderLayout() );
                            JScrollPane scrollPane = new JScrollPane(holdingPanel);
                            holdingPanel.setBackground(Color.white);
                            holdingPanel.add(table,BorderLayout.CENTER);
                            add(scrollPane, "Center");
                            if(arg.equals("Sit2"))
                                    if(scrollPane !=null)
                                            remove(scrollPane);validate();System.out.println("ScrollPane");
                                    if(holdingPanel !=null)
                                            remove(holdingPanel);
                                    if(table !=null)
                                            remove(table);table.setVisible(false);System.out.println("table");
                            //Put other things on the holdingPanel....
            private JScrollPane scrollPane;
            private JPanel holdingPanel;
            private JTable table;
    }The problem is that the table isn't removed. When you choose another situation ( say Sit2), at first the table apparently is gone, but when you press with the mouse in the area it appeared earlier, it appears again. How do I succesfully remove the table from the panel? Removing the panel doesn't seem to be enough. Help is much appreciated...
    Best regards
    Schwartz

    If you reuse the panel and scroll pane throughout the application,
    instantiate them in the constructor, not in an often-called event
    handler. In the event handler, you only do add/remove of the table
    on to the panel. You can't remove the table from the container
    which does not directly contain it.
    if (arg.equals("Sit2")){
      holdingPanel.remove(table);
      holdingPanel.revalidate();
      holdingPanel.repaint(); //sometimes necessary
    }

  • Problem with JTable and JComboBoxes in cells

    Hello,
    I've build a Table with static comboboxes in the first row. These comboboxes are static because they are used to filter the content of the table.
    I extended AbstractTableModel for the data handling and I use the DefaultCellRenderer for combobox handling.
    So far everything works fine. But if I gain focus to one combobox and then click to another cell (either table cell or another combobox) i receive a NullPointerException from within the component:
    java.lang.NullPointerException
         at javax.swing.plaf.basic.BasicTableUI$MouseInputHandler.adjustFocusAndSelection(Unknown Source)
         at javax.swing.plaf.basic.BasicTableUI$MouseInputHandler.mousePressed(Unknown Source)
         at java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
         at java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
         at java.awt.Component.processMouseEvent(Unknown Source)
         at java.awt.Component.processEvent(Unknown Source)
         at java.awt.Container.processEvent(Unknown Source)
         at java.awt.Component.dispatchEventImpl(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Window.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)The problem is, that no error is visible on client side! I just see the NullPointerException in my console but no GUI Errors occur.
    Actually I could leave the table as it is now because there are no obvious errors but I don't think its a good job to ignore exceptions.
    Does anyone see where this problem could come from????
    Do I have to extend the BasicTableUI somehow because the exception is thrown in there???
    Thanks for any help!
    Bye Jan

    Hi brad,
    I'm using eclipse and java1.4.2_06. Isn't it enough to write the program arguments to the run configuration in eclipse?!
    I tried that but it didn't work out, I get the same error msg. :(
    But I can say that whatever happens inside the UI, the exception is thrown before I receive a mouseClicked event on the table itself. I added some kind of dummy mouse listener to the table that only prints the events to the console. Is the cell renderer or cell editor using is own MouseAdapter?
    You said: ...consume the event so the table won't react....
    How could I catch this MouseInputHandler???
    Thanx!
    Jan

  • JTextArea as ListCellRenderer in JPanel with JSplitPane and text wrapping

    Hi.
    I have problem with JTextArea text wrapping. The JTextArea is used as ListCellRenderer in JList and it has set:
    textArea.setLineWrap(true);
    textArea.setWrapStyleWord(true);I can dynamically add new Notes, modify and remove notes on JList. The capacity of the Text is various so the size of cells is various.
    The JList is in JScrollPane configured like this:
    JList notesList = new JList();
    JScrollPane scrollPane = new JScrollPane(
                        JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
                        JScrollPane.HORIZONTAL_SCROLLBAR_NEVER
    scrollPane.setViewportView(notesList);This scrollPane is put on the left component in the JSplitPane.
    When I put one note with any capacity I want, word wrapping works great even if I move the splitter. The size of cells in JList changes as I want. When JList has more width the cells have less height, when JList has less width the cells height grows because of text wrapping.
    Problem
    Sometimes and I don't know when and why the cells size is fixed.
    I put new note to the list, JList lays the cell, calculate the size and disply it. It is good but when I move splitter the size of the cell is the same. It seems that during moving the splitter the JTextArea doesn't calculate their size.
    I would like in every cell in JList to see whole text wrapped. When I make more width by slider I would like to see whole text with less number of rows. When I make less width with the slider I want to see whole text wrapped and more higher cells.
    Can someone help me where to looking for ideas.

    Hi.
    I have problem with JTextArea text wrapping. The JTextArea is used as ListCellRenderer in JList and it has set:
    textArea.setLineWrap(true);
    textArea.setWrapStyleWord(true);I can dynamically add new Notes, modify and remove notes on JList. The capacity of the Text is various so the size of cells is various.
    The JList is in JScrollPane configured like this:
    JList notesList = new JList();
    JScrollPane scrollPane = new JScrollPane(
                        JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
                        JScrollPane.HORIZONTAL_SCROLLBAR_NEVER
    scrollPane.setViewportView(notesList);This scrollPane is put on the left component in the JSplitPane.
    When I put one note with any capacity I want, word wrapping works great even if I move the splitter. The size of cells in JList changes as I want. When JList has more width the cells have less height, when JList has less width the cells height grows because of text wrapping.
    Problem
    Sometimes and I don't know when and why the cells size is fixed.
    I put new note to the list, JList lays the cell, calculate the size and disply it. It is good but when I move splitter the size of the cell is the same. It seems that during moving the splitter the JTextArea doesn't calculate their size.
    I would like in every cell in JList to see whole text wrapped. When I make more width by slider I would like to see whole text with less number of rows. When I make less width with the slider I want to see whole text wrapped and more higher cells.
    Can someone help me where to looking for ideas.

  • Problem with layout and changing content

    Hi, I`m new to Swing and I have a problem with layout.
    I want to make a menu using JButtons so that depending on which button you click you`ll get different content in the window. And first of all I don`t know how to center the buttons.
    I have a JFrame called GameWindow that has a JPanel field called content. My idea was to create a JPanel with buttons and then using ActionListeners change the JPanel held in 'content'.
    Here`s the code:
    public class GameWindow extends JFrame{     
         private static final long serialVersionUID = 1L;
         private JPanel content;
         private Player player;
         public GameWindow(){          
              super("Dawn Crystal");
              Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
              setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
              setSize((int)screenSize.getWidth(), (int)screenSize.getHeight());
              setExtendedState(MAXIMIZED_BOTH);
         public void mainMenu(){
              content = new MainMenu(this);
              Dimension dim = content.getSize();
              setLayout(null);                    
              Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
              int x = (int)((screen.getWidth() - dim.getWidth()) / 2);
              int y = (int)((screen.getHeight() - dim.getHeight()) / 2);
              int dimX = (int)dim.getWidth();
              int dimY = (int)dim.getHeight();          
              content.setBounds(x, y, 120, 120);          
              getContentPane().add(content);          
              setVisible(true);
         public void adventureScreen(){
              //so far empty
         public void createNewPlayer(){
              content.setVisible(false);
              content = new NewPlayerCreationWindow();
              getContentPane().add(content);          
              content.setVisible(true);
              //setVisible(true);
         public void setPlayer(Player p){ player=p; }
    public class MainMenu extends JPanel{     
         private static final long serialVersionUID = 1L;     
         private JPanel mainMenuButtons;
         private JButton newGame;
         private JButton loadGame;
         private JButton options;
         private JButton exit;
         public MainMenu(GameWindow par){
              mainMenuButtons = new JPanel();     
              //create buttons
              newGame = new JButton("NEW GAME");
              loadGame = new JButton("LOAD GAME");
              options = new JButton("OPTIONS");
              exit = new JButton("EXIT");
              //create action listeners
              newGame.addActionListener(new NewGameListener());
              exit.addActionListener(new ExitListener(par));     
              //add buttons to panel
              mainMenuButtons.setLayout( new GridLayout(4,1));
              mainMenuButtons.add(newGame);
              mainMenuButtons.add(loadGame);
              mainMenuButtons.add(options);
              mainMenuButtons.add(exit);     
              add(mainMenuButtons);          
    }When it displays the buttons are at the top of the frame rather than in the center - I thought that was how the default layout would behave. So that`s my first question - how to center it.
    Secondly I have NewPlayerCreationWindow written but when I call createNewPlayer() I get an empty frame - what am I doing wrong?
    Finally I`d like to ask how can I make the frame appear as maximized when the application is started? The setExtendedState(MAXIMIZED_BOTH); doesn`t help actually because the window`s height is too big and a part of window is hidden under the system bar. I want to have it maximized regardless of screen resolution.

    Use a [url http://java.sun.com/docs/books/tutorial/uiswing/layout/visual.html]Card Layout.

  • JComboBox With JTable as Editor

    Hi everybody
    I'm working with JTable and having a ComboBox as first CellEditor. for that purpose i used following code
            cmbFeeType.setModel(new javax.swing.DefaultComboBoxModel(DefaultFee.FeeTypeItemList()));       
            DefaultCellEditor DCEFeeType = new DefaultCellEditor(cmbFeeType);
            DCEFeeType.setClickCountToStart(2);here DefaultFee.FeeTypeItemList is a vector returns array. This is working fine except that the ComboBox remains visible till I dobule clik on a column for editing. Then It becomes invisible and works fine.
    my JComboBox is a seperate Control on a JFrame I do not want to use
    Class FeeTypeEditor extends JComboBox implements TableCellEditoras a ComboBox editor for JTable
    Please Help Me.

    Hi
    I am giving u a sample code which simulate the error
    * TestJTable.java
    * Created on August 5, 2008, 11:05 AM
    package TestJTable;
    import javax.swing.DefaultCellEditor;
    import javax.swing.table.TableColumn;
    * @author  yogi
    public class TestJTable extends javax.swing.JFrame {
        /** Creates new form TestJTable */
        public TestJTable() {
            initComponents();
            DefaultCellEditor ColumnEditor = new DefaultCellEditor(jComboBox1);
            ColumnEditor.setClickCountToStart(2);
            TableColumn column = jTable1.getColumnModel().getColumn(0);
            column.setCellEditor(ColumnEditor);       
        /** 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.
        // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
        private void initComponents() {
            jScrollPane1 = new javax.swing.JScrollPane();
            jTable1 = new javax.swing.JTable();
            jComboBox1 = new javax.swing.JComboBox();
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            getContentPane().setLayout(null);
            jTable1.setModel(new javax.swing.table.DefaultTableModel(
                new Object [][] {
                    {null, null, null, null},
                    {null, null, null, null},
                    {null, null, null, null},
                    {null, null, null, null}
                new String [] {
                    "Title 1", "Title 2", "Title 3", "Title 4"
            jScrollPane1.setViewportView(jTable1);
            getContentPane().add(jScrollPane1);
            jScrollPane1.setBounds(10, 10, 340, 180);
            jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
            getContentPane().add(jComboBox1);
            jComboBox1.setBounds(180, 220, 120, 20);
            pack();
        }// </editor-fold>//GEN-END:initComponents
         * @param args the command line arguments
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    TestJTable TJTable = new TestJTable();
                    TJTable.setExtendedState(MAXIMIZED_BOTH);               
                    TJTable.setVisible(true);
        // Variables declaration - do not modify//GEN-BEGIN:variables
        private javax.swing.JComboBox jComboBox1;
        private javax.swing.JScrollPane jScrollPane1;
        private javax.swing.JTable jTable1;
        // End of variables declaration//GEN-END:variables
    }Above code is generated by Netbeans IDE 6.0
    My promblem is that when you run the code the combobox JComboBox1 remains visible till i starts to edit the Table after once started editing it disappears.
    I want to avoid this
    thanks in advance

  • Where can I find a JClient demo with JTable ?

    Hi,
    Where can I find a good JClient demo with JTable and Bc4J?
    Thanks
    Friedhold

    Friedhold,
    there exist a JTable example on otn.oracle.com/products/jdev
    For example ther exists a component binding demo
    http://otn.oracle.com/sample_code/products/jdev/jclient/JClientBindingDemo.zip
    that also shows a table
    and a sorter demo that shows how to sort JTables with JClient
    http://otn.oracle.com/sample_code/products/jdev/jclient/TableSorter.zip
    Finally, a demo that shows how to replace a table cell by a combo box using the table cell renderer
    http://otn.oracle.com/sample_code/products/jdev/jclient/JTableCombo.zip
    Frank

  • No scrollbar with JTable

    Hello!!
    I'm working with JTable, and that table is larger than the JFrame. I want to attach a scrollbar onto it so that entire table can be viewable...I used JScrollPane in NetBeans.. but it is not working....
    is there any way out???
    plz help!!!
    thanks in adv..

    There's a well known deficiency in JTable that prevents horizontal scrollbars from appearing depending on the specific display options indicated for the JTable instance.
    Some searching the bug database should provide information and a workaround.

  • My hard drive died last week, and I needed to install a new one.  Previously, I was able to save a .doc with text and inserted photo to .pdf and then to .jpg.  Now I can get the .pdf but can't determine what to do to convert to .jpg.  Does anyone know ?

    My hard drive died last week, and I needed to install a new one.  Previously, I was able to save a .doc with text and inserted photo to .pdf and then to .jpg.  Now I can get the .pdf but can't determine what to do to convert to .jpg.  Does anyone know ?

    Rather than do that, which means starting over from scratch, losing all your edits, organisation and so on, why not simply use iPhoto Library Manager to revert the Library to the older version? Easier, less destructive.
    The instructions on that are here
    If you really want to start over: you can access the Originals folder simply by going to your Pictures Folder and finding the iPhoto Library there. Right (or Control-) Click on the icon and select 'Show Package Contents'. A finder window will open with the Library exposed.

  • Problem with JPGs Downlaoded with Nikon Transfer - Can't Apply Develop Settings in Bridge CS4 and ACR 5.3 Settings Don't Stick

    I have found what I believe is a "problem" with JPGs downloaded using Nikon Transfer (ver 1.4.1) and processing same in Adobe Bridge CS4 (Develop Settings) and/or Adobe Camera Raw 5.3 (Photoshop CS4 and Elements 6 as hosts).
    Anyone using these programs in their workflow?
    The problem, quite simply, is that neither ACR settings (nor Bridge CS4 Develop Settings) "stick" when applied to JPGs that have been downloaded via Nikon Transfer ver 1.4.1.
    The same images from the same cameras (D300 and D90), downloaded moments later using Nikon's predecessor software PictureProject work just fine in both Bridge and ACR.  Develop Settings appled in Bridge immediately are seen, and JPGs opened in ACR, and settings applied, then "Done" immediately stick and are reflected in Bridge.
    If someone else is processing their JPGs in this manner, please let me know, as I have reported the problem to both Nikon and Adobe, and although I have tested it on two different cameras and two differnt laptops, I would like to get an impartial result as well.
    One other test, the problem does not seem to affect Nikon's RAW (NEF) format files downloaded from a D2x using Nikon Transfer.  More/different test are forthcoming.
    Thanks
    jeff

    ALoverofNikon wrote:
    I have generally thought that using the camera manufacturer's software was the safest and most conveneint
    Can't say one way or another on that statement about using manufacturers' software.  Since Adobe has to interpret each camera models' RAW format having the latest ACR seems to be the best option.  But if the manufacturers' software is more convenient, and you get the same results then use it.  But it does appear you are not getting what you want, so suggest you try a duplicate test run with images straight from the card reader to Bridge and see if you still have same problems.
    I do know it is widely recommended that using a quality card reader gives you more reliable data than getting the pictures straight from the camera.  Does not seem intuitive, but that has been experience of many.

  • JTable and ResultSet TableModel with big resultset

    Hi, I have a question about JTable and a ResultSet TableModel.
    I have to develop a swing JTable application that gets the data from a ResultSetTableModel where the user can update the jtable data.
    The problem is the following:
    the JTable have to contain the whole data of the source database table. Currently I have defined a
    a TYPE_SCROLL_SENSITIVE & CONCUR_UPDATABLE statement.
    The problem is that when I execute the query the whole ResultSet is "downloaded" on the client side application (my jtable) and I could receive (with big resultsets) an "out of memory error"...
    I have investigate about the possibility of load (in the client side) only a small subset of the resultset but with no luck. In the maling lists I see that the only way to load the resultset incrementally is to define a forward only resultset with autocommit off, and using setFetchSize(...). But this solution doesn't solve my problem because if the user scrolls the entire table, the whole resultset will be downloaded...
    In my opinion, there is only one solution:
    - create a small JTable "cache structure" and update the structure with "remote calls" to the server ...
    in other words I have to define on the server side a "servlet environment" that queries the database, creates the resultset and gives to the jtable only the data subsets that it needs... (alternatively I could define an RMI client/server distribuited applications...)
    This is my solution, somebody can help me?
    Are there others solutions for my problem?
    Thanks in advance,
    Stefano

    The database table currently is about 80000 rows but the next year will be 200000 and so on ...
    I know that excel has this limit but my JTable have to display more data than a simple excel work sheet.
    I explain in more detail my solution:
    whith a distribuited TableModel the whole tablemodel data are on the server side and not on the client (jtable).
    The local JTable TableModel gets the values from a local (limited, 1000rows for example) structure, and when the user scroll up and down the jtable the TableModel updates this structure...
    For example: initially the local JTable structure contains the rows from 0 to 1000;
    the user scroll down, when the cell 800 (for example) have to be displayed the method:
    getValueAt(800,...)
    is called.
    This method will update the table structure. Now, for example, the table structure will contain data for example from row 500 to row 1500 (the data from 0 to 499 are deleted)
    In this way the local table model dimension will be indipendent from the real database table dimension ...
    I hope that my solution is more clear now...
    under these conditions the only solutions that can work have to implement a local tablemodel with limited dimension...
    Another solution without servlet and rmi that I have found is the following:
    update the local limited tablemodel structure quering the database server with select .... limit ... offset
    but, the select ... limit ... offset is very dangerous when the offset is high because the database server have to do a sequential scan of all previuous records ...
    with servlet (or RMI) solution instead, the entire resultset is on the server and I have only to request the data from the current resultset from row N to row N+1000 without no queries...
    Thanks

  • How can i use jpg extension with forms 10g and webutil

    I have a form with webutil and i want to open imege jpg extension but thier are Bmp but my
    image jpg and image item has no jpg extension .
    How can i use jpg extension with forms 10g and webutil ?

    You can use the JFIF image format for jpg files.

  • When I import TIF and JPG files with same metadata, only the TIF files are imported. How can I change that?

    I have imported and renamed TIF and JPG files with the same metadata re recording date and time. Only the TIF files are imported, the JPG files remain unimproved. Thus I have in the Finder e. g. 13 image files in the same folder in which Lightroom only finds 10 files. Any ideas for resolution welcome!
    Thanks

    Turn off the option Preferences > General > Treat JPEG Files Next To Raw Files As Separate Photos.  Then do an import again.  It appears that, in this instance, LR considers a TIFF to be a "raw" file.

  • Some GIFs and JPGs appearing with yellow "wash" when loading in Safari

    Hi,
    I've flicked through forums, google, and called my top graphics people but nobody can seem to help, or has ever even heard of, my issue.
    Here it is in a nutshell:
    Some GIFs and JPGs appear with a yellow "wash" when being loaded in Safari. I can confirm this is happening on 3 different Macs, and even on a PC running Safari.
    Safari 3.1.1 on Windows XP
    Safari 3.1.2 on Mac OSX 10.5.5
    Here's some examples of it occurring:
    http://staging.tomatosource.com.au/test/bad.jpg
    http://staging.tomatosource.com.au/test/bad.gif
    You might need to refresh the page in Safari a couple of times to see the flicker but it's there.
    I've tried:
    - resaving images with and without "progressive" and "interlaced"
    - a variety of different colour palettes
    - taking a screenshot of the image, putting back into Photoshop and resaving
    Has anybody seen this issue before? Unfortunately I can't go live with this site until I fix this very strange error.
    Any comments would be greatly appreciated!
    Cheers,
    Jase.

    Totally independently from your current problem, Safari is cr@p. Dump it.
    All Apple applications, from the Finder through Preview and iPhoto to Safari, assign Monitor RGB to ALL untagged images, even if they were created or saved in sRGB.
    The only current properly color-managed web browser is Firefox 3.0.1. Just keep in mind that you have to enable color management deep inside the guts of Firefox.
    See this existing thread in the Adobe Photography forum:
    Ramón G Castañeda, "Beware of using Adobe Web Galleries" #49, 14 Sep 2008 4:52 pm

Maybe you are looking for