Disposing a jframe, and freeing up memory

Greetings,
I hope this is the proper forum for memory issues.
I have an enterprise database reporting desktop application that I am developing. The GUI application reports on a huge set of data that results in the app taking up to 125 MB worth of memory when fully loaded. There are moments in using the application that all of the data will need to be refreshed entirely, and the JFrame that reports it be reloaded in the process.
I am wondering how to dispose the JFrame and release all of the data associated with it. I use NetBeans to develop my GUI, and so all of the data that is needed for the JFrame is a class variable of the JFrame (so the data can be accessed as it is needed). But, when the frame is disposed, I no longer need anything associated with the JFrame that gets disposed. The Javadoc for Window.dispose() seems to imply that not all of the resources will be released and GC'd when you call dispose, because it says "The Window and its subcomponents can be made displayable again by rebuilding the native resources with a subsequent call to pack or show." which to me says that the data is being remembered and not collected by the GC.
Anyone have any tips for GUIs and memory management? It seems like any GUI app could get pretty large pretty fast if there's no way to release the data associated with the GUI.
Here's the code I've tested that doesn't seem to be releasing the memory (stress tests of closing and re-opening the window multiple times shows the java.exe process eating more and more memory):
    public void reset(){
        this.dispose();
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new PartsDashboard(partNum, dateFrom, dateTo);
        try{
            this.finalize();
        } catch (Throwable t){
            t.printStackTrace();
    }Thanks in advance.

Three things you can always count on in life: Death, Taxes, and AndrewThompson64 telling people to post an SSCCE. =)
Just poking fun.
Anyways, this problem has gone from probably-should-deal-with-soon to critical issue. Here is the SSCCE to illustrate the problem. NOTE: My client is using Windows and I am using Windows, so how this acts on Linux/Mac isn't important to me. Also, a few of my client's machines are not well equipped (512 MB RAM), so they have agreed to up their hardware a bit.
But the big problem, on my end, is that disposed windows DO NOT free up resources once disposed. My program is very data-heavy. I have considered grabbing less data from the database but this would mean the program would have to go to the database more often. The ultimate dilemma of time vs space, essentially.
To explain the SSCCE: There is a main window with a button. If you click the button, it launches another window with a String array that is 500,000 items large (to simulate a lot of data), and a JList to view those strings. Closing the data-heavy child window does not free up the memory that it uses, and if you launch a bunch of the child windows in the same program instance (close each child before launching a new one) then you will see the amount of memory piling up.
Am I doing something wrong? Has anyone else experienced similar problems? Does anyone have suggestions? Thank you.
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
* @author Ryan
public class MemoryLeak {
    public static void main(String[] args) {
        // Launch Base Frame
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new BaseFrame().setVisible(true);
class BaseFrame extends JFrame{
    public BaseFrame() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setPreferredSize(new Dimension(300,300));
        JPanel panel = new JPanel();
        panel.setLayout(new FlowLayout(FlowLayout.CENTER, 150, 5));
        JButton button = new JButton("Launch Data-Heavy Child");
        // JButton will launch Child Frame
        button.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                java.awt.EventQueue.invokeLater(new Runnable() {
                    public void run() {
                        // Notice no references to ChildFrame, period.
                        new ChildFrame().setVisible(true);
        panel.add(button);
        add(panel);
        pack();
class ChildFrame extends JFrame{
    public ChildFrame() {
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        setPreferredSize(new Dimension(300,600));
        JPanel panel = new JPanel();
        panel.setLayout(new FlowLayout());
        // Simulate lots of data.
        String[] dataArr = new String[500000];
        for(int i = 0; i < dataArr.length; i++) {
            dataArr[i] = "This is # " + i;
        // Something to display the data.
        JList list = new JList(dataArr);
        JScrollPane scrollPane = new JScrollPane(list);
        scrollPane.setPreferredSize(new Dimension(200, 550));
        panel.add(scrollPane);
        add(panel);
        pack();
}

Similar Messages

  • Error Handling and Freeing-up Memory

    I'm trying to write my java programs as responsibly as possible. When an exception is caught and sent to my catch block, in order to properly free up memory do I need to set all objects (created prior to the error occurance in the try block) to null or does Java do this for me at the termination of the routine or thread? I used to do this in VB within my error handlers. For example, in VB, if I had created an XYZ object and an error occured later on, before I was done using object XYZ, as part of my error handler I would "Set XYZ = Nothing". Is something similar needed in Java?

    Well it is always good to do a clean up routine you can do this by makeing a method that will set things to null and such and you also can use finally after the exception handler has exit and close streams and such in the finally {} catch also you can forcing finalization and carbage collection
    here is a link for that
    http://java.sun.com/docs/books/tutorial/essential/system/garbage.html
    but I thank it is alway good programming practice to clean up after your self
    ps I hope this helps

  • ByteBuffer.allocateDirect vs. NewDirectByteBuffer and freeing memory

    Hi all, I have a very basic question that I'm afraid I couldn't find in any documentation. My question is, when a ByteBuffer in my JVM wraps a direct memory buffer does it try to free that native memory when it gets GC'd? It seems like it would have to do this when I (the user) create it via ByteBuffer.allocateDirect; but if I use a JNI call into NewDirectByteBuffer, I understand that I'm taking responsibility for freeing that memory when I'm finished with it. Both will return true for isDirect(), but in the case where I created the buffer myself and passed it to NewDirectByteBuffer, then free'd that memory myself, will the ByteBuffer object know that it's not supposed to free that memory?
    Thanks in advance.

    koverton wrote:
    Hi all, I have a very basic question that I'm afraid I couldn't find in any documentation. My question is, when a ByteBuffer in my JVM wraps a direct memory buffer does it try to free that native memory when it gets GC'd? Yes, but I have found it does this very slowly. i.e. When the JVM runs low on heap space it will GC before it throws an OutOfMeoryError However for non-heap space this doesn't happen so reliably.
    It seems like it would have to do this when I (the user) create it via ByteBuffer.allocateDirect; but if I use a JNI call into NewDirectByteBuffer, I understand that I'm taking responsibility for freeing that memory when I'm finished with it. Both will return true for isDirect(), but in the case where I created the buffer myself and passed it to NewDirectByteBuffer, then free'd that memory myself, will the ByteBuffer object know that it's not supposed to free that memory?Your best bet is to check the finialize() code. You may be able to break point it to see what it does in your case.
    If you are not sure, why not call ByteBuffer.allocateDirect().

  • JFrame and Memory Leak

    Hello
    In my java application i am opening a Frame to display HTML data from database but after many times i have a problem with the memory.
    at each time i close the frame with dispose() but it seems that the memory does not released from JVM.
    if i add the line System.gc() then seems the problem solved.
    Is it correct because i have read that must avoid of calling the Garbage collector programatically?

    To get better help sooner, post a [_SSCCE_|http://mindprod.com/jgloss/sscce.html] that clearly demonstrates your problem.
    db

  • FIM: Freeing invalid memory in OCIServerAttach

    Hi,
    I have the following piece of code for making connection to Oracle server -
    retCode = OCIEnvCreate(envHandle, OCI_THREADED, (dvoid *)0, 0, 0, 0, (size_t) 0, (dvoid **)0);
    if(retCode == OCI_SUCCESS)
    isEnvAllocated = PMTRUE;
    retCode = OCIHandleAlloc( (dvoid *) envHandle, (dvoid *) &errhp, OCI_HTYPE_ERROR, (size_t) 0, (dvoid **) 0);
    // server contexts
    retCode = OCIHandleAlloc( (dvoid *) envHandle, (dvoid *) &srvhp, OCI_HTYPE_SERVER,(size_t) 0, (dvoid **) 0);
    retCode = OCIHandleAlloc( (dvoid *) envHandle, (dvoid *) &svchp, OCI_HTYPE_SVCCTX,(size_t) 0, (dvoid **) 0);
    pError = checkError(*envHandle, errhp, OCIServerAttach(srvhp, errhp, (ptext *)dbName, strlen(dbName), 0));
    Purify is reporting FIM: Freeing invalid memory in LocalFree {1 occurrence} and the stack trace is -
    [E] FIM: Freeing invalid memory in LocalFree {1 occurrence}
    Address 0x001430f8 points into a HeapAlloc'd block in unallocated region of the default heap
    Location of free attempt
    LocalFree [KERNEL32.dll]
    ??? [security.dll ip=0x76e71a7f]
    AcquireCredentialsHandleA [security.dll]
    naunts5 [orannts8.dll]
    naunts [orannts8.dll]
    sntseltst [oran8.dll]
    naconnect [oran8.dll]
    naconnect [oran8.dll]
    naconnect [oran8.dll]
    nsmore2recv [oran8.dll]
    nsmore2recv [oran8.dll]
    nscall [oran8.dll]
    niotns [oran8.dll]
    osncon [oran8.dll]
    xaolog [OraClient8.Dll]
    xaolog [OraClient8.Dll]
    upiah0 [OraClient8.Dll]
    kpuatch [OraClient8.Dll]
    OCIServerAttach [OraClient8.Dll]
    OCIServerAttach [OCI.dll]
    Does anyone has idea why it is giving that error.
    Also there is a leak associated with it too and the stack trace for that is -
    MPK: Potential memory leak of 4140 bytes from 2 blocks allocated in nsbfree
    Distribution of potentially leaked blocks
    Allocation location
    calloc [msvcrt.dll]
    nsbfree [oran8.dll]
    nsbfree [oran8.dll]
    sntseltst [oran8.dll]
    sntseltst [oran8.dll]
    nsdo [oran8.dll]
    nscall [oran8.dll]
    nscall [oran8.dll]
    niotns [oran8.dll]
    osncon [oran8.dll]
    xaolog [OraClient8.Dll]
    xaolog [OraClient8.Dll]
    upiah0 [OraClient8.Dll]
    kpuatch [OraClient8.Dll]
    OCIServerAttach [OraClient8.Dll]
    OCIServerAttach [OCI.dll]
    Is it a standard leak that is happening in OCI.dll or it is the usage issue so that it can be solved by using OCIServerAttach in a different way.
    Any help in this matter is greatly appreciated.
    Thanks
    Anil
    [email protected]

    I believe that both issues are actually the result of false positives. In general, it's not really possible to tell whether C++ code is actually leaking memory or freeing invalid memory handles. Tools like Purify, BoundChecker, etc. will generally give this sort of false positive when the code you're profiling does something 'dangerous'. I believe you can ignore both messages-- at least the Oracle ODBC driver development group did when I was there.
    Justin

  • Freeing up Memory During CFFILE

    I have a process that generates flat files using CFFILE. The
    process uses a database reference table that feeds the query
    parameters. I have several loops in this process which I thought
    would be more efficient and free up memory after each CFFILE
    "action append" but before execution of the next query. (execute
    query then write all the files, loop to query then write all files,
    etc....)
    Problem is that it is not freeing up memory and I am getting
    java.lang.OutOfMemoryError errors after about 15 minutes of run
    time.
    Current solution is to run this process in batches. This
    unfortuantly requires someone baby sit the process and change a
    parameter and submit.
    Is there anyway after the one of the loops is complete (query
    has completed and first group of files have been written) and
    before the next execution of the query that I can free memory?
    I need to trick the process in thinking that the page is
    complete then immediately initiate the next query to process the
    files.
    We have tuned the box as best we can, applied all patches
    (MX7) . Process runs great in batches, but, just can't handle the
    volume. Millions of rows are being processed.
    Thanks
    Bill

    Current solution is to run this process in batches. This
    unfortuantly
    requires someone baby sit the process and change a parameter
    and submit.
    java.lang.OutOfMemoryError means that there are too many
    objects in memory at one time. However, it is difficult to remove
    objects in one continuous process while it is still running.
    The word
    batches carries a hint. In the circumstances, I would break
    the process up into smaller jobs and use cfschedule for each. Each
    job could store the data that subsequent jobs need in a file or in
    a database table specifically created for that purpose. Use cached
    queries for static data. Coldfusion will then read the data from
    memory, rather than from a file or database, sparing you the
    creation of yet more objects.

  • I have a macbook 4.1 with osx10.6.8 and just added memory (2gig) so I could sync my new Ipome and Ipad.  and Ipad. Now I'm told I need to upgrade my operating system. The apple store gave me conflicting instructions. Any suggestions? Thanks

    I have a macbook 4.1 with osx10.6.8 and just added memory (2gig) so I could sync my new IPhone and Ipad. Now I'm told at the apple store that I need to upgrade my operationg system. They said they couldn't help and gave me conflicting advice about what to do. Any ideas? Thanks you!

    There are three models of MacBook that comprise the 'macbook 4.1' category, and each of them a little different; however other than 'macbook 4.1' the other thing they have in common is they all are considered Early 2008. Two are white, one black, polycarbonate case, Core2Duo 2.1GHz, 2.4GHz white, 2.4GHz black.
    So if you can determine which one, if any of these, is the model build year and spec you have, that would be handy. Did you tell whoever you spoke to the serial number of your computer, so they'd know by looking up the specs to see what the supported maximum RAM upgrade capacity was, and other minimum requirements to make any upgrade to Mac OS X 10.6.8 at all?
    If you have the serial number you can do a lookup to 'indentify by serial number' online, and use that information to determine if the computer needs even more RAM to take it past the minimum for Snow Leopard 10.6.8 and then get it ready to upgrade (via paid download from App Store, Snow Leopard gets you that far) and see what the next supported OS X full upgrade would be for the hardware limitations on that old MacBook.
    If your MacBook IS a 4.1 build, the highest OS X it could run if it has the 2.4GHz cpu, is Lion 10.7.5. That would be an upgrade from the App store, available to OS X 10.6.8+ computers that access it online. And I kind of doubt how supported a newest iphone etc may be in lion.
    everymac.com has a fair amount of information across many years of Apple computing hardware...
    Here's the three MacBooks that share the 4.1 designation; first shipped with as much as 1GB RAM upgrade and the other two only a 2GB RAM*, (one white/one black color) according to this information...
    • MacBook "Core 2 Duo" 2.1 13" (White-08) 2.1 GHz Core 2 Duo (T8100)   
    • MacBook "Core 2 Duo" 2.4 13" (White-08) 2.4 GHz Core 2 Duo (T8300)  
    • MacBook "Core 2 Duo" 2.4 13" (Black-08) 2.4 GHz Core 2 Duo (T8300)
    ...as seen here: http://www.everymac.com/systems/apple/macbook/index-macbook.html
    *But according to MacTracker (free: download database) http://mactracker.ca
    these MacBooks can use more RAM in aftermarket specs as much as:
    Maximum Memory
    6.0 GB (Actual) 4.0 GB (Apple)
    Memory Slots
    2 - 200-pin PC2-5300 (667MHz) DDR2 SO-DIMM
    To get more information use a service such as this...
    •identify by serial number:
    http://www.powerbookmedic.com/identify-mac-serial.php
    The Apple? store or whoever you talked, to may have been as accurate as they could be without further research. Could be you may have a newer or older MacBook, which would change whatever later OS X it could run past 10.6.8. And to go past Snow Leopard, you need to download the last bits for 10.6.x to be able to go and get any later upgrade. The ones that may let a newest iphone or ipad work with it, are past SL10.6.8
    Anyway, as you further verify the model build year and configuration specifications, report back.
    Good luck & happy computing!

  • I have an iMac 5.1 with Mac OSX 10.6.8 and 2 GB memory and an L2 cache of 4 GB.   lately I have been receiving error messages of " start up disk almost full; please delete files." is the start up disk the same thing as the hard drive?

    I have an iMac 5.1 with Mac OSX 10.6.8 and 2 GB memory and an L2 cache of 4 GB.   lately I have been receiving error messages of " start up disk almost full; please delete files." is the start up disk the same thing as the hard drive?  I opened the hard drive and from the column on the left of the menu I've selected "search for" and under that " all images" then "all documents"  I've deleted a few files from each. Are documents and images that I have deleted from here also deleted from the folders on my desktop?

    You should never, EVER let a conputer hard drive get completely full, EVER!
    With Macs and OS X, you shouldn't let the hard drive get below 15 GBs or less of free data space.
    If it does, it's time for some hard drive housecleaning.
    Follow some of my tips for cleaning out, deleting and archiving data from your Mac's internal hard drive.
    Have you emptied your iMac's Trash icon in the Dock?
    If you use iPhoto, iPhoto has its own trash that needs to be emptied, also.
    If you store images in other locations other than iPhoto, then you will have to weed through these to determine what to archive and what to delete.
    If you use Apple Mail app, Apple Mail also has its own trash area that needs to be emptied, too!
    Delete any old or no longer needed emails and/or archive to disc, flash drives or external hard drive, older emails you want to save.
    Delete any other mail in your Junk folders. Also, look through your Sent Mail to see if there is anything that can be deleted.
    Other things you can do to gain space.
    Once you have around 15 GBs regained, do a search, download and install OmniDisk Sweeper.
    This app will help you locate files that you can move/archive and/or delete from your system.
    STAY AWAY FROM DELETING ANY FILES FROM OS X SYSTEM FOLDER!
    Look through your Documents folder and delete any type of old useless type files like "Read Me" type files.
    Again, archive to disc, flash drives, ext. hard drives or delete any old documents you no longer use or immediately need.
    Look in your Applications folder, if you have applications you haven't used in a long time, if the app doesn't have a dedicated uninstaller, then you can simply drag it into the OS X Trash icon. IF the application has an uninstaller app, then use it to completely delete the app from your Mac.
    Download an app called OnyX for your version of OS X.
    When you install and launch it, let it do its initial automatic tests, then go to the cleaning and maintenance tabs and run the maintenance tabs that let OnyX clean out all web browser cache files, web browser histories, system cache files, delete old error log files.
    Typically, iTunes and iPhoto libraries are the biggest users of HD space.
    move these files/data off of your internal drive to the external hard drive and deleted off of the internal hard drive.
    If you have any other large folders of personal data or projects, these should be archived or moved, also, to the optical discs, flash drives or external hard drive and then either archived to disc and/or deleted off your internal hard drive.
    Good Luck!

  • Please help, my iMac is running slow and plenty of memory available?

    Please help, my iMac is running slow and plenty of memory available? I tried reading some of these forums to see what to do, I have already deleted all of my downloads that were stored in the downloads file. Not sure what to do next, I ran the etrecheck and here is the following info from the scan:
    EtreCheck version: 2.2 (132)
    Report generated 4/20/15, 2:55 PM
    Download EtreCheck from http://etresoft.com/etrecheck
    Click the [Click for support] links for help with non-Apple products.
    Click the [Click for details] links for more information about that line.
    Click the [Click to remove] links for help removing adware.
    Hardware Information: ℹ️
        iMac (27-inch, Mid 2011) (Technical Specifications)
        iMac - model: iMac12,2
        1 2.7 GHz Intel Core i5 CPU: 4-core
        4 GB RAM Upgradeable
            BANK 0/DIMM0
                2 GB DDR3 1333 MHz ok
            BANK 1/DIMM0
                2 GB DDR3 1333 MHz ok
            BANK 0/DIMM1
                Empty  
            BANK 1/DIMM1
                Empty  
        Bluetooth: Old - Handoff/Airdrop2 not supported
        Wireless:  en1: 802.11 a/b/g/n
    Video Information: ℹ️
        AMD Radeon HD 6770M - VRAM: 512 MB
            iMac 2560 x 1440
    System Software: ℹ️
        OS X 10.10.2 (14C109) - Time since boot: 5:29:18
    Disk Information: ℹ️
        ST31000528AS disk0 : (1 TB)
            EFI (disk0s1) <not mounted> : 210 MB
            Macintosh HD (disk0s2) / : 999.35 GB (872.44 GB free)
            Recovery HD (disk0s3) <not mounted>  [Recovery]: 650 MB
        OPTIARC DVD RW AD-5690H 
    USB Information: ℹ️
        Apple Inc. FaceTime HD Camera (Built-in)
        Apple, Inc. Keyboard Hub
            Apple Inc. Apple Keyboard
        Apple Inc. BRCM2046 Hub
            Apple Inc. Bluetooth USB Host Controller
        Apple Internal Memory Card Reader
        Apple Computer, Inc. IR Receiver
    Thunderbolt Information: ℹ️
        Apple Inc. thunderbolt_bus
    Gatekeeper: ℹ️
        Mac App Store and identified developers
    Adware: ℹ️
        Genieo, InstallMac Adware! [Click to remove]
        More adware files Adware! [Click to remove]
    Problem System Launch Agents: ℹ️
        [killed]    com.apple.CallHistoryPluginHelper.plist
        [killed]    com.apple.CallHistorySyncHelper.plist
        [killed]    com.apple.cloudd.plist
        [killed]    com.apple.cmfsyncagent.plist
        [killed]    com.apple.coreservices.appleid.authentication.plist
        [killed]    com.apple.EscrowSecurityAlert.plist
        [killed]    com.apple.gamed.plist
        [killed]    com.apple.icloud.fmfd.plist
        [killed]    com.apple.Maps.pushdaemon.plist
        [killed]    com.apple.nsurlsessiond.plist
        [killed]    com.apple.printtool.agent.plist
        [killed]    com.apple.scopedbookmarkagent.xpc.plist
        [killed]    com.apple.security.cloudkeychainproxy.plist
        [killed]    com.apple.spindump_agent.plist
        [killed]    com.apple.telephonyutilities.callservicesd.plist
        15 processes killed due to memory pressure
    Problem System Launch Daemons: ℹ️
        [killed]    com.apple.ctkd.plist
        [killed]    com.apple.icloud.findmydeviced.plist
        [killed]    com.apple.ifdreader.plist
        [killed]    com.apple.nehelper.plist
        [killed]    com.apple.nsurlsessiond.plist
        [killed]    com.apple.spindump.plist
        [killed]    com.apple.wdhelper.plist
        7 processes killed due to memory pressure
    Launch Agents: ℹ️
        [not loaded]    com.adobe.AAM.Updater-1.0.plist [Click for support]
        [running]    com.adobe.AdobeCreativeCloud.plist [Click for support]
        [running]    com.dced8a8837572b7b.agent.plist [Click for support]
        [loaded]    com.oracle.java.Java-Updater.plist [Click for support]
    Launch Daemons: ℹ️
        [loaded]    com.adobe.fpsaud.plist [Click for support]
        [not loaded]    com.dced8a8837572b7b.daemon.plist [Click for support]
        [running]    com.dced8a8837572b7b.helper.plist [Click for support]
        [loaded]    com.microsoft.office.licensing.helper.plist [Click for support]
        [loaded]    com.oracle.java.Helper-Tool.plist [Click for support]
        [loaded]    com.oracle.java.JavaUpdateHelper.plist [Click for support]
    User Launch Agents: ℹ️
        [loaded]    com.adobe.AAM.Updater-1.0.plist [Click for support]
        [loaded]    com.adobe.ARM.[...].plist [Click for support]
        [loaded]    com.adobe.ARM.[...].plist [Click for support]
        [failed]    com.citrixonline.GoToMeeting.G2MUpdate.plist [Click for support] [Click for details]
        [loaded]    com.genieo.completer.download.plist  Adware! [Click to remove]
        [loaded]    com.genieo.completer.update.plist  Adware! [Click to remove]
        [running]    com.google.Chrome.framework.plist [Click for support]
        [loaded]    com.google.keystone.agent.plist [Click for support]
        [failed]    com.webtools.update.agent.plist [Click for support] [Click for details]
    User Login Items: ℹ️
        iTunesHelper    Application  (/Applications/iTunes.app/Contents/MacOS/iTunesHelper.app)
        AdobeResourceSynchronizer    Application  (/Applications/Adobe Reader.app/Contents/Support/AdobeResourceSynchronizer.app)
        Dropbox    Application  (/Applications/Dropbox.app)
        AdobeResourceSynchronizer    Application Hidden (/Applications/Adobe Acrobat XI Pro/Adobe Acrobat Pro.app/Contents/Support/AdobeResourceSynchronizer.app)
        Google Chrome    Application Hidden (/Applications/Google Chrome.app)
    Internet Plug-ins: ℹ️
        Default Browser: Version: 600 - SDK 10.10
        Flip4Mac WMV Plugin: Version: 3.0.0.85 BETA  - SDK 10.7 [Click for support]
        AdobeAAMDetect: Version: AdobeAAMDetect 2.0.0.0 - SDK 10.7 [Click for support]
        FlashPlayer-10.6: Version: 17.0.0.169 - SDK 10.6 [Click for support]
        AdobePDFViewerNPAPI: Version: 11.0.10 - SDK 10.6 [Click for support]
        Silverlight: Version: 5.1.30514.0 - SDK 10.6 [Click for support]
        Flash Player: Version: 17.0.0.169 - SDK 10.6 [Click for support]
        QuickTime Plugin: Version: 7.7.3
        iPhotoPhotocast: Version: 7.0
        SharePointBrowserPlugin: Version: 14.4.8 - SDK 10.6 [Click for support]
        AdobePDFViewer: Version: 11.0.10 - SDK 10.6 [Click for support]
        JavaAppletPlugin: Version: Java 8 Update 40 Check version
    User internet Plug-ins: ℹ️
        CitrixOnlineWebDeploymentPlugin: Version: 1.0.105 [Click for support]
        Google Earth Web Plug-in: Version: 7.1 [Click for support]
    Safari Extensions: ℹ️
        Omnibar  Adware! [Click to remove]
        MacMin
    3rd Party Preference Panes: ℹ️
        Flash Player  [Click for support]
        Flip4Mac WMV  [Click for support]
        Java  [Click for support]
    Time Machine: ℹ️
        Time Machine not configured!
    Top Processes by CPU: ℹ️
             3%    AddressBookSourceSync
             3%    Google Chrome Helper(10)
             3%    Google Chrome
             2%    mdworker(5)
             1%    WindowServer
    Top Processes by Memory: ℹ️
        729 MB    Google Chrome Helper(10)
        481 MB    kernel_task
        119 MB    Google Chrome
        115 MB    Mail
        74 MB    softwareupdated
    Virtual Memory Information: ℹ️
        58 MB    Free RAM
        3.94 GB    Used RAM
        218 MB    Swap Used
    Diagnostics Information: ℹ️
        Apr 20, 2015, 09:21:25 AM    Self test - passed

    So I looked up the info on OWC as suggested and found the correct memory to upgrade but not sure how much to get and which option? I wanted to know how much space I have available to upgrade so I don't buy something that's more than what can be used. I'm not sure if I need 4GB or 8GB of ram? Also there are two options with every memory choice for instance:
    8.0GB PC3-10600 1333MHZ SO Kit (4GB + 4GB) w/Lifetime Limited Warranty
    Same Day
    $78.79
    8.0GB PC3-10600 SO-DIMM 204 Pin w/Lifetime Limited Warranty
    Same Day
    $82.79
    Not sure what the difference is in the two and which I would need to purchase? Thank you for all your help!

  • How can i hide a JFrame and then Show it again in runtime

    How can i hide a JFrame and then Show it again in runtime??
    Please, please help me
    Its URGENT

    Here's even an example:
    import javax.swing.*;
    public class HideAndShow extends JFrame
         public HideAndShow()
              super("Hello");
              setSize(200, 200);
              setVisible(true);
              try
                   Thread.sleep(2000);
              } catch(InterruptedException e) {}
              setVisible(false);
              try
                   Thread.sleep(2000);
              } catch(InterruptedException e) {}
              setVisible(true);
         public static void main(String[] args)
              new HideAndShow();
    The JFrame will show, then hide, then show again. This is at runtime.

  • How do I find out the exact path of each and every file that LabVIEW finds and loads into memory for a given top level vi?

    How do I find out the exact path of each and every file that LabVIEW finds and loads into memory for a given top level vi? There is probably a trivial, easy way to get this info, but I have not yet found it!  Thanks..

    Or if you want to grab all the paths programatically, try the attached VI.
    Open the top level that you want all the paths from and close all others, then open the
    attached and run it. It will return an array of all the VIs that the VI
    in question uses, including vi.lib VIs. You can filter these as well if
    you like.
    Ed
    Message Edited by Ed Dickens on 08-01-2005 07:01 PM
    Ed Dickens - Certified LabVIEW Architect - DISTek Integration, Inc. - NI Certified Alliance Partner
    Using the Abort button to stop your VI is like using a tree to stop your car. It works, but there may be consequences.
    Attachments:
    Get all paths.vi ‏29 KB

  • JFrame and Windows as a whole

    Hey peoples,
    Anyone know where I can get information in regards to building custom windows? For example, the default Java Window has the Java Icon on the top right of the window and has a particular color to it. I was interested on making a window with a different border, color, (Top label)...you know, just customize the appearance...any clues?
    Thanx,
    Shrubz

    I'm building a standard application. I know how to use JFrame and the whole nine yards; however, I was looking into customizing the actual Window which is created by Swing. Let us say that the TOP bar which every window has by default is displaying a stretched image rather than the light blue color is has by default...know what I mean?
    Thanx,
    Shrubz

  • I have a seagate 1tb hard drive and a 16gb memory stick, how do i transfer avi files from one to another as the click drag and drop wont work, please help?

    i have a seagate 1tb hard drive and a 16gb memory stick, how do i transfer avi files from one to another as the click drag and drop wont work, please help?

    Greetings,
    What happens when you drag it?
    Make sure the drive you are moving the files to has enough available space to receive the file:
    Click on the movie file and go to File >  Get Info and note the "size"
    Check the drive to which you are moving the file to make sure it has enough available space: https://idisk.me.com/madisonfile-Public/web/finder-drive-available-space-and-for mat.html
    Also note the format of the drive you are copying too.  If it is not Mac OS Extended or FAT (not recommended unless you are taking it to a windows computer) then that may be the issue.
    Hope that helps.

  • We have an early 2008 imac and we realize it is not long for this world but we would like to get a few more months out of it until we can afford a newer one. Can we put in a larger hard drive and add some memory?

    Would it be worthwhile to put in a larger hard drive and boost the memory on our early 2008 iMac? We realize it is on borrowed time but we would like to squeeze a little more time out of it.

    Problem description:
    This iMac is running awfully slow, and freezes up often
    EtreCheck version: 2.1.5 (108)
    Report generated December 20, 2014 at 1:40:32 PM CST
    Click the [Support] links for help with non-Apple products.
    Click the [Details] links for more information about that line.
    Click the [Adware] links for help removing adware.
    Hardware Information: ℹ️
      iMac (24-inch, Early 2008) (Verified)
      iMac - model: iMac8,1
      1 2.8 GHz Intel Core 2 Duo CPU: 2-core
      4 GB RAM Upgradeable
      BANK 0/DIMM0
      2 GB DDR2 SDRAM 800 MHz ok
      BANK 1/DIMM1
      2 GB DDR2 SDRAM 800 MHz ok
      Bluetooth: Old - Handoff/Airdrop2 not supported
      Wireless:  en1: 802.11 a/b/g/n
    Video Information: ℹ️
      ATI Radeon HD 2600 Pro - VRAM: 256 MB
      iMac 1920 x 1200
    System Software: ℹ️
      OS X 10.9.5 (13F34) - Uptime: 21:42:10
    Disk Information: ℹ️
      Hitachi HDP725032GLA380 disk0 : (320.07 GB)
      EFI (disk0s1) <not mounted> : 210 MB
      Macintosh HD (disk0s2) / : 319.21 GB (204.84 GB free)
      Recovery HD (disk0s3) <not mounted>  [Recovery]: 650 MB
    USB Information: ℹ️
      Apple Inc. Built-in iSight
      Logitech USB Receiver
      Apple Inc. BRCM2046 Hub
      Apple Inc. Bluetooth USB Host Controller
      Apple Computer, Inc. IR Receiver
    Gatekeeper: ℹ️
      Mac App Store and identified developers
    Kernel Extensions: ℹ️
      /System/Library/Extensions
      [not loaded] com.seagate.driver.PowSecDriverCore (5.0.1) [Support]
      /System/Library/Extensions/Seagate Storage Driver.kext/Contents/PlugIns
      [not loaded] com.seagate.driver.PowSecLeafDriver_10_4 (5.0.1) [Support]
      [not loaded] com.seagate.driver.PowSecLeafDriver_10_5 (5.0.1) [Support]
      [not loaded] com.seagate.driver.SeagateDriveIcons (5.0.1) [Support]
    Startup Items: ℹ️
      HP IO: Path: /Library/StartupItems/HP IO
      Startup items are obsolete in OS X Yosemite
    Launch Agents: ℹ️
      [running] com.seagate.SeagateStorageGauge.plist [Support]
    Launch Daemons: ℹ️
      [loaded] com.adobe.fpsaud.plist [Support]
      [running] com.memeo.Memeod.plist [Support]
    User Launch Agents: ℹ️
      [loaded] com.google.keystone.agent.plist [Support]
      [invalid?] com.leadertech.PowerRegister.EPS2.fa8d34509cfddcea6fdfd2f145193825.plist [Support]
    User Login Items: ℹ️
      iTunesHelper UNKNOWN (missing value)
    Internet Plug-ins: ℹ️
      DirectorShockwave: Version: 11.5.0r600 [Support]
      Flash Player: Version: 15.0.0.246 - SDK 10.6 Mismatch! Adobe recommends 16.0.0.235
      FlashPlayer-10.6: Version: 15.0.0.246 - SDK 10.6 [Support]
      iPhotoPhotocast: Version: 7.0
      QuickTime Plugin: Version: 7.7.3
      Default Browser: Version: 537 - SDK 10.9
    User internet Plug-ins: ℹ️
      BrowserPlus_2.9.8: Version: 2.9.8 [Support]
      Move-Media-Player: Version: npmnqmp 071505000006 [Support]
    3rd Party Preference Panes: ℹ️
      BrowserPlus  [Support]
      Flash Player  [Support]
    Time Machine: ℹ️
      Skip System Files: NO
      Mobile backups: OFF
      Auto backup: NO - Auto backup turned off
      Destinations:
      FreeAgent GoFlex Drive [Local]
      Total size: 1.00 TB
      Total number of backups: 1
      Oldest backup: 2014-06-08 05:27:16 +0000
      Last backup: 2014-06-08 05:27:16 +0000
      Size of backup disk: Excellent
      Backup size 1.00 TB > (Disk size 0 B X 3)
    Top Processes by CPU: ℹ️
          2% WindowServer
          2% com.apple.WebKit.WebContent
          1% fontd
          0% AppleSpell
          0% aosnotifyd
    Top Processes by Memory: ℹ️
      292 MB Safari
      219 MB com.apple.WebKit.WebContent
      180 MB mds_stores
      150 MB softwareupdated
      120 MB installd
    Virtual Memory Information: ℹ️
      1.61 GB Free RAM
      1.86 GB Active RAM
      277 MB Inactive RAM
      543 MB Wired RAM
      626 MB Page-ins
      0 B Page-outs
    Diagnostics Information: ℹ️
      Dec 19, 2014, 03:58:57 PM Self test - passed

  • Enlarge JFrame and its components properties  proportionally

    Hi,
    We have a simple JFrame � Container - uses Flow Layout and has got Buttons, Text Fields� All of them are using Java�s default fonts, sizes..�
    And we want to increase or enlarge all of the JFrame and its sub components properties proportionally (especially Font�.) like in for example MS-Word.
    In the Ms-Word, there is ZOOM option in the Standard tool bar menu. If you set zoom to 150%, the font is automatically increases. And if you set it to 100% the font sets back to normal. And if the window is not enough to fit, it adds the scroll bars.
    For example, if we increase the Labels Font, the height of that component also should increase proportionally. So the Frame also should increase.
    How could we achieve this sort of functionality ( i.e. Proportionally increasing the component�s properties ) in Swing?
    I believe it is hard to set/adjust the all of the Frame�s components properties (I.e. Height, Font�) proportionally by using the Component listeners.
    (Another example, you might have noticed that the Frame�s Font, hight,width �sizes are proportionally bigger in Systems screen�s 800 by 600 pixels mode compare with 1024 by 768 pixels mode. May be this is windows feature. But we are looking at achieving the same sort of feature)
    Any help or thoughts would be appreciated.
    Thanks in advance.
    Vally.

    Here is a working sample:
    package ui_graphics;
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.FlowLayout;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.LayoutManager;
    import java.util.Arrays;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JSpinner;
    import javax.swing.SpinnerListModel;
    import javax.swing.SpinnerModel;
    import javax.swing.event.ChangeEvent;
    import javax.swing.event.ChangeListener;
    public class ZoomableFrameTest {
       private ZoomablePanel zoomPanel;
       private JLabel label;
       public ZoomableFrameTest() {
          label = new JLabel("Essai pour le zoom");
          label.setBounds(0,0,200,16);
          zoomPanel = new ZoomablePanel();
          zoomPanel.add(label);
          JFrame frame= new JFrame("Zoom test");
          frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          frame.getContentPane().add(getZoomSpinner(), BorderLayout.NORTH);
          frame.getContentPane().add(zoomPanel, BorderLayout.CENTER);
          frame.pack();
          frame.setVisible(true);
       public static void main(String[] args) {
          new ZoomableFrameTest();
       public JSpinner getZoomSpinner() {
          String[] zoomValues = { "50", "100", "150" };
          SpinnerModel model = new SpinnerListModel(Arrays.asList(zoomValues));
          final JSpinner spZoom = new JSpinner(model);
          Dimension dim = new Dimension(60, 22);
          spZoom.setMinimumSize(dim);
          spZoom.setPreferredSize(dim);
          spZoom.setMaximumSize(dim);
          spZoom.setFocusable(false);
          spZoom.addChangeListener(new ChangeListener() {
             public void stateChanged(ChangeEvent e) {
                // R�cup�re le facteur d'�chelle
                int factor = Integer.parseInt((String)spZoom.getValue());
                setScaleFactor(factor);
          spZoom.setValue("100");
          return spZoom;
       private void setScaleFactor(int factor) {
          zoomPanel.setZoomFactor(factor);
    class ZoomablePanel extends JPanel {
       private int zoomFactor;
       public ZoomablePanel() {
          super(null);
       public void setZoomFactor(int factor) {
          this.zoomFactor = factor;
          if (this.isShowing()) this.repaint();
       public void paint(Graphics g) {
          super.paintComponent(g);
          double d = zoomFactor / 100d;
          Graphics2D g2 =(Graphics2D)g;
          g2.scale(d, d);
          super.paint(g2);
    }

Maybe you are looking for