我創建了10個JTextField,現在我想將它們對齊到右側。我知道這可以用[nameTextField].setHorizontalAlignment(JTextField.RIGHT);
來完成,但我想知道這是否可以用一行代碼完成。由於JTextField.setHorizontalAlignment(JTextField.RIGHT);
,不起作用,我的問題是:這可能嗎?調整JTextField默認對齊
1
A
回答
0
由於
JTextField.setHorizontalAlignment(JTextField.RIGHT);
不起作用
讓我們明白,爲什麼不先工作。如果我們查看JTextField
的文檔,我們可以看到它包含在Method Summary heading下的所有方法。它有一個方法setHorizontalAlignment(int alignment)
,它返回void
。請注意,該方法未被聲明爲static
(請查看它的最左邊的欄位void
)。由於該方法不是靜態的,我們不能在類本身上調用它,而只能在類的實例上調用它。
這可能嗎?
我想你這裏有兩種選擇:
- 你也可以繼承
JTextField
,將其命名爲一些諸如RightAlignedTextField
,並將它設置默認的對齊方式。然後,您可以使用此代替普通的ol'JTextField
。或 - 您可以編寫一個方法來調整您打算使用的所有文本字段的對齊方式。
要在例如同時使用:
import javax.swing.*;
import java.awt.*;
class RightAlignedTextField extends JTextField {
public RightAlignedTextField(int columns) {
super(columns);
this.setHorizontalAlignment(RIGHT);
}
}
public class Q21970358 extends JFrame {
private final static long serialVersionUID = 0L;
private JTextField t1 = new JTextField(30);
private JTextField t2 = new JTextField(30);
private JTextField t3 = new JTextField(30);
private JTextField t4 = new JTextField(30);
private JTextField t5 = new JTextField(30);
private JTextField t6 = new RightAlignedTextField(30);
public Q21970358() {
super("Stack Overflow Q21970358");
this.addTextFields();
this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setMinimumSize(new Dimension(400, 300));
}
public void alignAllRight(JTextField... fields) {
for (JTextField t : fields) {
t.setHorizontalAlignment(JTextField.RIGHT);
}
}
public void addTextFields() {
// Set all to align right
// This is the part you're looking for
// (2)
this.alignAllRight(t1, t2, t3, t4, t5);
JPanel panel = new JPanel();
panel.add(t1);
panel.add(t2);
panel.add(t3);
panel.add(t4);
panel.add(t5);
panel.add(t6); // (1)
this.add(panel);
}
public static void main(String[] args) { new Q21970358(); }
}
相關問題
- 1. 如何爲在JTextField中輸入的文本調整右對齊
- 2. jtextfield默認光標位置
- 3. 調整默認邊距
- 4. MPMoviePlayer默認控制按鈕未對齊
- 5. 對齊和非默認浮點表示
- 6. MSVC默認內存對齊方式8
- 7. 內嵌塊對齊垂直默認
- 8. 奇怪的默認導航欄對齊
- 9. 黑莓默認文本對齊
- 10. 如何垂直對齊JLabel-JTextField對
- 11. 設置默認的LAF的JTextField尺寸
- 12. CarrierWave:調整默認圖像的大小
- 13. 調整默認Android標籤問題
- 14. 調整django管理員默認權限
- 15. 如何對齊JTextField中的文本?
- 16. 在BorderLayout中對齊JLabel和JTextField
- 17. 右對齊調整窗口大小
- 18. Magento圖片調整對齊頂部
- 19. 調整的UILabel對齊到屏幕
- 20. Wpf窗體對齊和調整
- 21. 在Vim中調整/對齊errorformat輸出
- 22. 我想讓我的下拉菜單右對齊,而不是默認左對齊
- 23. 調整許多JTextField的高度
- 24. 如何調整JTextField的大小?
- 25. 調整JMenuBar中的JTextField的大小
- 26. JTextField調整大小最小化
- 27. 對象直接調用默認屬性
- 28. MongoMapper默認回調
- 29. Tomcat7默認不完整?
- 30. 整數的默認值?