I've a JLabel. The code for JLabel is as follows.
panelmain = new JPanel();
panelmain.setLayout(null);
panelmain.setPreferredSize(new java.awt.Dimension(800, 600));
panelmain.addComponentListener(listen);
panelmain.setBorder(null);
titlebar = new JLabel("Hello World");
titlebar.setBounds(10, 10, 100, 30);
panelmain.add(titlebar);
My questing is that if I change font of titlebar
(i.e. JLabel), then how to change size (which is already set in code as titlebar.setBounds(10, 10, 100, 30);
) of titlebar
?
Edit by Girish
My full code is as below.
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
public class IFrame extends JInternalFrame {
/**
*
*/
private static final long serialVersionUID = 6526561589695424088L;
private JScrollPane jsp;
private IFListen listen;
private JPanel panelmain;
protected JPanel panel;
private String title;
private JLabel titlebar;
public IFrame()
{
this.title="";
init();
}
public IFrame(String title)
{
this.title=title;
init();
}
private void init()
{
setLayout(null);
listen=new IFListen();
panelmain=new JPanel();
panelmain.setLayout(null);
panelmain.setPreferredSize(new java.awt.Dimension(800, 600));
panelmain.addComponentListener(listen);
panelmain.setBorder(null);
titlebar=new JLabel("Hello World");
titlebar.setFont(new java.awt.Font("Monotype Corsiva", 1, 48));
panelmain.add(titlebar);
panel=new JPanel();
panel.setBorder(javax.swing.BorderFactory.createTitledBorder(title));
panel.setMinimumSize(new java.awt.Dimension(400, 400));
panel.setSize(400, 400);
panelmain.add(panel);
jsp=new JScrollPane(panelmain);
jsp.setBorder(null);
add(jsp);
this.addComponentListener(listen);
}
//INFO Custom Methods
public void setTitleFont(java.awt.Font font)
{
titlebar.setFont(font); //Here I want to change size of label.
}
//INFO Listener Class for IFrame
private class IFListen implements ComponentListener
{
//INFO Overridden Methods
@Override
public void componentResized(ComponentEvent e)
{
if(e.getSource() instanceof IFrame)
jsp.setBounds(5, 5, getWidth()-20, getHeight()-20);
else if(e.getSource()==panelmain)
{
panel.setLocation(Integer.parseInt(panelmain.getWidth()/2-panel.getWidth()/2+""), 0);
}
}
//INFO Unimplemented Methods
@Override
public void componentShown(ComponentEvent arg0) {}
@Override
public void componentHidden(ComponentEvent arg0) {}
@Override
public void componentMoved(ComponentEvent arg0) {}
}
}
I've commented where the font size is changed and I want to change size of jlabel.