Resetting JProgressBar

The JProgressBar works great using a separate thread for the process and a Runnable thread for progress (calling SwingUtilities.invokeLater()), but I cannot get the darn thing to reset back to 0 for another run. A simple call to progressBar.setValue(0); does not accomplish this. Setting a reset flag (boolean) checked within the Runnable and calling SwingUtilities.invokeLater() doesn't accomplish this either. How the heck do I reset the progress bar for multiple successive activities?
Thanks,
Robert Templeton

This works for me:
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
public class ProgressExample extends JFrame implements ActionListener, Runnable {
     private JProgressBar progress = new JProgressBar(0, 100);
     private JButton start = new JButton("Start!");
     private static int[] sleeps = {20, 10, 40}; //milliseconds
     public ProgressExample() {
          super("Progress example");
          setDefaultCloseOperation(EXIT_ON_CLOSE);
          JPanel cp = (JPanel)getContentPane();
          cp.add(progress, BorderLayout.NORTH);
          start.addActionListener(this);
          cp.add(start);
          pack();
          setVisible(true);
     public void actionPerformed(ActionEvent e) {
          start.setEnabled(false);
          new Thread(this).start();
     public void run() {
          for (int sleep : sleeps) {
               progress.setValue(0);
               for (int i=1; i<101; i++) {
                    try {
                         Thread.sleep(sleep);
                    } catch (InterruptedException e) {
                         break;
                    progress.setValue(i);
          start.setEnabled(true);
     public static void main(String[] args) {
          new ProgressExample();
}-Muel

Similar Messages

  • Is there any way to animate a JSlider and a JProgressBar?

    Hi all,
    I'm working on an assignment using JSliders and JProgressBars in a Java application. I've been trying to let my JSlider and JProgressBar move by itself i.e. reset the slider's current value to a new one after a specific period of time...Tried using a timer and thread but just can't seem to get it moving. Is there any way to set the JSlider to update itself after a specified time period? Same goes for JProgressBar?
    At my wits' end, really appreciate if anyone can offer me some advice and help...Thanks.

    Hmm...use a timertask that resets the value and triggers a repaint in the event thread? That should work at least in theory.

  • JProgressBar inside JDialogBox doesn't show up.

    Hi,
    I have a problem and kind of stuck.
    Here is the scenario.....
    Inside my actionPerformed method I create an instance of a class that extends java.lang.Thread and inside this class run method I create an instance of another class that extends JDialog that contains a JProgressBar. Now when a user clicks a button on the main application window the actionPerformed gets executed and it shows a JProgressBar and then continues the execution of the actionPerformed method while the JProgressBar keeps on updating the status. But the problem is that the JDialog shows up but the JProgressBar inside it doesn't even show. here is the code snippet I am using
    public void actionPerformed(ActionEvent e)
    //some code here
    //class extends Thread and creates JDialog with JProgressBar in it
    //JDialogBox with JProgressBar in it shows here
    t = new ProgressThread();
    t.start();
    //some other code I do some other processing
    //here I am hidding and destroying the JProgressBar
    //inside the reset method I hide the JDialog and set it to null
    t.reset();
    //some more code
    } //end of actionPerform
    Now my problem is that JDialogBox does pop-up but the JProgressBar in it doesn't show. Any ideas what I am doing wrong. I even tried to create the instance of JDialog directly instead of using a separate Thread but it didn't work either.
    Thanks for any help

    The point being, AWT and Swing are, in general, not thread-safe.
    You must not do anything that modifies the appearance of any visible Swing component, such as JProgressBar, from your thread. This must be done in the AWT Event Dispatch Thread. But when the components are not visible, like when you are building your GUI and haven't set it to visible yet, this doesn't apply.
    What I do, when my threads need to update the GUI, is to create a Runnable to do it, then queue that to the AWT Event Dispatch Thread for execution by calling SwingUtilities.invokeLater(). Other people use this SwingWorker class.
    Note that event listener methods are called in the AWT Event Dispatch Thread, so you need to worry about this only in your own thread.
    It is said there are some Swing components that are thread-safe. Given the typical use of JProgressBar, too bad it isn't one of them.

  • JProgressBar in JTable overwrites cell bounds

    Problem: When the user resizes the table (during a update) so that the entire JProgressBar will no longer fit in the cell, the text of the JProgressBar will overwrite its surrounding controls.
    Sample code:
    import javax.swing.table.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.util.*;
    import java.awt.*;
    public class Main extends JFrame {
    public Main() {
    super("TableModel JProgressBar Demonstration");
    // create our own custom TableModel
    DownloadTableModel downloadModel = new DownloadTableModel();
    JTable table = new JTable(downloadModel);
    // add rows to our TableModel, each row is represented as a Download object
    downloadModel.addDownload(new Download("linuxmandrake.zip", 1234567));
    downloadModel.addDownload(new Download("flash5.exe", 56450000));
    downloadModel.addDownload(new Download("jdk1.2.2-007.zip", 20000000));
    // render the columns with class JProgressBar as such
    ProgressBarRenderer pbr = new ProgressBarRenderer(0, 100);
    pbr.setStringPainted(true);
    table.setDefaultRenderer(JProgressBar.class, pbr);
    // increase the height of the rows a bit
    table.setRowHeight((int) pbr.getPreferredSize().getHeight());
    // create the scroll pane and add the table to it.
    JScrollPane scrollPane = new JScrollPane(table);
    // add the scroll pane to this window.
    getContentPane().add(scrollPane, BorderLayout.CENTER);
    getContentPane().add(new JButton("Spacer"), BorderLayout.SOUTH);
    addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {
    System.exit(0);
    public static void main(String[] args) {
    Main main = new Main();
    main.pack();
    main.setVisible(true);
    // a simple object that holds data about a particular download
    // it starts a thread and increases the progress of "downloading"
    // in a random manner
    class Download extends Observable implements Runnable {
    private Thread thisThread;
    private String filename;
    private int filesize;
    private float progress;
    public Download(String filename, int filesize) {
    this.filename = filename;
    this.filesize = filesize;
    progress = 0.0f;
    thisThread = new Thread(this);
    thisThread.start();
    public String getFilename() { return filename; }
    public int getFilesize() { return filesize; }
    public float getProgress() { return progress; }
    public String toString() {
    return "[" + filename + ", " + filesize + ", " + progress + "]"; }
    public void run() {
    Random r = new Random();
    int count = 0;
    while (count < filesize) {
    int random = Math.abs(r.nextInt() % 100000);
    count += random;
    if (count > filesize) count = filesize;
    progress = ((float) count / filesize) * 100;
    // notify table model (and all other observers)
    setChanged();
    notifyObservers(this);
    try { thisThread.sleep(500); } catch(InterruptedException e) { }
    class DownloadTableModel extends AbstractTableModel implements Observer {
    // holds the strings to be displayed in the column headers of our table
    final String[] columnNames = {"Filename", "Filesize", "Progress"};
    // holds the data types for all our columns
    final Class[] columnClasses = {String.class, Integer.class, JProgressBar.class};
    // holds our data
    final Vector data = new Vector();
    // adds a row
    public void addDownload(Download d) {
    data.addElement(d);
    // the table model is interested in changes of the rows
    d.addObserver(this);
    fireTableRowsInserted(data.size()-1, data.size()-1);
    // is called by a download object when its state changes
    public void update(Observable observable, Object o) {
    int index = data.indexOf(o);
    if (index != -1)
    fireTableRowsUpdated(index, index);
    public int getColumnCount() {
    return columnNames.length;
    public int getRowCount() {
    return data.size();
    public String getColumnName(int col) {
    return columnNames[col];
    public Class getColumnClass(int c) {
    return columnClasses[c];
    public Object getValueAt(int row, int col) {
    Download download = (Download) data.elementAt(row);
    if (col == 0) return download.getFilename();
    else if (col == 1) return new Integer(download.getFilesize());
    else if (col == 2) return new Float(download.getProgress());
    else return null;
    public boolean isCellEditable(int row, int col) {
    return false;
    // a table cell renderer that displays a JProgressBar
    class ProgressBarRenderer extends JProgressBar implements TableCellRenderer {
    public ProgressBarRenderer() {
    super();
    public ProgressBarRenderer(BoundedRangeModel newModel) {
    super(newModel);
    public ProgressBarRenderer(int orient) {
    super(orient);
    public ProgressBarRenderer(int min, int max) {
    super(min, max);
    public ProgressBarRenderer(int orient, int min, int max) {
    super(orient, min, max);
    public Component getTableCellRendererComponent(
    JTable table, Object value, boolean isSelected, boolean hasFocus,
    int row, int column) {
    setValue((int) ((Float) value).floatValue());
    return this;
    }

    I do not have an answer for you.
    However, I did skim through a solution to your problem. Since it didn't solve my problem at the time, I didn't try out the code.
    In the book "Core Web Programming", Second Edition, Marty Hall and Larry Brown, Sun Microsystems Press, they do discuss making a progress bar synchronize with a file download and why you have to make it multi-threaded.
    If you can head over to your bookstore, it's Chapter 15.6 and consists of about two and a half pages. Even better, the example's source code is available for free on their web site at:
    http://www.corewebprogramming.com
    Click on the hypertext link to Chapter 15, then scroll down and grab FileTransfer.java near the bottom of the page.
    Hope this at least points you in the right direction, but I admit I wouldn't even allow the user to resize the table containing the progress bar to begin with. If I absolutely had to, I'd force the progress bar thread to reset itself each time it received a window-resizing event.

  • JProgressBar Shows Up Too Late--How Do I Update the Display Immediately?

    My application has a split pane, the bottom page of which is a panel containing an image that takes a long time to load. For that reason, I want the bottom pane to be a panel with a progress bar until the image is ready.
    Here's a simple version of my code:
    JPanel progressBarPanel = new JPanel();
    JProgressBar progressBar = new JProgressBar(0, 1);
    progressBar.setIndeterminate(true);
    progressBarPanel.add(progressBar);
    splitPane.setBottomComponent(progressBarPanel);  // line A
    splitPane.invalidate();
    JPanel imagePanel = createImagePanelSlowly();  // line B
    splitPane.setBottomComponent(imagePanel);
    splitPane.invalidate();However, this doesn't work; the display isn't updated until the image is ready. What do I need to put in between lines A and B so that the progress bar shows up before line B starts executing? I've tried validate(), repaint(), using threads and setting the size of the frame to zero and back again, but none of those seem to work. If I pop up a dialog after I add the progress bar to the split pane, the progress bar shows up as soon as the dialog shows up.
    This code is inside a ListSelectionListener on a table elsewhere on the GUI, in case that's relevant.
    I think I don't understand some basic principle about how to get the GUI to be updated immediately after I make some change.

    As suggested, I have prepared a compilable demonstration. I figured out that the
    problem I was having before was that I was trying to join the background and
    event-processing threads (I had been using threads, but I didn't show that code in the
    version I posted since it didn't seem to matter). After I eliminated the join, the progress
    bar is displayed, but the user can do other things while the image is loading. I want to
    prevent the user from doing that. I switched the cursor to a wait cursor, but that doesn't
    seem to prevent it.
    In particular, while it is loading, the user should be able to:
    * resize the window
    * minimize the window and bring it back up
    * ideally, adjust the split pane, but that isn't critical
    but NOT:
    * select a different row in the table
    * sort the table
    * use the menus
    Any attempt by the user to perform the disallowed actions should have no effect either
    while the image is loading or after it has finished.
    (That is, the disallowed events should not simply be queued for later.)
    I wonder if there is a simple way to accomplish that.
    Here is a demo (3 classes):
    import java.awt.Color;
    import java.awt.Component;
    import java.awt.Cursor;
    import java.awt.Font;
    import java.awt.GraphicsEnvironment;
    import java.awt.Rectangle;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.util.Enumeration;
    import java.util.Vector;
    import javax.swing.Box;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JProgressBar;
    import javax.swing.JScrollPane;
    import javax.swing.JSplitPane;
    import javax.swing.JTable;
    import javax.swing.ListSelectionModel;
    import javax.swing.UIManager;
    import javax.swing.border.Border;
    import javax.swing.border.EtchedBorder;
    import javax.swing.event.ListSelectionEvent;
    import javax.swing.event.ListSelectionListener;
    import javax.swing.table.DefaultTableModel;
    import javax.swing.table.TableColumn;
    * <p>Copyright (C) 2006
    * <p>All rights reserved.
    public class DisableGUIDemo extends JFrame {
         static final Rectangle SCREEN_SIZE = GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds();
         static final Color HYACINTH = new Color(160, 96, 192);
         static final Color LAVENDER = new Color(224, 208, 232);
         Vector<Vector<String>> demoTableData = new Vector<Vector<String>>();
         Vector<String> demoColumnNames = new Vector<String>();
         protected JTable dataTable;
         protected JScrollPane tablePane;
         protected JSplitPane mainPane;
         protected JPanel imageArea;
         private DefaultTableModel dataModel;
          * This creates a new <code>DisableGUIDemo</code> instance, builds the UI
          * components and displays them.
         private DisableGUIDemo(){
              super();
              setTitle("Demo");
              // Ugly:  Initialize the table with demo data.
              Vector<String> demoTableFirstRow = new Vector<String>();
              demoTableFirstRow.add("18");
              demoTableFirstRow.add("13");
              demoTableFirstRow.add("11");
              demoTableFirstRow.add("19");
              demoTableFirstRow.add("19");
              demoTableData.add(demoTableFirstRow);
              Vector<String> demoTableSecondRow = new Vector<String>();
              demoTableSecondRow.add("5");
              demoTableSecondRow.add("3");
              demoTableSecondRow.add("4");
              demoTableSecondRow.add("1");
              demoTableSecondRow.add("3");
              demoTableData.add(demoTableSecondRow);
              Vector<String> demoTableThirdRow = new Vector<String>();
              demoTableThirdRow.add("11");
              demoTableThirdRow.add("12");
              demoTableThirdRow.add("10");
              demoTableThirdRow.add("18");
              demoTableThirdRow.add("18");
              demoTableData.add(demoTableThirdRow);
              demoColumnNames.add("Column 0");
              demoColumnNames.add("Column 1");
              demoColumnNames.add("Column 2");
              demoColumnNames.add("Column 3");
              demoColumnNames.add("Column 4");
              dataModel = new DefaultTableModel(demoTableData, demoColumnNames);
              initialize(); 
          * The <code>initialize</code> method builds and displays up the GUI.
         private void initialize() {
              addWindowListener(new WindowAdapter()  {
                        public void windowClosing(WindowEvent e)  {
                             System.exit(0);
              // Build the GUI panels.
              setJMenuBar(menuBar());
              createSplitPane(true);
              setLocation(SCREEN_SIZE.x, SCREEN_SIZE.y);
              setSize(SCREEN_SIZE.width, SCREEN_SIZE.height - 20);
              setVisible(true); 
          * This creates and returns the menu bar.  The actions to take in response to menu-option selections are
          * specified here.
          * @return the menu bar
         private JMenuBar menuBar(){
              JMenuBar menuBar = new JMenuBar();
              JMenu fileMenu = new JMenu("File");
              fileMenu.setFont(fileMenu.getFont().deriveFont(10.0f));
              JMenuItem reset = new JMenuItem("Reset");
              reset.setFont(reset.getFont().deriveFont(10.0f));
              reset.addActionListener(new ActionListener(){
                        // When the user resets the display, the configuration panel is recreated.
                        public void actionPerformed(ActionEvent e){
                             dataModel = new DefaultTableModel(demoTableData, demoColumnNames);
                             createSplitPane(true);
                             int oldWidth = getWidth();
                             int oldHeight = getHeight();
                             setSize(0, 0);
                             setSize(oldWidth, oldHeight);
                             repaint();
                             JOptionPane.showMessageDialog(DisableGUIDemo.this,
                                                                                                        "The display should be reset.",
                                                                                                        "Reset",
                                                                                                        JOptionPane.PLAIN_MESSAGE);
              fileMenu.add(reset);
              fileMenu.addSeparator();
              JMenuItem saveTable = new JMenuItem("Save Table");
              saveTable.setFont(saveTable.getFont().deriveFont(10.0f));
              saveTable.setEnabled(false);
              fileMenu.add(saveTable);
              menuBar.add(fileMenu);
              menuBar.add(Box.createHorizontalGlue());
              JMenu helpMenu = new JMenu("Help");
              helpMenu.setFont(helpMenu.getFont().deriveFont(10.0f));
              JMenuItem help = new JMenuItem("Documentation");
              help.setFont(help.getFont().deriveFont(10.0f));
              help.addActionListener(new ActionListener(){
                        public void actionPerformed(ActionEvent e){
                             JOptionPane.showMessageDialog(DisableGUIDemo.this, "There is no documentation available for the demo.");
              helpMenu.add(help);
              menuBar.add(helpMenu);
              return menuBar;
          * The <code>createSplitPane</code> method creates the table and image area and displays them in a split pane.
          * @param createNewTable whether to create a new table (should be false if the table has already been created)
         private void createSplitPane(boolean createNewTable){
              if (createNewTable){
                   dataTable = dataTable();
                   tablePane = new JScrollPane(dataTable);
                   Border etchedBorder = new EtchedBorder(EtchedBorder.RAISED, LAVENDER, HYACINTH);
                   tablePane.setBorder(etchedBorder);
              int tablePaneWidth = tablePane.getPreferredSize().width;
              int selectedRow = dataTable.getSelectedRow();
              imageArea
                   = (selectedRow == -1)
                   ? new JPanel()
                   : imageArea((String) dataTable.getValueAt(selectedRow, 0),
                                                 (String) dataTable.getValueAt(selectedRow, 2));
              imageArea.setMinimumSize(imageArea.getPreferredSize());
              mainPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, tablePane, imageArea);
              getContentPane().removeAll();
              getContentPane().add(mainPane);
          * The <code>dataTable</code> method returns the data table.
          * @return the data table
         private JTable dataTable(){
              JTable table = new JTable(dataModel);
              table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
              ListSelectionModel rowSM = table.getSelectionModel();
              rowSM.addListSelectionListener(new ListSelectionListener() {
                        public void valueChanged(ListSelectionEvent e) {
                             if (e.getValueIsAdjusting()){
                                  return;  // Ignore extra events.
                             ListSelectionModel lsm =
                (ListSelectionModel) e.getSource();
                             if (! lsm.isSelectionEmpty()){
                                  final int selectedRow = dataTable.getSelectedRow();
                                  setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
                                  JPanel progressBarPanel = new JPanel();  // This should have a border layout.
                                  JProgressBar progressBar = new JProgressBar(0, 1);
                                  progressBar.setIndeterminate(true);
                                  progressBarPanel.add(progressBar);
                                  mainPane.setBottomComponent(progressBarPanel);
                                  mainPane.invalidate();
                                  mainPane.validate();
                                  Thread backgroundThread = new Thread(){
                                            public void run(){
                                                 JPanel imageDisplay = imageArea((String) dataTable.getValueAt(selectedRow, 0),
                                                                                                                                 (String) dataTable.getValueAt(selectedRow, 2));
                                                 mainPane.setBottomComponent(imageDisplay);
                                                 mainPane.invalidate();
                                                 setCursor(null);
                                  backgroundThread.start();
                                  // The following code, before being commented out, caused the GUI to be unresponsive while the image was
                                  // being loaded.  However, without it, the user can do other things while the image is loading, which is
                                  // not desired.
    //                               try{
    //                                    backgroundThread.join();
    //                               catch (InterruptedException ie){
    //                                    // N/A
              if (dataModel != null){
                   table.sizeColumnsToFit(-1);
                   table.getTableHeader().setReorderingAllowed(false);
                   SpecialHeaderRenderer headerRenderer = new SpecialHeaderRenderer(this);
                   SpecialCellRenderer bodyCellRenderer = new SpecialCellRenderer();
                   int i = 0;
                   for (Enumeration<TableColumn> columns = table.getColumnModel().getColumns(); columns.hasMoreElements(); /** */){
                        int columnWidth = 0;
                        TableColumn nextColumn = columns.nextElement();
                        nextColumn.setHeaderRenderer(headerRenderer);
                        nextColumn.setCellRenderer(bodyCellRenderer);
                        nextColumn.sizeWidthToFit();
                        Component comp = headerRenderer.getTableCellRendererComponent(table, nextColumn.getHeaderValue(),
                                                                                                                                                                                   false, false, 0, 0);
                        columnWidth = comp.getPreferredSize().width;
                        for (int j = 0; j < dataModel.getRowCount(); j++){
                             comp = table.getCellRenderer(j, i).getTableCellRendererComponent(table, dataModel.getValueAt(j, i),
                                                                                                                                                                                              false, false, j, i);
                             columnWidth = Math.max(comp.getPreferredSize().width, columnWidth);
                        nextColumn.setPreferredWidth(columnWidth);
                        nextColumn.setMinWidth(columnWidth);
                        i++;
              return table;
          * The <code>imageArea</code> method returns a panel in which an image is shown in the real application.
          * In the demo application, it is replaced by a text label; an artificial delay is used to simulate the
          * delay that would occur during image loading.  The image is loaded when the user selects a row in the table.
          * @param parameter1 a parameter to image creation
          * @param parameter2 a parameter to image creation
          * @return a panel in which a text label stands in for an image
         private JPanel imageArea(String parameter1, String parameter2){
              try{
                   Thread.sleep(3000);
              catch (InterruptedException ie){
                   // N/A
              JPanel imagePanel = new JPanel();
              JLabel substituteLabel = new JLabel("Image for " + parameter1 + ", " + parameter2);
              imagePanel.add(substituteLabel);
              return imagePanel;
          * @param args
         public static void main (String[] args) {
              UIManager.put("Table.font", new Font("DialogInput", Font.PLAIN, 10));
              UIManager.put("Label.font", new Font("Dialog", Font.BOLD, 10));
              UIManager.put("TextField.font", new Font("DialogInput", Font.PLAIN, 10));
              UIManager.put("ComboBox.font", new Font("Dialog", Font.BOLD, 10));
              UIManager.put("Button.font", new Font("Dialog", Font.BOLD, 10));
              UIManager.put("List.font", new Font("Dialog", Font.BOLD, 10));
              try {           
                   new DisableGUIDemo();
              catch (Throwable e) {
                   e.printStackTrace();
                   System.exit(0);
         } // end of main ()
    import java.awt.Color;
    import java.awt.Component;
    import java.awt.Font;
    import java.awt.GridBagLayout;
    import java.awt.GridBagConstraints;
    import java.awt.GridLayout;
    import java.awt.Insets;
    import java.awt.Rectangle;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import java.util.Comparator;
    import java.util.TreeSet;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JTable;
    import javax.swing.SwingConstants;
    import javax.swing.UIManager;
    import javax.swing.border.EmptyBorder;
    import javax.swing.table.TableCellRenderer;
    * <p>Copyright (C) 2006
    * <p>All rights reserved.
    public class SpecialHeaderRenderer extends JPanel implements TableCellRenderer {
         static final Color MAUVE = new Color(192, 160, 208);
         static final Insets ZERO_INSETS = new Insets(0, 0, 0, 0);
         static final EmptyBorder EMPTY_BORDER = new EmptyBorder(ZERO_INSETS);
         private GridBagConstraints constraints = new GridBagConstraints();
         final TreeSet<MouseEvent> processedEvents = new TreeSet<MouseEvent>(new Comparator<MouseEvent>(){
              public int compare(MouseEvent o1, MouseEvent o2){
                   return o1.hashCode() - o2.hashCode();
         final private JFrame owner;
      public SpecialHeaderRenderer(JFrame ownerWindow) {
        setOpaque(true);
        setForeground(Color.BLACK);
              setBackground(MAUVE);
        setBorder(UIManager.getBorder("TableHeader.cellBorder"));
              setLayout(new GridBagLayout());
              constraints.fill = GridBagConstraints.NONE;
              constraints.gridx = 0;
              setAlignmentY(Component.CENTER_ALIGNMENT);
              owner = ownerWindow;
      public Component getTableCellRendererComponent(final JTable table, Object value, boolean isSelected,
                                                                                                                             boolean hasFocus, int row, final int column){
              if (table != null){
                   removeAll();
                   String valueString = (value == null) ? "" : value.toString();
                   JLabel title = new JLabel(valueString);
                   title.setHorizontalAlignment(SwingConstants.CENTER);
                   title.setFont(title.getFont().deriveFont(12.0f));
                   constraints.gridy = 0;
                   constraints.insets = ZERO_INSETS;
                   add(title, constraints);
                   final JPanel buttonPanel = new JPanel();
                   buttonPanel.setLayout(new GridLayout(1, 2));
                   buttonPanel.setAlignmentX(Component.CENTER_ALIGNMENT);
                   buttonPanel.setBackground(MAUVE);
                   final JButton sortAscendingButton = new JButton("V");
                   sortAscendingButton.setMargin(ZERO_INSETS);
                   sortAscendingButton.setBorder(EMPTY_BORDER);
                   constraints.gridy = 1;
                   constraints.insets = new Insets(5, 0, 0, 0);
                   buttonPanel.add(sortAscendingButton);
                   final JButton sortDescendingButton = new JButton("^");
                   sortDescendingButton.setMargin(ZERO_INSETS);
                   sortDescendingButton.setBorder(EMPTY_BORDER);
                   buttonPanel.add(sortDescendingButton);
                   add(buttonPanel, constraints);
                   table.getTableHeader().addMouseListener(new MouseAdapter(){
                             public void mouseClicked(MouseEvent e) {
                                  Rectangle panelBounds = table.getTableHeader().getHeaderRect(column);
                                  Rectangle buttonPanelBounds = buttonPanel.getBounds();
                                  Rectangle buttonBounds = sortAscendingButton.getBounds();
                                  buttonBounds.translate(buttonPanelBounds.x, buttonPanelBounds.y);
                                  buttonBounds.translate(panelBounds.x, panelBounds.y);
                                  if (buttonBounds.contains(e.getX(), e.getY()) && processedEvents.add(e)){
                                       // The click was on this button and has not yet been processed.
                                       JOptionPane.showMessageDialog(owner,
                                                                                                                  "The table would be sorted in ascending order of column " + column + ".",
                                                                                                                  "Sorted Ascending",
                                                                                                                  JOptionPane.PLAIN_MESSAGE);
                                       table.invalidate();
                                       table.revalidate();
                                       table.repaint();
                                  buttonBounds = sortDescendingButton.getBounds();
                                  buttonBounds.translate(buttonPanelBounds.x, buttonPanelBounds.y);
                                  buttonBounds.translate(panelBounds.x, panelBounds.y);
                                  if (buttonBounds.contains(e.getX(), e.getY()) && processedEvents.add(e)){
                                       // The click was on this button and has not yet been processed.
                                       JOptionPane.showMessageDialog(owner,
                                                                                                                  "The table would be sorted in descending order of column " + column + ".",
                                                                                                                  "Sorted Descending",
                                                                                                                  JOptionPane.PLAIN_MESSAGE);
                                       table.invalidate();
                                       table.revalidate();
                                       table.repaint();
              return this;
    import java.awt.Color;
    import java.awt.Component;
    import java.awt.Font;
    import java.awt.GridLayout;
    import java.util.HashMap;
    import javax.swing.BorderFactory;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTable;
    import javax.swing.SwingConstants;
    import javax.swing.border.EmptyBorder;
    import javax.swing.border.LineBorder;
    import javax.swing.table.DefaultTableModel;
    import javax.swing.table.TableCellRenderer;
    * <code>SpecialCellRenderer</code> is the custom renderer for all
    * rows except the header row.
    * <p>Copyright (C) 2006
    * <p>All rights reserved.
    public class SpecialCellRenderer extends JPanel implements TableCellRenderer {
         protected Color backgroundColor = Color.PINK; // This means the rows for the first row will be white.
         protected HashMap<Object, Color> rowColors = new HashMap<Object, Color>();
      public SpecialCellRenderer(){
        setOpaque(true);
        setForeground(Color.BLACK);
              setBackground(Color.WHITE);
              setFont(new Font("Monospaced", Font.PLAIN, 10));
              setAlignmentX(Component.RIGHT_ALIGNMENT);
              setBorder(new EmptyBorder(0, 2, 0, 2));
      public Component getTableCellRendererComponent(final JTable table, Object value, boolean isSelected,
                                                                                                                             boolean hasFocus, final int row, final int column){
              String columnName = table.getColumnName(column);
              JLabel text = new JLabel();
              text.setOpaque(true);
              if (table != null){
                   DefaultTableModel model = (DefaultTableModel) table.getModel();
                   if (model == null){
                        System.out.println("The model is null!!");
                        System.exit(1);
                   if (table.isCellSelected(row, column)){
                        setBorder(BorderFactory.createMatteBorder((column < 2) ? 0 : 1,
                                                                                                                                 (column == 2) ? 1 : 0,
                                                                                                                                 (column < 2) ? 0 : 1,
                                                                                                                                 (column == table.getColumnCount() - 1) ? 1 : 0,
                                                                                                                                 Color.BLUE));
                   else{
                        setBorder(BorderFactory.createEmptyBorder());
                   final String rowIdentifier = (String) model.getValueAt(row, 0);
                   if (! rowColors.containsKey(rowIdentifier)){
                        rowColors.put(rowIdentifier, nextBackgroundColor());
                   text.setBackground(rowColors.get(rowIdentifier));
                   text.setFont(getFont().deriveFont(Font.PLAIN));
                   String valueString = (value == null) ? "" : value.toString();
                   text.setText(valueString);
                   try{
                        Double.parseDouble(valueString);
                        text.setHorizontalAlignment(SwingConstants.TRAILING);
                   catch (NumberFormatException nfe){
                        text.setHorizontalAlignment(SwingConstants.LEADING);
                   setLayout(new GridLayout(1, 1));
                   removeAll();
                   add(text);
                   setBackground(text.getBackground());
                   if (table.getRowHeight() < getMinimumSize().height){
                        table.setRowHeight(getMinimumSize().height);
              return this;
         protected Color nextBackgroundColor(){
              backgroundColor = backgroundColor.equals(Color.WHITE) ? Color.PINK : Color.WHITE;
              return backgroundColor;
    }

  • JProgressBar

    Hello. I am having trouble writing a JProgressBar for my applet. I tried using a PopupFactory to make a popup and put the JProgressBar in that, but the popup is in no way connected to the applet. When I move the applet the popup stays where it is, and depending on where the browser is, the popup may not even appear on the browser. Also, when I make a call to the method that is going to be doing the work (it will also be updating the JProgressBar) the JProgressBar just freezes and waits for the method to return, never even doing anything because when it returns, I have it reset the JProgressBar. Can someone please help me with these two problems? How can I get the Popup attached to the browser window, and how can I make the JProgressBar and the method both run simaltaneously?

    The progress Monitor sounds like a better choice for
    me than a ProgressBar. Maybe that will solve the
    problem of my applet making everything wait until it
    returns from the task method or maybe not. I'll try
    it out.
    1.) If I did use a thread, would I use it for my
    entire applet or should I just make it call the task
    method? A separate thread should do your 'the method that is going to be doing the work.' However, if
    you should update GUI from within the thread, you have to wrap the GUI code with
    SwingUtilities.invokeLater() method.
    2.) Also, when you type thread.start() does it just
    run what is in the thread one time(if there is no
    while loop) or does it repeat itself until you call
    stop()?Thread does its run() method. You should never call stop() method. When the run() returns,
    it is the end of life of the thread.
    3.) And would I have to write the entire method in
    the thread entirely (so that its not a method
    anymore?) or should I have the thread call the method?It may depends on your taste. Remember invokeLater() method when you do a GUI work
    from the thread.

  • Error while resetting a cleared document

    Hi everyone,
    I am getting an error while resetting a cleared invoicing document 'Document xxxxxxxxxxx with origin R4 can not be reversed'. Please guide me how can we reset the clearing of this document.
    Thanks and Regards

    Hi,
    You need to reset all clearing for the corresponding FICA document for the print document.
    Reset the clearing for the document no. mentioned in the output for EA13 execution.
    You need to reset all the clearing for the document, before reversing the same.
    To get all the clearing document, go to DFKKOP table, enter the FICA document no. (for the print document on FPL9). Get all AUGBL documents,
    Alternatively, you can go on to FPL9 screen, double click on the consumption document, in the basic data you will see the clearing date (if it is cleared), expand the view their (click on + sign), you will se the clearing document no,
    Pass the above clearing document no, to FP07, and once all the clearing is reset for the invoice, you can reverse the corresponding invoice through EA13.
    Regards,
    Rajesh Popat

  • Global data getting reset when running under IIS?

    We have a scenario using IIS with an ASP.NET web service written in VB.NET. When a call to the web service is made, the web service calls a native dll (written in C, compiled using VS2010) using platform invoke, which in turn calls into our product API:
    VB.NET web service -> native library (p/invoke) -> native API ....
    Web service requests are successfully completed and the system runs without problem for hours. A trace of the native API shows it is being called by multiple processes and multiple threads within those processes.
    The main native API dll contains a static global variable used to detect whether it is the first time it has been called and run initialization logic if it is. This dll is itself linked to a second dll that contains a global variable used to detect if it is
    the first time it has been called.
    After some hours the trace shows that the native API is invoked by an existing process but that the initialization logic is being exercised again, even though the global variable was set to indicate not first time and is never reset.  One theory was that
    the first process has ended and a new process has started almost instantaneously using the same process ID. However this is not the case as existing thread IDs from the same process are seen to write to the trace again after the first time logic has executed
    for the second time, indicating the process has not restarted. The problem occurs regularly.
    It is as though the process's global data has been initialized again and malloc'ed memory freed while the processing is still running. Is there any way this is possible when running under IIS?
    There is an internal thread which waits on a blocking read of a named pipe (via ReadFile), and when the problem occurs, the ReadFile call ends with ERROR_NO_ACCESS, which appears to indicate the malloc'ed buffer is no longer valid, again implying something
    has happened to the memory allocated to the process.

    Suggestting you asking it on:
    http://forums.iis.net/

  • I've just found that three movies I've bought from iTunes on on my iPad are not showing up on Apple TV or anywhere other than that iPad.  What's up with that and will I lose these films if I reset this iPad?

    I've just found that three movies I've bought from iTunes on on my iPad are not showing up on Apple TV or anywhere other than that iPad.  What's up with that and will I lose these films if I reset this iPad?

    Thanks.  The reason this has become an issue is that I recently bought a new Macbook Air that the iPad is not synced to.  The one is was synced to was stolen.  If I want to sync this iPad to the new Air, won't it be wiped before I'm able to copy these films or am I wrong about that?

  • HT4623 My account wont let me download apps ive reseted two times and it says i havent enterted right and i dont know what else to do??

    My apps wont download its really bothering me

    Define "won't let me."
    What type of reset did you do?

  • Hi, I am trying to update an iPhone 4 from iOS 4.3.3 to iOS 7.0.4, and every time I try to update it comes up with an error message saying that there was a problem because the network connection was reset. Is there any way I can get past this and update?

    The full message said:
    There was a problem downloading the software for the iPhone "Judy's iPhone 4". The network connection was reset.
    Make sure your network settings are correct and your network connection is active, or try again later.
    I am trying to update the iPhone for my grandmother, Judy, as I am leaving for Paris on Wednesday night and we want to have Facetime installed on her iPhone before then, so we can stay in contact with each other. It is the simplest way for this to happen but the program simply will not allow me to update her iPhone.
    Is there any way to get past this error and update her iPhone? Any help will be greatly appreciated.

    Dear Jody..jone5
    Good for you that can't update your iphone because I did it and my iphone dosen't work for example I can't download any app like Wecaht or Twitter..
    Goodluck
    Atousa

  • Reset Cleared Documents and Vendor Open Items Report FBL1N

    Hi all,
    I have following scenario:
    - In last month, we had 2 documents (invoice and payment) cleared against each other. We created open items report as well as open items correspondence sent to Vendor. Obviously, the docs were not included in report.
    - In this month, we have reset and reverse clearing document of the documents. We create report again with the open key date as in last month. It should not include the 2 docs but it did with whichever key date we chose.
    Is there any setting that open item report doesn't include cleared item at the key date when we run report for previous month?
    Thanks and Regards,
    Dau

    Hi Dau,
    If i understand you correctly then you posted and paid invoice in Jan 2012 and generated the open line item report for Jan which correctly did not include this cleared invoice.
    Now in Feb 2012 you reset and reversed this payment document.
    The issue is when you execute the report FBL1N again then you get the open line item for this invoice correct. Please confirm what is the open item key date that you are using here for generating this report
    If you keep it 31.01.2012 then definetly this invoice should not appear in the report but if you keep that 29.12.2012 then this line item would for sure appear.
    The importance of key date is to limit the report to certain date. The system selects all items posted up to and including the specified key date and open for this period.
    so I think your issue is with the key date.
    Hope this helps you.
    Regards,
    Prasad

  • Iphone4...got soaked, works after reset, now wont reactivate and shows error 0XE8000004

    Hi all,
    I have a 32gig iPhone4 that I purchased second hand. Recently I knocked it into the toilet...I turned it off straight away, left it to dry.
    After 5 days drying I gave it a full charge, turned it on and the display was all sketchy. I've kept trying with it, realised that the display would function fine at times so have I put it in recovery mode, factory reset it and managed to get it out of recovery mode.
    I'm back at a fresh start, however when trying to activate the handset via iTunes I keep getting the same error....'0xE8000004'
    Can anyone shed any light on this error and how I can get this phone back up and running?
    Thanks you in advance

    Yes i've tried pretty much all of them steps, only thing I cannot try is another computer but to be honest I cant see any real reason it being my laptops fault as its been fine since day dot.
    Not really sure which step to take next to be honest...any suggestions appreciated!

  • I recently installed Lion on my MacBook Pro (2010). Since then, almost every time I put my mac to sleep it doesn't respond when I try to wake it up. I must say that everything seems to be working, and I recently reset the PRAM and the NVRAM.

    This is the report I get after:
    Interval Since Last Panic Report:  176544 sec
    Panics Since Last Report:          3
    Anonymous UUID:                    8D526306-CA36-4C7E-8053-65BE0295A3F9
    Sun Aug  7 14:15:19 2011
    panic(cpu 2 caller 0xffffff7f809522bf): NVRM[0/1:0:0]: Read Error 0x00000100: CFG 0xffffffff 0xffffffff 0xffffffff, BAR0 0xc0000000 0xffffff80a041a000 0x0a5480a2, D0, P3/4
    Backtrace (CPU 2), Frame : Return Address
    0xffffff80a3a7b2b0 : 0xffffff8000220702
    0xffffff80a3a7b330 : 0xffffff7f809522bf
    0xffffff80a3a7b3c0 : 0xffffff7f80a423fc
    0xffffff80a3a7b410 : 0xffffff7f80a424bc
    0xffffff80a3a7b470 : 0xffffff7f80cec749
    0xffffff80a3a7b5b0 : 0xffffff7f80a61519
    0xffffff80a3a7b5e0 : 0xffffff7f8095bc4a
    0xffffff80a3a7b690 : 0xffffff7f8095754c
    0xffffff80a3a7b880 : 0xffffff7f80959151
    0xffffff80a3a7b960 : 0xffffff7f817d6008
    0xffffff80a3a7b9a0 : 0xffffff7f817e4e06
    0xffffff80a3a7b9c0 : 0xffffff7f818006d4
    0xffffff80a3a7ba00 : 0xffffff7f81800739
    0xffffff80a3a7ba40 : 0xffffff7f817e8c51
    0xffffff80a3a7ba90 : 0xffffff7f817a0753
    0xffffff80a3a7bb10 : 0xffffff7f8179f1c4
    0xffffff80a3a7bb40 : 0xffffff7f817a4bfd
    0xffffff80a3a7bb70 : 0xffffff80006524ad
    0xffffff80a3a7bbe0 : 0xffffff800065284c
    0xffffff80a3a7bc40 : 0xffffff8000652ff0
    0xffffff80a3a7bd80 : 0xffffff80002a3738
    0xffffff80a3a7be80 : 0xffffff8000222ff6
    0xffffff80a3a7beb0 : 0xffffff8000214829
    0xffffff80a3a7bf10 : 0xffffff800021bb58
    0xffffff80a3a7bf70 : 0xffffff80002ae380
    0xffffff80a3a7bfb0 : 0xffffff80002d83a3
          Kernel Extensions in backtrace:
             com.apple.NVDAResman(7.0.2)[7E65ECA2-D3A1-35F8-B845-C975FB531E7E]@0xffffff7f808 f2000->0xffffff7f80bc8fff
                dependency: com.apple.iokit.IOPCIFamily(2.6.5)[95ABB490-3AB5-3D5E-9C21-67089A9AE6A1]@0xffff ff7f8087e000
                dependency: com.apple.iokit.IONDRVSupport(2.3)[E99C8907-946D-3F1A-A261-4C0F2D5D0451]@0xffff ff7f808e0000
                dependency: com.apple.iokit.IOGraphicsFamily(2.3)[897EB322-FD55-36D7-A68E-9E9C34A74A84]@0xf fffff7f808a8000
             com.apple.nvidia.nv50hal(7.0.2)[2E84958C-1EEC-316B-9F7A-68C368F83476]@0xffffff7 f80bc9000->0xffffff7f80eeafff
                dependency: com.apple.NVDAResman(7.0.2)[7E65ECA2-D3A1-35F8-B845-C975FB531E7E]@0xffffff7f808 f2000
             com.apple.GeForce(7.0.2)[18E50F21-1E7F-3FFE-B298-7CD7A11879F8]@0xffffff7f817870 00->0xffffff7f81843fff
                dependency: com.apple.NVDAResman(7.0.2)[7E65ECA2-D3A1-35F8-B845-C975FB531E7E]@0xffffff7f808 f2000
                dependency: com.apple.iokit.IONDRVSupport(2.3)[E99C8907-946D-3F1A-A261-4C0F2D5D0451]@0xffff ff7f808e0000
                dependency: com.apple.iokit.IOPCIFamily(2.6.5)[95ABB490-3AB5-3D5E-9C21-67089A9AE6A1]@0xffff ff7f8087e000
                dependency: com.apple.iokit.IOGraphicsFamily(2.3)[897EB322-FD55-36D7-A68E-9E9C34A74A84]@0xf fffff7f808a8000
    BSD process name corresponding to current thread: WindowServer
    Mac OS version:
    11A511
    Kernel version:
    Darwin Kernel Version 11.0.0: Sat Jun 18 12:56:35 PDT 2011; root:xnu-1699.22.73~1/RELEASE_X86_64
    Kernel UUID: 24CC17EB-30B0-3F6C-907F-1A9B2057AF78
    System model name: MacBookPro6,2 (Mac-F22586C8)
    System uptime in nanoseconds: 89938146718489
    last loaded kext at 89789498800310: com.apple.iokit.IOAVBFamily          1.0.0d22 (addr 0xffffff7f80791000, size 36864)
    last unloaded kext at 87392699739594: com.apple.iokit.IOAVBFamily          1.0.0d22 (addr 0xffffff7f80791000, size 36864)
    loaded kexts:
    com.sophos.kext.sav          7.3.0
    com.apple.filesystems.smbfs          1.7.0
    com.apple.driver.AppleHWSensor          1.9.4d0
    com.apple.driver.AppleMikeyHIDDriver          122
    com.apple.driver.AppleHDA          2.1.1f11
    com.apple.driver.AppleMikeyDriver          2.1.1f11
    com.apple.driver.AGPM          100.12.40
    com.apple.driver.AppleUpstreamUserClient          3.5.9
    com.apple.driver.AppleMCCSControl          1.0.24
    com.apple.driver.AudioAUUC          1.59
    com.apple.driver.AppleIntelHDGraphics          7.0.2
    com.apple.driver.AppleIntelHDGraphicsFB          7.0.2
    com.apple.driver.SMCMotionSensor          3.0.1d2
    com.apple.iokit.IOUserEthernet          1.0.0d1
    com.apple.Dont_Steal_Mac_OS_X          7.0.0
    com.apple.driver.AudioIPCDriver          1.2.0
    com.apple.driver.AppleSMCLMU          2.0.1d2
    com.apple.driver.AppleMuxControl          3.0.8
    com.apple.driver.ACPI_SMC_PlatformPlugin          4.7.0b2
    com.apple.GeForce          7.0.2
    com.apple.driver.AppleLPC          1.5.1
    com.apple.filesystems.autofs          3.0
    com.apple.driver.AppleUSBTCButtons          220.8
    com.apple.driver.AppleUSBTCKeyboard          220.8
    com.apple.driver.AppleUSBCardReader          3.0.0
    com.apple.driver.AppleIRController          309
    com.apple.iokit.SCSITaskUserClient          3.0.0
    com.apple.AppleFSCompression.AppleFSCompressionTypeDataless          1.0.0d1
    com.apple.AppleFSCompression.AppleFSCompressionTypeZlib          1.0.0d1
    com.apple.BootCache          32
    com.apple.driver.AppleUSBHub          4.4.0
    com.apple.driver.AirPort.Brcm4331          500.20.6
    com.apple.driver.AppleSmartBatteryManager          161.0.0
    com.apple.iokit.IOAHCIBlockStorage          2.0.0
    com.apple.driver.AppleFWOHCI          4.8.6
    com.apple.iokit.AppleBCM5701Ethernet          3.0.6b9
    com.apple.driver.AppleEFINVRAM          1.5.0
    com.apple.driver.AppleAHCIPort          2.1.8
    com.apple.driver.AppleUSBEHCI          4.4.0
    com.apple.driver.AppleACPIButtons          1.4
    com.apple.driver.AppleRTC          1.4
    com.apple.driver.AppleHPET          1.6
    com.apple.driver.AppleSMBIOS          1.7
    com.apple.driver.AppleACPIEC          1.4
    com.apple.driver.AppleAPIC          1.5
    com.apple.driver.AppleIntelCPUPowerManagementClient          166.0.0
    com.apple.nke.applicationfirewall          3.0.30
    com.apple.security.quarantine          1
    com.apple.driver.AppleIntelCPUPowerManagement          166.0.0
    com.apple.iokit.IOAVBFamily          1.0.0d22
    com.apple.iokit.IOBluetoothSerialManager          2.5f17
    com.apple.iokit.IOSerialFamily          10.0.5
    com.apple.driver.DspFuncLib          2.1.1f11
    com.apple.iokit.IOFireWireIP          2.2.3
    com.apple.driver.AppleSMBusController          1.0.10d0
    com.apple.iokit.IOSurface          80.0
    com.apple.iokit.IOAudioFamily          1.8.3fc11
    com.apple.kext.OSvKernDSPLib          1.3
    com.apple.driver.AppleHDAController          2.1.1f11
    com.apple.iokit.IOHDAFamily          2.1.1f11
    com.apple.driver.AppleGraphicsControl          3.0.8
    com.apple.driver.AppleSMC          3.1.1d2
    com.apple.driver.IOPlatformPluginFamily          4.7.0b2
    com.apple.driver.AppleSMBusPCI          1.0.10d0
    com.apple.driver.AppleBacklightExpert          1.0.3
    com.apple.nvidia.nv50hal          7.0.2
    com.apple.NVDAResman          7.0.2
    com.apple.iokit.IONDRVSupport          2.3
    com.apple.iokit.IOGraphicsFamily          2.3
    com.apple.kext.triggers          1.0
    com.apple.driver.BroadcomUSBBluetoothHCIController          2.5f17
    com.apple.driver.AppleUSBBluetoothHCIController          2.5f17
    com.apple.iokit.IOBluetoothFamily          2.5f17
    com.apple.driver.AppleUSBMultitouch          220.23
    com.apple.iokit.IOSCSIBlockCommandsDevice          3.0.0
    com.apple.iokit.IOUSBMassStorageClass          3.0.0
    com.apple.iokit.IOUSBHIDDriver          4.4.0
    com.apple.driver.AppleUSBMergeNub          4.4.0
    com.apple.driver.AppleUSBComposite          3.9.0
    com.apple.iokit.IOSCSIMultimediaCommandsDevice          3.0.0
    com.apple.iokit.IOBDStorageFamily          1.6
    com.apple.iokit.IODVDStorageFamily          1.6
    com.apple.iokit.IOCDStorageFamily          1.7
    com.apple.driver.XsanFilter          403
    com.apple.iokit.IO80211Family          400.40
    com.apple.iokit.IOUSBUserClient          4.4.0
    com.apple.iokit.IOFireWireFamily          4.4.3
    com.apple.iokit.IOAHCISerialATAPI          2.0.0
    com.apple.iokit.IOSCSIArchitectureModelFamily          3.0.0
    com.apple.iokit.IOEthernetAVBController          1.0.0d5
    com.apple.iokit.IONetworkingFamily          2.0
    com.apple.iokit.IOAHCIFamily          2.0.6
    com.apple.driver.AppleEFIRuntime          1.5.0
    com.apple.iokit.IOHIDFamily          1.7.0
    com.apple.iokit.IOUSBFamily          4.4.0
    com.apple.iokit.IOSMBusFamily          1.1
    com.apple.security.sandbox          165
    com.apple.kext.AppleMatch          1.0.0d1
    com.apple.security.TMSafetyNet          7
    com.apple.driver.DiskImages          326
    com.apple.iokit.IOStorageFamily          1.7
    com.apple.driver.AppleKeyStore          28.18
    com.apple.driver.AppleACPIPlatform          1.4
    com.apple.iokit.IOPCIFamily          2.6.5
    com.apple.iokit.IOACPIFamily          1.4
    Model: MacBookPro6,2, BootROM MBP61.0057.B0C, 2 processors, Intel Core i5, 2.4 GHz, 4 GB, SMC 1.58f15
    Graphics: NVIDIA GeForce GT 330M, NVIDIA GeForce GT 330M, PCIe, 256 MB
    Graphics: Intel HD Graphics, Intel HD Graphics, Built-In, 288 MB
    Memory Module: BANK 0/DIMM0, 2 GB, DDR3, 1067 MHz, 0x80AD, 0x484D54313235533642465238432D47372020
    Memory Module: BANK 1/DIMM0, 2 GB, DDR3, 1067 MHz, 0x80AD, 0x484D54313235533642465238432D47372020
    AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x93), Broadcom BCM43xx 1.0 (5.100.98.75.6)
    Bluetooth: Version 2.5.0f17, 2 service, 12 devices, 1 incoming serial ports
    Network Service: Wi-Fi, AirPort, en1
    Serial ATA Device: ST9320325ASG, 320.07 GB
    Serial ATA Device: MATSHITADVD-R   UJ-898
    USB Device: hub_device, 0x0424  (SMSC), 0x2514, 0xfa100000 / 2
    USB Device: Apple Internal Keyboard / Trackpad, apple_vendor_id, 0x0236, 0xfa120000 / 5
    USB Device: BRCM2070 Hub, 0x0a5c  (Broadcom Corp.), 0x4500, 0xfa110000 / 4
    USB Device: Bluetooth USB Host Controller, apple_vendor_id, 0x8218, 0xfa113000 / 8
    USB Device: Internal Memory Card Reader, apple_vendor_id, 0x8403, 0xfa130000 / 3
    USB Device: hub_device, 0x0424  (SMSC), 0x2514, 0xfd100000 / 2
    USB Device: IR Receiver, apple_vendor_id, 0x8242, 0xfd120000 / 4
    USB Device: Built-in iSight, apple_vendor_id, 0x8507, 0xfd110000 / 3

    Try resetting the System Management Controller
    http://support.apple.com/kb/HT3964

  • What causes cellular data usage to decrease if last reset has not changed? I reset every pay period cuz I do not have unlimited and was showing 125 mb sent/1.2g received. Now showing 98mb sent/980mb received. Last reset still shows same

        I reset my cellular data usage every month at the beginning of my billing period so that I can keep track of how much data I am using thru out the month. I do not have the unlimited data plan and have gone over a few times. It's usually the last couple days of my billing cycle and I am charged $10 for an extra gig which I barely use 10% of before my usage is restarted for new billing cycle. FYI, they do not carry the remainder of the unused gig that you purchase for $10 which I disagree with. But have accepted. Lol  Moving on.
        I have two questions. One possibly being answered by the other. 1. Is cellular data used when I sync to iTunes on my home computer to load songs onto my iPhone from my iTunes library(songs that already exist)? 2. What causes the cellular data usage readings in iPhone settings/general/usage/cellular usage to decrease if my last reset has not changed? It is close to end of my billing cycle and I have been keeping close eye. Earlier today it read around 180mb sent/1.2gb received. Now it reads 90mb sent/980 mb recieved. My last reset date reads the same as before. I don't know if my sync and music management had anything to do with the decrease but i didn't notice the decrease until after I had connected to iTunes and loaded music. I should also mention that a 700mb app automatically loaded itself to my phone during the sync process. Is cellular data used at all during any kind of sync /iPhone/iTunes management? Is the cellular data usage reading under iPhone settings a reliable source to keep track of monthly data usage? Guess turned out to be more than two questions but all related. Thanks in advance for any help you can offer me. It is information I find valuable. Sorry for the book long question.

    Is cellular data used at all during any kind of sync /iPhone/iTunes management? Is the cellular data usage reading under iPhone settings a reliable source to keep track of monthly data usage?
    1) No.
    2) It does provide an estimated usage, but it's not accurate. For accurate determination, you should check the remaining/used MBs from the carrier (most of the carriers provide this service for free).

Maybe you are looking for

  • Setting up Site-to-Site VPN and nat on IOS

    I have a senario I am looking to setup. I have a Cisco 3825 router that handles roughly 50 site-to-site VPN's. I have a particular VPN where I would like to nat (actually overload) off an interface for a specific VPN site-to-site tunnel. I know when

  • Set alert for log file free space

    We need to set an alert in case the log file fills up to a certain level (ST04 - Space usage - Total log size / Free space) Which parameter should we set in solman for this? Thanks in advance

  • Adobe Flash Player will not Start on IE 11

    I am having a problem with the Adobe Flash Player plugin for IE 11 on Windows 8.1 Pro x64. Whenever I try to use the desktop version of IE 11 and try to load a page that has flash content on it, I get the following warning: Whenever I click "Allow",

  • Ztable going dump

    hi all, here is my problem . I have ztable with some 1000 records. According to new requirement i changed the domain of a field String to dec. then went se14 adjust & activate.. now table was going dump. plz give me suggestions where i am went wrong.

  • Can i change AUC attached to wBS element.

    1) can i change the AUC attached to WBS element ? 2) user has already posted some entries to WBS but not settled so far. Can i change the AUC now ? 3) In another WBS user has already settled to AUC the postings made in the firest month. I can change