2013-08-26 3 views
1

Вот мой фрагмент кодаправка элементов на JFrame

JButton browse,upload; 
JPanel panel; 
JLabel username,path; 

final JTextField usernameText,pathText; 
final JTextArea statusText; 

    InputWindow() 
    { 
    username = new JLabel(); 
    username.setText("Username:"); 
    usernameText = new JTextField(15); 

    startDate = new JLabel(); 
    startDate.setText("Start Date :"); 
    startDateText = new JPasswordField(15); 

    path = new JLabel(); 
    path.setText("File Path :"); 
    pathText = new JPasswordField(15); 

    browse=new JButton("Browse.."); 
    upload=new JButton("Upload.."); 

    statusText = new JTextArea(35, 35); 
} 

Как я должен добавить его в JFrame или JPanel, чтобы выровнять его на следующие способы

  1. Row 1 ---> имя пользователя и Имя пользователя Текст
  2. Row 2 ---> STARTDATE и startDateText
  3. Row 3 ---> путь, pathText, просматривать и загружать
  4. Строка 4 ---> statusText

У меня всегда есть время выравнивания элементов. Пожалуйста, руководство.

+0

GroupLayout отлично подходит для вашей проблемы: http://docs.oracle.com/javase/tutorial/uiswing/layout/group.html – Maroun

+0

[все, что вам нужно - визуальное руководство для менеджеров макетов) (http: // docs .oracle.com/JavaSE/учебник/uiswing/макет/visual.html). Объединив их, возможно, все макеты. – Dariusz

+0

Не откат изменений, я только улучшаю ваш. – Maroun

ответ

1

Не лучший способ, но самый простой способ понять!

Положите все, что вы хотите в строке в одном JTable, например:

JPanel row1 = new JPanel(); 

row1.add(username); 
row1.add(usernameText); 
... 

И так далее! Причина в том, что если вы поместите их на JPanel, проще разместить его на сетке. Если вы это сделали, используйте GridLayout для вас JFrame.

JFrame frame = new JFrame(new GridLayout(4, 1)); 

«4» - это строки, а «1» - столбцы! Теперь вы просто должны добавить JPanels в JFrame, как:

frame.add(row1); 
frame.add(row2); 

Имейте в виду, что это не самое лучшее решение! Есть и способы, когда вам не нужно столько панелей. Например, самое лучшее - GroupLayout. Если вы хотите увидеть все макеты, вы можете сделать это here. Я объяснил это здесь, потому что считаю, что это самый простой способ.

Смежные вопросы