我已经使用 swing 在 java 中编写了代码。因此我将向 JPanel 添加一个 JscrollPane 然后我将以垂直方式向 JPanel 添加固定大小的按钮
JPanel panel=new JPanel();
panel.setBackground(Color.WHITE);
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS;
int h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS;
JScrollPane jsp=new JScrollPane(panel,v,h);
jsp.setPreferredSize(new Dimension(600,600));
jsp.setBounds(150,670,850,200);
frame.add(jsp);
然后我在运行时向它添加按钮。
for(i=0;i<n;i++)
{
button[i]=new JButton();
button[i].setBounds(20,y,120,120);
button[i].setSize(120,120);
button[i].setToolTipText(file[i].toString());
button[i].setIcon(Icon);
panel.add(button[i]);
y=y+140; //initially y=20 so 1st button on x=20,y=20 2nd button on x=20,160
}
我想在另一个下面添加一个按钮...(即我得到一个垂直滚动条)
即按钮1
button2
'
'
问题是我使用 setsize/preffered size 设置的按钮的大小和边界,而 setbounds 根本不影响按钮的大小和位置(添加在面板上)...
怎么做? 谁能帮帮我???
最佳答案
如果要设置组件的位置和大小(手动),容器不应该使用LayoutManager,即将其设置为null
即可删除默认管理器:
panel.setLayout(null);
...
button[i].setBounds(20, y, 120, 120);
// setSize is not needed
...
panel.add(button[i]);
关于java - 如何设置添加到JPanel 上的按钮的大小和边界?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2289903/