Why does the scroll disapear?

Hello,
The initial state of this program is what I want.
But after I press on the "expand" / "collapse" the horizontal scroll disapears.
If I do manual resizing the scroll shows up.
What is wrong?
import javax.swing.*;
import javax.swing.table.AbstractTableModel;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class FixedColumnExample extends JFrame {
    Object[][] data;
    JTable[] tables = new JTable[3];
    JPanel panel = new JPanel() {
        public Dimension getPreferredSize() {
            //Dimension dimension = super.getPreferredSize();
            double height=0;
            double width=0;
            for (int i =0; i < getComponentCount(); i++){
                height += getComponent(i).getPreferredSize().getHeight();
                width = Math.max(width, getComponent(i).getPreferredSize().getWidth());
            return new Dimension((int)width, (int)height);
    public FixedColumnExample() {
        super("Fixed Column Example");
        setSize(400, 200);
        data = new Object[][]{{"1", "11", "A", "1", "1", "1", "1", "1"},
                {"2", "22", "2", "B", "2", "2", "2", "2"},
                {"3", "33", "3", "3", "C", "3", "3", "3"},
                {"4", "44", "4", "4", "4", "D", "4", "4"},
                {"5", "55", "5", "5", "5", "5", "E", "5"},
                {"6", "66", "6", "6", "6", "6", "6", "F"}};
        panel.setLayout(new BoxLayout(panel, BoxLayout.PAGE_AXIS));
        for (int i = tables.length - 1; i >= 0; i--) {
            addTable(i);
        adjustTablesWidth();
        getContentPane().add(panel);
        pack();
    public void pack() {
        super.pack();    //To change body of overridden methods use File | Settings | File Templates.
        setSize(500, (int) getSize().getHeight());
    private void addTable(final int currTable) {
        AbstractTableModel fixedModel = new AbstractTableModel() {
            public int getColumnCount() {
                return 2;
            public int getRowCount() {
                return data.length - currTable;
            public Object getValueAt(int row, int col) {
                return data[row][col];
        AbstractTableModel model = new AbstractTableModel() {
            public int getColumnCount() {
                return data[0].length - 2 - currTable;
            public int getRowCount() {
                return data.length - currTable;
            public Object getValueAt(int row, int col) {
                return data[row][col + 2];
            public void setValueAt(Object obj, int row, int col) {
                data[row][col + 2] = obj;
            public boolean CellEditable(int row, int col) {
                return true;
        tables[currTable] = new JTable(model) {
            public Dimension getPreferredScrollableViewportSize() {
                Dimension dimension = super.getPreferredSize();
                //System.out.println("table - " + dimension.getWidth());
                return dimension;
        tables[currTable].setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
        tables[currTable].setTableHeader(null);
        JScrollPane scroll = new JScrollPane(tables[currTable]) {
            public Dimension getPreferredSize() {
                Dimension dimension = super.getPreferredSize();
                dimension.setSize(dimension.getWidth(), dimension.getHeight() + getHorizontalScrollBar().getPreferredSize().getHeight());
                //System.out.println("scroll - " + dimension.getWidth());
                return dimension;
        JViewport viewport = new JViewport();
        JTable fixedTable = new JTable(fixedModel);
        fixedTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
        viewport.setView(fixedTable);
        viewport.setPreferredSize(fixedTable.getPreferredSize());
        scroll.setRowHeaderView(viewport);
        JPanel content = new JPanel();
        content.setLayout(new BoxLayout(content, BoxLayout.PAGE_AXIS));
        content.add(scroll);
        panel.add(new CollapsiblePanel(content, this));
    private void adjustTablesWidth() {
        int result = getMaxTableWidth();
        for (int i = 0; i < tables.length; i++)
            if (result != (int) tables.getPreferredSize().getWidth())
tables[i].setPreferredSize(new Dimension(result, (int) tables[i].getPreferredSize().getHeight()));
private int getMaxTableWidth() {
int result = 0;
for (int i = 0; i < tables.length; i++) {
result = Math.max(result, (int) tables[i].getPreferredSize().getWidth());
return result;
public static void main(String[] args) {
FixedColumnExample frame = new FixedColumnExample();
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
frame.setVisible(true);
public class CollapseButton extends JButton implements ActionListener {
private Collapsible _collapsible;
public CollapseButton(Collapsible collapsible, int orientation) {
super();
_collapsible = collapsible;
setRolloverEnabled(true);
setFocusPainted(false);
setDefaultCapable(false);
setBorder(null);
setBorderPainted(false);
setMargin(new Insets(0, 0, 0, 0));
setToolTipText("Collapses/Expands Panel");
if (orientation == SwingConstants.VERTICAL) {
setText("collapse ");
} else {
setText("expand ");
addActionListener(this);
public void actionPerformed(ActionEvent evt) {
if (_collapsible.isCollapsed())
_collapsible.expand();
else
_collapsible.collapse();
public class CollapsiblePanel extends JPanel implements Collapsible {
private boolean _collapsed = false;
private JPanel _content;
private JFrame containingFrame;
private CollapseButton _collapseHorizontalButton;
private CollapseButton _collapseVerticalButton;
public CollapsiblePanel(JPanel content, JFrame containingFrame) {
_content = content;
this.containingFrame = containingFrame;
// Set layout direction
setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS));
setBackground(Color.red);
_collapseHorizontalButton = new CollapseButton(this, SwingConstants.HORIZONTAL);
_collapseVerticalButton = new CollapseButton(this, SwingConstants.VERTICAL);
expand();
public boolean isCollapsed() {
return _collapsed;
public boolean isCollapsible() {
return collapsible;
* Collapses the panel.
public void collapse() {
setVisible(false);
removeAll();
add(_collapseHorizontalButton);
_collapsed = true;
revalidate();
containingFrame.pack();
setVisible(true);
* Uncollapses the panel.
public void expand() {
setVisible(false);
removeAll();
add(_collapseVerticalButton);
add(_content);
_collapsed = false;
revalidate();
containingFrame.pack();
setVisible(true);
public Dimension getPreferredSize() {
Dimension dimension = super.getPreferredSize();
if (isCollapsed()) {
dimension.setSize(containingFrame.getSize().getWidth(), dimension.getHeight());
} else {
return dimension;

I do my set size because I want a fixed width and variable height.
Sorry for not including the Collapsible, this is the full program.
import javax.swing.*;
import javax.swing.table.AbstractTableModel;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class FixedColumnExample extends JFrame {
    Object[][] data;
    JTable[] tables = new JTable[3];
    JPanel panel = new JPanel() {
        public Dimension getPreferredSize() {
            //Dimension dimension = super.getPreferredSize();
            double height = 0;
            double width = 0;
            for (int i = 0; i < getComponentCount(); i++) {
                height += getComponent(i).getPreferredSize().getHeight();
                width = Math.max(width, getComponent(i).getPreferredSize().getWidth());
            return new Dimension((int) width, (int) height);
    public FixedColumnExample() {
        super("Fixed Column Example");
        setSize(500, 200);
        data = new Object[][]{{"1", "11", "A", "1", "1", "1", "1", "1"},
                {"2", "22", "2", "B", "2", "2", "2", "2"},
                {"3", "33", "3", "3", "C", "3", "3", "3"},
                {"4", "44", "4", "4", "4", "D", "4", "4"},
                {"5", "55", "5", "5", "5", "5", "E", "5"},
                {"6", "66", "6", "6", "6", "6", "6", "F"}};
        panel.setLayout(new BoxLayout(panel, BoxLayout.PAGE_AXIS));
        for (int i = tables.length - 1; i >= 0; i--) {
            addTable(i);
        adjustTablesWidth();
        getContentPane().add(panel);
        pack();
    public void pack() {
        super.pack();    //To change body of overridden methods use File | Settings | File Templates.
        setSize(500, (int) getSize().getHeight());
    private void addTable(final int currTable) {
        AbstractTableModel fixedModel = new AbstractTableModel() {
            public int getColumnCount() {
                return 2;
            public int getRowCount() {
                return data.length - currTable;
            public Object getValueAt(int row, int col) {
                return data[row][col];
        AbstractTableModel model = new AbstractTableModel() {
            public int getColumnCount() {
                return data[0].length - 2 - currTable;
            public int getRowCount() {
                return data.length - currTable;
            public Object getValueAt(int row, int col) {
                return data[row][col + 2];
            public void setValueAt(Object obj, int row, int col) {
                data[row][col + 2] = obj;
            public boolean CellEditable(int row, int col) {
                return true;
        tables[currTable] = new JTable(model) {
            public Dimension getPreferredScrollableViewportSize() {
                Dimension dimension = super.getPreferredSize();
                //System.out.println("table - " + dimension.getWidth());
                return dimension;
        tables[currTable].setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
        tables[currTable].setTableHeader(null);
        JScrollPane scroll = new JScrollPane(tables[currTable]) {
            public Dimension getPreferredSize() {
                Dimension dimension = super.getPreferredSize();
                dimension.setSize(dimension.getWidth(), dimension.getHeight() + getHorizontalScrollBar().getPreferredSize().getHeight());
                //System.out.println("scroll - " + dimension.getWidth());
                return dimension;
        JViewport viewport = new JViewport();
        JTable fixedTable = new JTable(fixedModel);
        fixedTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
        viewport.setView(fixedTable);
        viewport.setPreferredSize(fixedTable.getPreferredSize());
        scroll.setRowHeaderView(viewport);
        JPanel content = new JPanel();
        content.setLayout(new BoxLayout(content, BoxLayout.PAGE_AXIS));
        content.add(scroll);
        panel.add(new CollapsiblePanel(content, this));
    private void adjustTablesWidth() {
        int result = getMaxTableWidth();
        for (int i = 0; i < tables.length; i++)
            if (result != (int) tables.getPreferredSize().getWidth())
tables[i].setPreferredSize(new Dimension(result, (int) tables[i].getPreferredSize().getHeight()));
private int getMaxTableWidth() {
int result = 0;
for (int i = 0; i < tables.length; i++) {
result = Math.max(result, (int) tables[i].getPreferredSize().getWidth());
return result;
public static void main(String[] args) {
FixedColumnExample frame = new FixedColumnExample();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
/*frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
frame.setVisible(true);
public class CollapseButton extends JButton implements ActionListener {
private Collapsible _collapsible;
public CollapseButton(Collapsible collapsible, int orientation) {
super();
_collapsible = collapsible;
setRolloverEnabled(true);
setFocusPainted(false);
setDefaultCapable(false);
setBorder(null);
setBorderPainted(false);
setMargin(new Insets(0, 0, 0, 0));
setToolTipText("Collapses/Expands Panel");
if (orientation == SwingConstants.VERTICAL) {
setText("collapse ");
} else {
setText("expand ");
addActionListener(this);
public void actionPerformed(ActionEvent evt) {
if (_collapsible.isCollapsed())
_collapsible.expand();
else
_collapsible.collapse();
public class CollapsiblePanel extends JPanel implements Collapsible {
private boolean _collapsed = false;
private JPanel _content;
private JFrame containingFrame;
private CollapseButton _collapseHorizontalButton;
private CollapseButton _collapseVerticalButton;
public CollapsiblePanel(JPanel content, JFrame containingFrame) {
_content = content;
this.containingFrame = containingFrame;
// Set layout direction
setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS));
setBackground(Color.red);
_collapseHorizontalButton = new CollapseButton(this, SwingConstants.HORIZONTAL);
_collapseVerticalButton = new CollapseButton(this, SwingConstants.VERTICAL);
expand();
public boolean isCollapsed() {
return _collapsed;
public boolean isCollapsible() {
return collapsible;
* Collapses the panel.
public void collapse() {
setVisible(false);
removeAll();
add(_collapseHorizontalButton);
_collapsed = true;
revalidate();
containingFrame.pack();
setVisible(true);
* Uncollapses the panel.
public void expand() {
setVisible(false);
removeAll();
add(_collapseVerticalButton);
add(_content);
_collapsed = false;
revalidate();
containingFrame.pack();
setVisible(true);
public Dimension getPreferredSize() {
Dimension dimension = super.getPreferredSize();
if (isCollapsed()) {
dimension.setSize(containingFrame.getSize().getWidth(), dimension.getHeight());
} else {
return dimension;
public interface Collapsible {
final boolean collapsible = true;
public void collapse();
public void expand();
public boolean isCollapsible();
public boolean isCollapsed();

Similar Messages

  • Why does the scroll sometimes not work?

    I know this question has been posted before, but my problem is slightly different. I have synpatics touchpad with my laptop. Sometimes, the touchpad scrolling does not work, but my actual wireless mouse scrolling works. Sometimes my wireless mouse scrolling does not work, but my touchpad scrolling works. Why does this happen? The problem itself is not consistent.
    The scrolling usually stops suddenly. Scrolling works perfectly fine for a webpage, but then it stops working during the middle of my scrolling. This problem started to bug me.
    The problem still exists with Firefox reinstalled and without add-ons.

    Does this happen on another browser? (eg. Chrome, IE)

  • Why does the scroll mouse freez when opening a pdf file in the browser?

    My scroll mouse is freezing each time I opened a pdf file in different tab in the browser. When I close the tab (that open a pdf file), the scroll mouse back to normal.
    I use foxit to read a pdf file. I dont know if the problem occur when you use adobe product.

    Kaliber wrote:
    Before proceeding you must first launch Adobe Acrobat and accept the Enduser license agreement.
    And, did you do that?  The message will no longer occur once you opened Adobe Reader & accept the EULA.

  • Why does the scroll wheel stop working since version 3.6

    Ever since the installation of version 4.0 there has been an issue with the scroll wheel not working properly. For the most part it works but occasionally the wheel stops working and no longer scrolls the pages up and down. At this point I need to close out the browser and reopen.

    Thanks for the reply, I have checked my driver and shows it is up to date. I manually updated the driver again but as it was unzipping the files all the existing files were being replaced with files with the same build date so I'm pretty sure the mouse driver is up to date.
    Is IE Tab an addon for firefox? If so then I don't have it installed.

  • Why does the scroll down menus don't work on my laptop at home but work when I'm on my laptop at work?

    It's really weird. When I'm on my laptop at home, the scroll down menu appears but disappears in less than a second. When I bring my laptop to work and use the scroll down menus there, they appear and they don't disappear? It's very annoying that I can't use the menus at home, can someone help me?

    The two things to try first are renewing your network lease, forgetting the network and if that doesn't work to reset all networks. You might have tried one of these but I'll repeat the steps just to make sure.
    Settings > Wi-Fi > tap the blue arrow to the right of your network name > Renew Lease
    If that doesn't work then
    Settings > Wi-Fi > tap the blue arrow to the right of your network name > Forget this Network
    If that doesn't work
    Settings > General > Networks > Reset All Networks > then reset your iPhone by
    Press and hold the Home and Sleep buttons simultaneously ignoring the red slider until the Apple logo appears. Let go of the buttons and let the device restart.
    I hope one of these will help.

  • Why does the page not move smothe when i scroll?

    Why does the page not move smothe when i scroll?
    Sometimes it even move slower then i Scroll?
    I use a Mac and i have tried to reinstall the program.

    Start Firefox in [[Safe Mode]] to check if one of the add-ons is causing the problem (switch to the DEFAULT theme: Tools > Add-ons > Appearance/Themes).
    * Don't make any changes on the Safe mode start window.
    In Firefox 4 [http://kb.mozillazine.org/Safe_mode Safe mode] disables extensions and disables hardware acceleration.
    * Tools > Options > Advanced > General > Browsing: "Use hardware acceleration when available"
    See:
    * [[Troubleshooting extensions and themes]]

  • Why does the swiping not work to scroll down the screen

    why does the swiping not work to scroll down the screen or swipe from side to side

    Thank you for the reply. But can you tell me what this configuration is about and how I should do this?

  • Why does the scrollbar sometimes appear then disappear?

    Why does the scrollbar sometimes appear but then disappear? When I open a window the scrollbar is sometimes there for a just few seconds. If I select it within a few seconds and use it everything works fine. If I don't use it, it disappears and I can't get it back. How do I get the scroll bar back? Why won't the scrollbar show up at all on web pages?

    It's a feature which is supposed to enhance your interface with your Mac and its operating system on screen. It is a "visual aid" that is meant to remove on screen clutter.
    You can go to 'system prefs/ click general/ click 'Show scroll "Always button"
    There you go
    Cheers

  • Why is the scroll function not working after accessing the voice feature in settings?

    Why is the scroll function not working after accessing the voice feature in settings?

    For some prerecorded audio files the Transpose slider will not work reliably. I found no clear pattern, when it does and when not.
    If all fails, create a loop from the audio file. Select the region in the track and use the command "File: Add region to Loop library".
    Set the current key and tempo, name the loop, and save the loop.
    Now add it from the loop browser to a new track and delete your old track. The search field in the Loop browser will help you to find the loop quickly.
    You will be able to transpose the sample as described above, like a regular loop.
    For example - a audio file turned into a loop and transposed:

  • When I send a group email why does the address bar not present the names alphabetically?

    I frequently send emails to groups.  Sometimes, for one reason or another, I want to delete one or more contacts from the list that appears in the address bar.  Why does the list not  appear in alphabetical order and is there any way that I can edit my contact lists to make it do so? It means picking through a list one by one rather than scrolling down a list to find a contact in the correct order. 

    Basically I suggest you keep using Eudora.
    Like most of those moving now, they are unlikely to be happy with anything else. But then that is to be expected, you have clung to abondonware for 5+ years after it's replacement. People that dedicated are unlikely to be happy with anything else.
    The Business standard and professionalism are not based on the Eudora way of things. I suggest you stick undisclosed-recipients: into a google search box and get instructions on how to do things for all the major mail clients.
    Of note Thunderbird displays nothing in the To field, even though the undisclosed-recipients: is inserted in the outgoing mail.
    <blockquote>
    I have tried using Bcc, and indeed, the recipients are suppressed, but not as a group. I have to change every recipient address from To: to Bcc: manually.
    </blockquote>
    Perhaps if you use the buttons at the bottom of the contact pane to add the list to BCC you would not have to manually change anything. See https://support.mozilla.org/en-US/kb/addressing-email#w_selecting-the-entries-from-the-contact-pane
    I am interested however how when you added a list so it appears on multiple lines. All I see is he list name until after I press the send button and look at it in the sent folder.
    Most people use another address entirely in the to:, in conjunction with the BCC list. It verifies the list mail is sent by coming back and you can put whatever you like in the display name of the email address.

  • Why does the new operating system not delete the moved files from their original location - it seems like an enormous waste of space, time and effort to clean up every file once you've moved it

    Why does the new operating system not delete the moved files from their original locations - it seems like an enormous waste of space, time and effort to clean up every file once you've moved it - also, when transferring large amounts of files it becomes a very large problem remembering which files were transferred and which not.

    You're going to need to be more specific, as I'm not quite sure I understand what you're talking about.
    If you're referring to copying from an external hard drive or flash drive, and you want to actually move files rather than copy them, you can hold down the option key to force it to do a "move" rather than a "copy." This is not new behavior, though... the Mac OS has worked this way as long as I can recall (and I've been using it since 1984).
    If you're having a problem with trying to move files from one place to another on a single drive causing them to be copied instead, that is likely because of some permissions issue preventing you from actually being able to move them.

  • Why does the screen on my iPad mini jump around?  Apps open and close, I can't get back to the home screen.  Is my mini possessed?

    Why does the screen on my iPad mini start jumping--larger, smaller--can't close apps.  I reboot and still it happens.  Any suggestions?

    If the unit has NEVER been jailbroke, first try a system reset.  It cures many ills and it's quick, easy and harmless...  Hold down the on/off switch and the Home button simultaneously until you see the Apple logo.  Ignore the "Slide to power off" text if it appears.  You will not lose any apps, data, music, movies, settings, etc.
    If the Reset doesn't work, try a Restore.  Note that it's nowhere near as quick as a Reset.  It could take well over an hour!  Connect via cable to the computer that you use for sync.  From iTunes, select the iPad/iPod and then select the Summary tab.  Follow the on-screen directions for Restore and be sure to say "yes" to the backup.  You will be warned that all data (apps, music, movies, etc.) will be erased but, as the Restore finishes, you will be asked if you wish the contents of the backup to be copied to the iPad/iPod.  Again, say "yes."
    At the end of the basic Restore, you will be asked if you wish to sync the iPad/iPod.  As before, say "yes."  Note that that sync selection will disappear and the Restore will end if you do not respond within a reasonable time.  If that happens, only the apps that are part of the IOS will appear on your device.  Corrective action is simple -  choose manual "Sync" from the bottom right of iTunes.
    If you're unable to do the Restore, go into Recovery Mode per the instructions here.  You WILL lose all of your data (game scores, etc,) but, for the most part, you can redownload apps and music without being charged again.  Also, if you have IOS-7, read this.

  • Why does the iPhone convert animated .GIF images?

    I saved a bunch of animated .GIF files on my iPhone.
    When I imported them onto my computer, they were all single framed .JPG files.
    Why does the iPhone convert the images, and is there any way to prevent this?
    Thanks!

    you can play gif in webView ,just the same way you load a jpeg or png..
    NSString *path = [[NSBundle mainBundle] pathForResource:@"santa" ofType:@"gif"];
    NSURL *url = [NSURL fileURLWithPath:path isDirectory:NO];
    /* Load the request. */
    [myWebView loadRequest:[NSURLRequest requestWithURL:url]];
    the gif that is locally saved will be loaded.

  • Why does the error message "Microsoft Outlook must be closed because an error occurred" keep coming up?

    why does the error message "Microsoft Outlook must be closed because an error occurred" keep coming up?

    Reboot the machine.

  • "Why Does The Shuffle Songs Feature Perform So Poorly?"

    How'dee,
    I have an iPod 160G Classic, I've spent the last 3 months taking my 2,247 "Owned" cd's (I'm a retired dj), an ripped them with identical settings and transfered them flawlessly onto my iPod. I now have a total of 26,311 tracks on my iPod. "FWI"- I tranfered each "Complete" album, no individual tracks... I had been looking forward to being able to Shuffle through my music and not actually listening to individual ablums at a time. I work as a security guard and I am able/allowed to use my iPod via my Bose dock.
    I have been listening to my iPod in Shuffle Mode for 3 full weeks now and I am finding that I'm continually listening to the same 30 or so albums out of the full 2,247 that are on my iPod, sometimes it will actually play a song from a perticular album and then play Another track from that same album within the next 10 - 15 tracks!
    In the end I'm hearing One New Track that I haven't heard yet every 15 - 20 or so tracks while at the same time I'm hearing tracks from the same albums and or groups throughout the 15 - 20 tracks that have played... As an example, I have 4 albums from the group KISS, I hear tracks from those 4 albums atleast 3 - 5 times every day - day & half... Why does the Shuffle Mode work so poorly? I can't see for the life of me why the so-called "Shuffle Mode" doesn't Shuffle through "ALL" of the 2,247 tracks that are on the iPod.
    I've even gone as far as to use a cable to plug my iPod into a regular radio allowing me "Not" to charge my iPod until the battery is almost dead, allowing it to play continuously for my entire 8 hour shift in Shuffle Mode. And then just resume the next shift for another 8 hours, again, until the battery is almost dead. I've gotten around 35+ hours per charge over the last 2 weeks.
    "My whole reason for spending $350. on this iPod was so that I could listen to my album collection as though I were listening to a radio... shuffling through "All" of my tracks. I'm now sitting here kicking myself in the a$$ for seemingly wasting my money..."
    Any insight would be appreciated.
    And just to let it be known, I have attempted to play tracks manually just to see if they are even workable transfers and I haven't come across any problems with the music that I put on the iPod.
    The ToxicOne...

    It is true - "random" does not mean that you should not hear two songs from the same album (or artist) in close proximity. However, as the number of albums increases, the likelihood of hearing multiple (sometimes three or four) cuts from the same album decreases. And the chances of this happening EVERY time a new shuffle is started is even less likely. Comparing flipping a coin (a 0.5 probability of any given result) to a library with over 2000 albums (a .0005 probability of a track from any given album) is comparing apples to oranges. Also, given one of the posts above which indicated hearing the same *progression of songs* indicates that the mathematical algorithm used by Apple to simulate randomness (as there is no such thing as true randomness in computer programming) is just not up to snuff.

Maybe you are looking for

  • Code for 'screen refresh' in webDynpro for ABAP

    Hi all, can I get some sample code for refreshing the screen in webDynpro for ABAP?? Its urgent, awaiting for your early helpful replies. thanks, Hema. Edited by: Hema Sundar Munagapati on Jan 19, 2008 4:00 PM

  • Signature issue in Adobe Reader XI (Unable to sign)

    I have Adobe Reader XI installed both on my work laptop and my home PC. I have the same PDF document on both my home computer and work laptop. (and yes, I have sent a new copy of the working document to my work computer to ensure it hasn't been modif

  • Udev thinks there's a non-existent drive

    I have an error [sdb] Asking for cache data failed [sdb] Assuming drive cache: write through that is repeatedly output to my tty1 console (it outputs roughly every 50 seconds) and to my error logs. The odd thing is that I have no sdb drive, which is

  • Can't load Lion because I don't have app store (and yes, I do have snow leopard fully updated)

    I was running Lion and everything was fine. Then, the hard drive on my iMac died and I just had a new one installed. After that, I loaded snow leopard and then did a restore of all my files from time machine (I later found out that i should have just

  • Programming DAQ Board using C++ Builder 6.0

    "Hello, I'm trying to program PCI-DIO-32HS using C++ Builder 6.0 and DAQ driver 6.9.3 in Windows XP. I added nidaq32b.lib and nidex32b.lib to my C++ project, and compiled C++ file slightly changed from Borland C example, but always got the error mess