2016-03-15 48 views
2

左側我想使文本和圖標對齊升側只有 這裏是代碼如何使圖標和文本對齊上的JButton

import java.awt.Dimension; 
import javax.swing.ImageIcon; 
import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 

public class LeftSide 
{ 
public LeftSide() 
{ 
JFrame frame = new JFrame("Button"); 
JPanel panel = new JPanel(); 
JButton button = new JButton("Submit"); 
button.setPreferredSize(new Dimension(200, 30)); 
button.setIcon(new ImageIcon(this.getClass().getResource("submit.gif"))); 
panel.add(button); 
frame.add(panel); 
frame.setVisible(true); 
} 

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

}

如果我運行這段代碼我會得到圖標和按鈕上的按鈕上的文本,所以如何使它們左側;

enter image description here

+0

也許是時候接受大家的一些問題解決方案.. – user3437460

回答

2

要將文本對齊到左邊使用button.setHorizontalAlignment(SwingConstants.LEFT);

import java.awt.Dimension; 
import javax.swing.*; 

public class LeftSide 
{ 
    public LeftSide() 
    { 
     JFrame frame = new JFrame("Button"); 
     JPanel panel = new JPanel(); 
     JButton button = new JButton("Submit"); 
     button.setPreferredSize(new Dimension(200, 30)); 
     button.setIcon(new ImageIcon(this.getClass().getResource("submit.gif"))); 
     button.setHorizontalAlignment(SwingConstants.LEFT); 
     panel.add(button); 
     frame.add(panel); 
     frame.setVisible(true); 
    } 

    public static void main(String[] args) 
    { 
     new LeftSide(); 
    } 
} 
+0

其工作感謝你 – SHAMBANNA

+0

@krato:也許你想編輯你的答案。只是爲了讓別人從這裏開始Swing UI開發。使用'SwingUtilities.invokeLater(new LeftSide());'確保在'EventDispatchThread'內完成所有事情。只是一個想法,不是必須的。 – Alexander

2

JButtonAbstractButton它提供了一種方法setHorizontalAlignment(int)應該做的正是你想要的。使用例如SwingConstants.LEFTSwingConstants.LEADING具有圖標和文本的左對齊。 給JavaDoc嘗試瞭解更多。

+0

其工作謝謝 – SHAMBANNA

+0

@ShimbuGowda,如果是工作,那麼你應該「接受「答案,通過點擊複選標記,讓人們知道問題已經解決。 – camickr

+0

對不起,我不知道,現在我做了,再次感謝你 – SHAMBANNA