Re: SSCCE of my graphical interface with memory leak
Sal wrote:
System.gc();
System.runFinalization();
System.gc();
Don't use these calls.
Don't use TABs in Usenet posts.
double impVmin =0;
....
JLabel labelVmin = null;
No need to initialize instance variables to zero or null; that's what happens
already.
String data_med_h = "";
It is often better to leave String instance variables at null rather than
initialize them to a throwaway value.
double Vmin = 30;
double Vmax= 10030;
double Smax =10030;
If these magic numbers are significant, you should make them static final
variables, i.e., compile-time constants (and therefore use all upper-case
variable names for them).
You also should use double literals to initialize double variables.
catch(Exception e) {}
Do not ignore exceptions. Log'em and handle'em.
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
Why did you do this more than once?
You have done everything in the constructor. Move all the real work out of
the constructor. It is dangerous to perform a whole lot of action inside an
incompletely-constructed object.
Refactor your two windows to be instantiated by separate classes, or at least
by separate methods.
Likewise with the different branches of "if ( ae.getSource()...)" blocks -
they belong in separate methods.
Make sure GUI actions happen on the EDT and that non-GUI actions don't.
See if you can make your SSCCE actually a *short* self-contained compilable
example.
<http://www.physci.org/codes/sscce.html>
--
Lew