package uva.ql.interpreter.gui.elements;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.font.FontRenderContext;
import java.awt.geom.AffineTransform;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import uva.ql.interpreter.gui.supporting.Size;
public class UILabel {
public JLabel randerUILabel(Size size, String text){
JLabel label = new JLabel(text);
label.setMinimumSize(new Dimension(size.getWidth(),size.getHeight()));
label.setPreferredSize(new Dimension(size.getWidth(),size.getHeight()));
label.setPreferredSize(new Dimension(size.getWidth(),size.getHeight()));
label.setHorizontalAlignment(SwingConstants.RIGHT);
label.setSize(getTextHeight(text), 200);
return label;
}
private int getTextHeight(String text){
AffineTransform transform = new AffineTransform();
FontRenderContext frc = new FontRenderContext(transform,true,true);
Font font = new Font ("Helvetica", Font.PLAIN,12);
int textheight = (int)(font.getStringBounds(text, frc)).getHeight();
if (textheight < 50){
return 50;
}
return textheight;
}
}