2012-07-11 86 views
3

我會在JPanel上寫一個字符串比其他元素更大的尊重,這可能是簡單地繪製字符串的方式嗎?有一種方法可以做到這一點?在jpanel中心寫一個字符串

+0

出了什麼問題'JLabel'? – trashgod 2012-07-11 08:43:31

回答

10

的大小您可以在文本添加爲​​一個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); 
} 

該代碼將運行,如下所示: GUI

Java layout manager vertical center詳情參見

+1

這依賴(偶然)在'new GridBagConstraints()'的默認屬性上。這將如何與其他組件一起工作?其他佈局? – trashgod 2012-07-11 09:03:07

2

只需設置字體

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

默認的'horizo​​ntalAlignment'是'LEADING',它可以使用默認的'FlowLayout'。還應考慮按姓氏指定字體,例如'Font.SANS_SERIF'。 – trashgod 2012-07-11 08:55:41

4

的JLabel支持HTML 3.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(); 

    } 

} 

下面是它的樣子:

Here's how it looks like

相關問題