我有以下代码片段,其中TestClass正在扩展使用SpringLayout的jPanel,其中我无法添加垂直滚动条。
你能帮帮我们吗?
public class TestClass extends JPanel {
private SpringLayout layout;
private Spring s, sprWest;
private JComboBox comboDevice = new JComboBox();
private JComboBox comboCommand = new JComboBox();
private JLabel lblDevice = new JLabel("Select the Device:");
private JLabel lblCommand = new JLabel("Select Command:");
private JButton btnCommand = new JButton("Save");
public TestClass () {
layout = new SpringLayout();
s = Spring.constant(0, 60, 60);
setLayout(layout);
}
public void populateFields(){
add(lblCommand);
add(comboCommand);
sprLblEast = Spring.sum(s, Spring.max(layout.getConstraints(lblCommand).getWidth(), layout.getConstraints(lblDevice).getWidth()));
Spring strut = Spring.constant(10);
layout.putConstraint(SpringLayout.NORTH, lblCommand, strut, SpringLayout.SOUTH, comboDevice);
layout.putConstraint(SpringLayout.NORTH, comboCommand, strut, SpringLayout.SOUTH, comboDevice);
layout.putConstraint(SpringLayout.EAST, lblCommand, sprLblEast, SpringLayout.WEST, this);
layout.putConstraint(SpringLayout.WEST, comboCommand, Spring.sum(s, layout.getConstraints(lblCommand).getWidth()), SpringLayout.WEST, lblCommand);
layout.putConstraint(SpringLayout.EAST, this, sprLblEast, SpringLayout.WEST, comboCommand);
List cmdList = getCommandList();
for (int index = 0; index < cmdList.size(); index++) {
comboCommand.addItem(cmdName);
}
validate();
repaint();
}
}
答案 0 :(得分:0)
我会使用ScrollPane
ScrollPane mainWindow = new ScrollPane(ScrollPane.SCROLLBARS_AS_NEEDED);
mainWindow.add(this);
但您必须使用除TestClass
之外的其他对象作为视图,此处为mainWindow
。
你也可以使用Swing的JScrollPane:tutorial for JScrollPane