Java 在jpanel上写一个字符串

Java 在jpanel上写一个字符串,java,swing,fonts,jpanel,Java,Swing,Fonts,Jpanel,我会在JPanel上写一个比其他元素更重要的字符串。哪种方法可以简单地绘制字符串?有一种方法可以做到这一点?只需设置字体大小 JLabel bigLabel = new JLabel("Bigger text"); bigLabel.setFont(new Font("Arial", 0, 30)); 您可以将文本添加为JLabel组件并更改其字体大小 public static void main(String[] args) { NewJFrame1 frame =

我会在JPanel上写一个比其他元素更重要的字符串。哪种方法可以简单地绘制字符串?有一种方法可以做到这一点?

只需设置字体大小

    JLabel bigLabel = new JLabel("Bigger text");
    bigLabel.setFont(new Font("Arial", 0, 30));

您可以将文本添加为JLabel组件并更改其字体大小

public static void main(String[] args) {
    NewJFrame1 frame = new NewJFrame1();
    frame.setLayout(new GridBagLayout());
    JPanel panel = new JPanel();
    JLabel jlabel = new JLabel("This is a label");
    jlabel.setFont(new Font("Verdana",1,20));
    panel.add(jlabel);
    panel.setBorder(new LineBorder(Color.BLACK)); // make it easy to see
    frame.add(panel, new GridBagConstraints());
    frame.setSize(400, 400);
    frame.setLocationRelativeTo(null);
    frame.setDefaultCloseOperation(NewJFrame1.EXIT_ON_CLOSE);
    frame.setVisible(true);
}
代码将运行并如下所示:


有关更多信息,请参见

JLabel支持HTML3.2格式,因此如果不想弄乱字体,可以使用标题标记

import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;


public class HtmlHeadersSample extends JFrame {

    public HtmlHeadersSample() {
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setSize(300,200);
    setLocation(100, 100);
    JLabel label1 = new JLabel();
    label1.setText("simple text");
    label1.setBounds(0, 0, 200, 50);
    JLabel label2 = new JLabel();
    label2.setText("<html><h1>header1 text</h1></html>");
    label2.setBounds(0, 20, 200, 50);
    JLabel label3 = new JLabel();
    label3.setText("<html><h2>header2 text</h2></html>");
    label3.setBounds(0, 40, 200, 50);
    JLabel label4 = new JLabel();
    label4.setText("<html><h3>header3 text</h3></html>");
    label4.setBounds(0, 60, 200, 50);

    add(label1);
    add(label2);
    add(label3);
    add(label4);

    setVisible(true);
    }

    public static void main(String[] args) {
        new HtmlHeadersSample();

    }

}
导入java.awt.BorderLayout;
导入java.awt.Component;
导入java.awt.Container;
导入java.awt.event.ActionEvent;
导入java.awt.event.ActionListener;
导入javax.swing.*;
公共类HtmlHeadersSample扩展JFrame{
公共HtmlHeadersSample(){
setDefaultCloseOperation(关闭时退出);
设置大小(300200);
设置位置(100100);
JLabel label1=新的JLabel();
标签1.setText(“简单文本”);
标签1.立根(0,0,200,50);
JLabel label2=新的JLabel();
标签2.setText(“标题1文本”);
标签2.立根(0,20,200,50);
JLabel label3=新的JLabel();
标签3.setText(“标题2文本”);
标签3.立根(0,40,200,50);
JLabel label4=新的JLabel();
标签4.setText(“标题3文本”);
标签4.立根(0,60,200,50);
添加(标签1);
添加(标签2);
添加(标签3);
添加(标签4);
setVisible(真);
}
公共静态void main(字符串[]args){
新的HtmlHeadersSample();
}
}
下面是它的样子:


默认的
水平对齐
前导
,可与默认的
流程布局
一起使用。还考虑用姓氏指定字体,例如“代码>字体”。SaSSySRIF < /COD>。这依赖于(默认)<代码>新GRIDBAG约束()/<代码>的默认属性。这将如何与其他组件一起工作?其他布局?