2016-11-24 24 views
0

所以我需要開發一個登錄應用程序,你會有;除了JTextField以外的文本

用戶名[JTextField] 密碼[JTextField] 我的問題是;我怎樣才能把文本放在JTextField的旁邊?我會使用JLabel嗎?

我應該使用什麼佈局管理器? (考慮到我已經看過文檔,並且無法打開主意)。

預先感謝您。

+1

JLabel你試過了嗎? –

+0

@Luminous_Dev我覺得很難對齊。 –

+0

佈局管理器將幫助您對齊這兩個對象。 – KyleKW

回答

0

也許你應該考慮使用JavaFx,如果它可用。原因是因爲有一些名爲SceneBuilder的功能,可讓您將不同的項目拖放到您正在創建的窗格上。

如果您想使用swing,最好的辦法是使用JLabel,然後使用JLabel旁邊的JTextField。老實說,我認爲javafx更容易使用,如果你正在考慮使用它,我會看這些教程: https://www.youtube.com/watch?v=FLkOX4Eez6o 祝你好運! :)

+0

感謝您提供非常詳細和快速的響應,我確實瞭解了JavaFX,如果您提出建議,我會再看一次。 –

+0

非常好,我發現它非常容易和自我解釋,特別適用於我向您推薦的那些教程。如果你喜歡我的回答,你應該把它作爲接受的答案,如果你不介意:) – Aaron

+0

我已經完成了,你的答案是非常有幫助的。 Austins FlowLayout的想法工作得很好,謝謝大家的協助。 http://prntscr.com/dbdnqu。 –

0

如果您正在使用Java Swing,我建議使用gridbaglayout作爲您的佈局。當我第一次開始揮杆的時候,對我來說很容易學會,而且這幾乎是我現在使用的唯一佈局。

您可以在文本框旁邊使用JLabels,還有一種叫做JPasswordField的東西也可以用於您。

快樂編碼!

+0

嗨,我會再看看這個佈局!直到三分鐘前我忘記了JPassworldFields,但無論如何謝謝你,感謝你的建議! –

0

你可以設置你這樣的代碼,但是這隻適用於如果你的框架是一定的大小。

import java.awt.* ; 
import javax.swing.*; 
import java.awt.event.*; 
class Setup extends JFrame 
{ 
    TextField username = new TextField(15); 
    JLabel uLabel= new JLabel("Username"); 
    TextField password = new TextField(15); 
    JLabel pLabel = new JLabel("Password"); 
    Setup(String title) 
    { 
     JFrame frame = new JFrame(title); 
     frame.setSize(325, 400); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setVisible(true); 

     frame.setLayout(new FlowLayout()); 
     frame.add(username); 
     frame.add(uLabel); 
     frame.add(password); 
     frame.add(pLabel); 

    } 
    public static void main (String[] args) 
    { 
     Setup frame = new Setup("Login"); 
    } 
} 
+0

啊,當然,所以組件將被簡單地相鄰添加 - 我必須弄清楚的是幀的尺寸。謝謝你的建議! –

+0

http://prntscr.com/dbdnqu完美工作! –