2013-09-23 19 views
0

我正在學習Java swing庫,並創建了這個第一個簡單的Hello World示例,它在BorderLayout.CENTER區域中打印Hello World消息,並在周圍放置了一些按鈕。我需要做什麼才能將文本放置在Swing BorderLayout對象的中心?

這是我的代碼:

import java.awt.BorderLayout; 
import java.awt.Button; 
import java.awt.Dimension; 

import javax.swing.JFrame; 
import javax.swing.JLabel; 

import org.jdesktop.application.SingleFrameApplication; 

public class Main extends SingleFrameApplication { 

    /* 
    @Override 
    protected void startup() { 
     // TODO Auto-generated method stub 
     show(new JLabel("Hello World")); 
    } 
    */ 

    public static void main(String[] args) { 
     Main a = new Main(); 
     a.startup(); 
    } 


    @Override protected void startup() { 
     /* 
     JLabel label = new JLabel(); 
     label.setName("label"); 
     show(label); 
     */ 
     JFrame frame = new JFrame("FrameDemo");      // Creo il frame e gli setto il titolo 

     /* What happens when the frame closes: EXIT_ON_CLOSE operation exits the program when your user closes the frame. 
     * Utile se il programma contiene un solo frame: chiudere il frame significa chiudere l'intera applicazione 
     */ 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  

     JLabel myLabel = new JLabel("Hello World !!!"); 

     myLabel.setPreferredSize(new Dimension(600, 300)); 

     // Ottengo il riquadro del contenuto e gli aggiungo la label creata in una determinata posizione: 

     frame.getContentPane().add(myLabel, BorderLayout.CENTER); 

     frame.getContentPane().add(new Button("North"), BorderLayout.NORTH); 
     frame.getContentPane().add(new Button("South"), BorderLayout.SOUTH); 
     frame.getContentPane().add(new Button("East"), BorderLayout.EAST); 
     frame.getContentPane().add(new Button("West"), BorderLayout.WEST); 

     //Display the window. 
     frame.pack(); 
     frame.setVisible(true); 
    } 

} 

正如你所看到的BorderLayout.CENTER區左側的的Hello World消息出現。我需要做些什麼才能將此文本放在CENTER區域的中間?

TNX

安德烈

回答

4
JLabel myLabel = new JLabel("Hello World !!!", SwingConstants.CENTER); 

myLabel.setHorizontalAlignment(SwingConstants.CENTER); 

的Javadoc是你的朋友:JLabel.setHorizontalAlignment

相關問題