2016-01-20 81 views
0

我正在爲NetBeans做一個小程序。我不需要在JPanel上創建多個JButton,但我無法做到這一點。 JPanel中已經在JFrame NetBeans編輯器生成的JPanel和JButton

這(也由NetBeans編輯使它)是代碼:

public static ArrayList<Account> accounts = Account.accounts; 
public verCuenta() { 
    initComponents(); 
    panel.setVisible(true); 
    Account ac; 
    JButton button; 

    int size= accounts.size(); 

    for(int i=0;i<size;i++){ 
     button = new JButton(accounts.get(i).getName()); 
     button.setVisible(true); 
     button.addActionListener(null); 
     button.setPreferredSize(new Dimension(50,30)); 
     panel.add(button); 
    } 
+1

更改佈局管理器,看看[布放組件內的容器(HTTP://文檔.oracle.com/javase/tutorial/uiswing/layout/index.html)更多詳細信息 – MadProgrammer

+0

即使有這個幫助我也解決不了問題......我的意思是...... JButton不能打印在JPanel ? – zasaz

+0

那麼,我假設'面板'已被添加到你試圖展示它的任何容器。考慮提供一個[可運行的示例](https://stackoverflow.com/help/mcve),它可以證明你的問題。這不是代碼轉儲,而是您正在做的事情的一個例子,它突出了您遇到的問題。這會減少混淆和更好的反應 – MadProgrammer

回答

-1

你需要的所有元素添加到面板上,然後調用setVisible方法。

調用setVisible方法後的增加本身並不考慮。

1

我得到了一個單一的按鈕彈出, 可能與此先啓動,然後試圖讓幾個,然後讓你的循環工作

// Create a new button: 
JButton b1 = new JButton("ok"); 
// Set the location and size of the button: 
b1.setSize(100, 26); 
// Add the button to the window: 
jPanel1.add(b1); 
//Repaint the Panel to make visible 
jPanel1.repaint(); 

只有當你設置大小的作品,只是在Netbeans中檢查。 您還可以指定位置,使用

b1.setLocation(100, 100); 

順便說一句,整個框架是在網格包佈局