Display a form from another class file
I have a running java GUI application right now in a single class file, in this application I have a button that when clicked it is used to instantiate and display a separate form from a different class file in the same project. I am confused with how I actually access this other .java file in order to instantiate and开发者_运维知识库 display the form from it. Hope you can help. Thanks, Beef
How do you access any class file? JFrame, JPanel, JTextField are all examples of Java source code contained in separate files. You would use:
JFrame frame = new JFrame();
JPanel panel = new JPanel();
JTextField textField = new JTextField();
So to access your custom form your would use:
CustomForm form = new CustomForm();
As long as the class file is found on your classpath it should not be a problem.
If you are having compile or run time problems then you need to display the message so we can give further help.
I am somewhat new to Java but can't you just create another class that contains a GUI and then when you click on a JButton component you can just create an instance of that class.
if (clicked == myButton) then {
myGUIClass = new myGUIClass(); //if the GUI is in the constructors this will create
//the frame.
}
Then when you are finished with the JFrame or class then you should have a dispose() method that tidies up all of your files and exits the JFrame.
Best Regards, Doug Deines Hauf
I think that creating a new form in Java is a bit easier than C# or Visual Basic. Basically you can just create another class and build your form in that class. Once your GUI is built then you can just create an instance of that method in another class to show the gui.
Such as:
if (ButtonClick == true) {
MyGui m = new myGui(...);
m.show
} else
//no GUI shown here
}
Or you can just create an anonymous class to instantiate the GUI.
new myGui(...);
The above would create an anonymous class but I think it is better coding practice to create an actual variable of the class and then to call some method parameter that will show the GUI.
精彩评论