2012-07-05 75 views
-2

我的出發點是這樣的:添加和對齊的JLabel和JCheckBoxes到JScrollPane的動態

enter image description here

矩形標籤下是JScrollPane

根據變量的值,我必須將JLabels和JCheckBox添加到滾動窗格。

我讀了其他線程,但我不能做我想做的。 你能幫我嗎?

我沒有代碼,因爲我認爲我可以用NetBeans設計器來做到這一點。 我唯一能做的就是

JLabel label = new JLabel("New Label"); 
JCheckBox cb = new JCheckBox("New CheckBox"); 
jScrollPane1.add(label); 
jScrollPane1.add(cb); 

但是顯然它不起作用。 感謝Robby現在我可以添加組件。 我需要知道如何對齊它們。 例如jLabel1下的一列標籤,jLabel2下的一列複選框等等,全都具有相同的高度和寬度。

+0

我希望NetBeans能夠生成所有的代碼。 有一個「initComponents()」方法可以在圖像中創建JDialog。 – user1505235 2012-07-05 21:59:14

+2

當NetBeans無法生成代碼時,您認爲...也許在stackoverflow的人會爲我生成代碼。如果你想得到答案,我建議在你的問題中加一些努力,而不是直接將這些組件添加到滾動窗格中,而是將其添加到包含在滾動窗格中的另一個容器中。 – Robin 2012-07-05 22:02:28

+1

如果沒有學習和建議,將無法構建任何體面的應用程序節目。拖動,指向並點擊不會導致你比靜態屏幕無所事事。 – 2012-07-05 22:02:32

回答

4

您不直接將元素添加到JScrollPane。您將元素添加到JPanel,然後然後添加到JScrollPane。我強烈建議閱讀Swing,如果沒有其他的Java Swing tutorial

所以:

JPanel panel = new JPanel(); 
JLabel label = new JLabel("New Label"); 
JCheckBox cb = new JCheckBox("New CheckBox"); 
panel.add(label); 
panel.add(cb); 
JScrollPane scrollPane = new JScrollPane(panel); 

將是一個開端。

或者如果滾動窗格已經存在:scrollPane.setViewportView(panel)而不是構造函數。

或類似。但是,正如上述評論中提到的那樣,您確實想要首先學會代碼,而不是依靠程序(或其他人)爲您編寫代碼。