我有一個gui,它有一個包含一系列標籤和TextField並使用彈簧佈局(這是mainPanel)和另一個包含按鈕(buttonPanel)的Panel的面板。我想讓我的mainPanel也有一個垂直滾動條。我想實現我的GUI,使得在JFrame中我有2個面板。 mainPanel出現在框架的頂部,buttonPanel出現在mainPanel的下面。將JPanel添加到JScrollPane
我的問題是我不能讓面板出現,使buttonPanel在mainPanel下面,我也不知道如何添加一個滾動條到mainPanel。任何幫助,將不勝感激。
編輯:我能解決我關於JPanels的問題,現在我唯一的問題是我不能讓我的mainPanel滾動。我已經添加了我的下面最近的代碼:
這裏是我的代碼至今:
public static void main(String args[]) {
JFrame frame = new JFrame("SpringLayout");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JScrollPane scroll = new JScrollPane();
Container contentPane = frame.getContentPane();
JButton next = new JButton("Next");
JPanel buttonPanel = new JPanel();
buttonPanel.add(next);
SpringLayout layout = new SpringLayout();
JPanel mainPanel = new JPanel();
mainPanel.setLayout(layout);
contentPane.setLayout(new BorderLayout());
int j = 25;
for(int i =0;i<150;i++){
JLabel label = new JLabel("Enter Name " + i);
JTextField text = new JTextField(15);
mainPanel.add(label);
mainPanel.add(text);
layout.putConstraint(SpringLayout.WEST, label, 10, SpringLayout.WEST,
contentPane);
layout.putConstraint(SpringLayout.NORTH, label, j, SpringLayout.NORTH,
contentPane);
layout.putConstraint(SpringLayout.NORTH, text, j, SpringLayout.NORTH,
contentPane);
layout.putConstraint(SpringLayout.WEST, text, 20, SpringLayout.EAST,
label);
j+=30;
}
//mainPanel.setSize(500,800);
scroll.setPreferredSize(new Dimension(500,500));
scroll.setViewportView(mainPanel);
contentPane.add(scroll);
contentPane.add(buttonPanel,BorderLayout.SOUTH);
//mainWindow.add(contentPane);
frame.setSize(500, 600);
frame.setVisible(true);
}
我覺得很好的問題+1 – mKorbel