JPanel.setSize() not working

18,340

Solution 1

Try using p1.setPreferredSize(new Dimension(200,200))

Solution 2

It doesn't work because windows have a flexible size value. The can stretch and shrink, so you set a PREFERRED size as a kind of default.

Share:
18,340
user528050
Author by

user528050

Updated on June 04, 2022

Comments

  • user528050
    user528050 almost 2 years

    Check out this code friends don't know why i am not able to set the size of JPanel... .

    import java.io.*;
    import java.util.*;
    import java.sql.*;
    //import java.applet.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    /*<applet code="k" height=400 width=400></applet>*/
    public class k extends JApplet implements ActionListener
    {
        JButton b,tinfo;
        JLabel l1,l2;
        JTextField f1,f2;
        JPanel p1;
        CardLayout c1;
        public void init()
        {
            b=new JButton("submit");
    
            f1=new JTextField(20);      
            f2=new JTextField(20);
            l1=new JLabel("username");
            l2=new JLabel("password");
            p1=new JPanel();
            c1=new CardLayout();
            add(l1);
            add(f1);
            add(l2);
            add(f2);
            add(b);
            add(p1);
            setLayout(new FlowLayout());
            b.addActionListener(this);
    
        }
        public void actionPerformed(ActionEvent ae)
        {
            //Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            //Connection con=DriverManager.getConnection("jdbc:odbc:mohit:","system","rock");
            try
            {
                Properties p=new Properties();
                p.load(new FileInputStream("mohu.properties"));
                String str1=f1.getText();
                String str2=p.getProperty("username");
                System.out.println(str1);
                System.out.println(str2);
                //System.out.println(Integer.toString(str2.length()));
                if(str1.equals(str2))
                {
                    if((f2.getText()).equals(p.getProperty("password")))
                    {
                        System.out.println("you are entered");
                    }
                    else
                    {
                        System.out.println("wrong first");
                    }
                }
                else
                {
                    System.out.println("wrong second ");
                }
                tinfo=new JButton("teachers information");
            p1.add(tinfo);
                p1.setSize(200,200);
                p1.setBackground(Color.RED);
                //tinfo.setSize(50,50);
                p1.setLayout(c1);
                c1.next(p1);
            }
            catch(Exception ee)
            {
                ee.printStackTrace();
                System.out.println("Exception caught ");
            }
        }
    
        public void paint()
        {}
    }