Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set fix size of jlabel?

I am trying to make a java desktop application where I am using multiple JLabel I want to set fix height and width of JLabel. How can I achieve this?

Here is my code

public class Second extends JFrame
{
    JPanel panel1,panel2;
    JLabel label=new JLabel();
    ArrayList<JLabel> lbllist = new ArrayList<>();

    public Second()  
    {
        super("Simple Timer");
        {
            getContentPane().setBackground(new java.awt.Color(255,255,255));
        } 
        this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        Container c = getContentPane();
        c.setLayout( new FlowLayout());
        setUndecorated(true);
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        setBounds(0,0,screenSize.width, screenSize.height);

        panel2=new JPanel();
        panel2.setBounds(360, 180, 360, 1020);
        panel2.setBackground(new java.awt.Color(255,153,51));
        c.add(panel2);
        JPanel panel3 = createPanel();
        panel1.setLayout(new GridBagLayout());
        panel1.add(panel3);

        JPanel panel4 = createPanel(); 
        panel2.setLayout(new GridBagLayout());
    //  jPanel2.setLayout(null);
        panel2.add(panel4);

        setLayout(null);
   }

   private JPanel createPanel() {
        JPanel panel = new JPanel(new GridLayout(0, 1, 10, 5));
        EmptyBorder panelBorder = new EmptyBorder(10, 5, 10, 10);
        panel.setBorder(panelBorder);
        panel.setBackground(new java.awt.Color(255, 153, 51));
        panel.setOpaque(true);
        EmptyBorder border1 = new EmptyBorder(5, 20, 15, 18);

        Border border = BorderFactory.createLineBorder(Color.BLUE, 2);
        for (int i = 0; i <11; i++) {
            label = new JLabel("<html>Case &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Item&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CaseNum<br><font color=yellow>Party1<br>Party2</font></html>");
            label.setFont(new java.awt.Font("Times New Roman", 1, 18));
            label.setBorder(border);
            label.setSize(300, 100);
            label.setBorder(border1);
            Dimension d = label.getPreferredSize();
            label.setBackground(Color.GRAY);
            label.setForeground(new java.awt.Color(255, 255,255 ));
            label.setOpaque(true);
            lbllist.add(label);
            panel.add(label);
        }
        return panel;
    }

When I reduce text size or text from JLabel then size of JLabel reduced but I want that when i reduced or remove any text from JLabel but size of Jlabel should not reduced it should fix

How can I get this?

Thanks in advance

like image 780
user3506824 Avatar asked Apr 07 '14 18:04

user3506824


People also ask

How do you increase the size of a label in Java?

int fontSizeToUse = Math. min(newFontSize, componentHeight); // Set the label's font size to the newly determined size. label.

How do I increase the font size of a JLabel?

We change the Font Size parameter to change the size of the JLabel Font. The use of the Font() function is shown below: Object. setFont(new Font("Font-Style", Font-Weight, Font Size));

What is the difference between JLabel and JTextField?

JLabel is a component used for displaying a label for some components. It is commonly partnered with a text field or a password field. JTextField is an input component allowing users to add some text.


2 Answers

You can set a fixed the size by setting the minimum, preferred and maximum size:

setMinimumSize(width, height);
setPreferredSize(width, height);
setMaximumSize(width, height);

As the Link from MadProgrammer, you need to override these methods, not using them from outside, based on the reasons mentioned in this link.

like image 169
Salah Avatar answered Oct 06 '22 16:10

Salah


if this method not work

setMinimumSize(width, height);
setPreferredSize(width, height);
setMaximumSize(width, height);

then use it

setMinimumSize(new Dimension(width, height));
setPreferredSize(new Dimension(width, height));
setMaximumSize(new Dimension(width, height));
like image 25
Avanish Kumar Avatar answered Oct 06 '22 15:10

Avanish Kumar