是不是你没有初始化m_bar,你只初始化了第一个
你试试下面这段for (int i=0; i<xslots; i++) {
m_bars[i] = new JPanel();
m_bars[i].setOpaque (false);
m_bars[i].setBackground (new Color(ran.nextInt(256), ran.nextInt(256), ran.nextInt(256)));
add (m_bars[i]);
}