I am not able to add JTextField to JFrame. My JFrame contains a JLabel and a JTextField .
First, i have added the JLabel, and it is working. Here is the code.
private static void createandshowGUI()
{
JFrame frame =new JFrame("HelloSwing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setBackground(Color.red);
frame.setSize(200,200);
JLabel label=new JLabel("New To Java!!");
frame.getContentPane().add(label);
frame.setVisible(true);
}
public static void main(String[] args) {
createandshowGUI();} //and it shows the output like below .

Then i added JTextField .
JLabel label=new JLabel("New To Java!!");
frame.getContentPane().add(label);
JTextField jtf=new JTextField();
frame.getContentPane().add(jtf);
frame.setVisible(true);
But then it shows output like this.

Please somebody help me on this issue.Can i add more than one component to JFrame?As i am new to Java, i am having a confusion between frame,ContentPane and Layouts.
Just use the setBounds attribute. Jtextfield. setBounds(x,x,x,x);
Actually you are successful in adding the JTextField. The problem you are experiencing stems from the layout manager which stretches it across the whole frame.
The content pane of JFrame uses a BorderLayout manager by default. (See How to Use BorderLayout)
In my application a always ended up using the MigLayout manager, but first you might want to familiarize yourself with layout managers in general. (See A Visual Guide to Layout Managers)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With