问题
I am currently working on a calculator. Right now, I am trying to gain experience with coding Java GUI, by making a simple program that makes a window with a text field. The code can compile without errors, but when I execute the program, the window appears, but without the text field. How do I make the text field visible? The code is shown as follows:
import javax.swing.*;
import java.awt.*;
public class Window {
public static void main(String[] args) {
JFrame Window = new JFrame("Window");
Window.setSize(400,550);
Window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel Panel = new JPanel (new FlowLayout());
JTextField TextField = new JTextField("Type something here");
Window.setVisible(true);
}
}
回答1:
You haven't added any of the components to your JFrame. You can add them like so:
Panel.add(TextField);
Window.add(Panel);
Window.setVisible(true);
Side note: You should stick to the Java naming conventions. Use camel case for variable names.
回答2:
You need to add them before making the frame visible.
Panel.add(TextField);
Window.add(Panel);
回答3:
You need to take the components that you have instantiated (e.g. the Panel
and TextField
) and add them to appropriate containers.
For example:
Panel.add(TextField);
Window.add(Panel);
If you have not done so already, I would highly recommend visiting http://docs.oracle.com/javase/tutorial/uiswing/index.html for more information on how to use the Swing library.
来源:https://stackoverflow.com/questions/22030127/why-is-nothing-showing-up-in-my-java-gui