Re: JFrame help
Andrew Thompson wrote:
StillillWill@googlemail.com wrote:
Sub: JFrame Help
Note that 'Help' is redundant in titles, and 'JFrame'
does not tell us much, a better title might be
'load file from same folder, possible?'
So my question is if I build a JFrame can I use a button in that JFrame
to open a .java file in the same folder?
Yes.
I saw a later post from you that had code, and
went to reply to it, did you cancel it?
In any case, since you were apparently OK
to the point of acting on button clicks, here
is a simple (and kludgy) way to do what you
were trying to achieve.
<sscce>
import java.io.File;
import javax.swing.*;
import java.awt.Dimension;
public class LoadMe {
public static void main(String args[]) throws Exception {
File source = new File(".","LoadMe.java");
JEditorPane jep = new JEditorPane(
source.toURI().toURL() );
JScrollPane sp = new JScrollPane(jep);
sp.setPreferredSize(new Dimension(400,200));
JOptionPane.showMessageDialog(null,sp);
}
}
</sscce>
Comments on the code I wrote.
This is probably not the way I would go about
'loading a Java file from the current directory',
but it would depend on what I intended doing
with the Java file, e.g.
- whether I ever might want to load a Java file
from *another* directory,
- handle mutliple Java files at the same time, or
- later potentially want to save an altered copy
back to disk...
Comments on the code I saw (that you posted)..
- The code would initially not compile, because of the
reference to a Process which was not declared,
please ensure posted code is compilable.
- .show() was deprecated in Java 1.2 - consult
the JavaDocs for replacements.
- .setBounds() is the sign of a very fragile GUI,
for reliable GUI's, see layouts in the Java Tutorial,
to arrange GUI elements in a robust way.
- When posting the code, it really only needed
1 button (as opposed to the four it had) and no labels,
the SSCCE document discusses why these extra bits
should best be trimmed while concentrating on the
problem. Please read it.
Andrew T.