我尝试(不成功)将循环生成的JButton添加到JPanel。问题是JPanel已经超过了JScrollPane。这是我的代码:
String categoria = this.cmbCategoria.getSelectedItem().toString();
String[] partidos = myEstadio.buscarPartidos(categoria).split("/");
JButton b;
for(String p : partidos){
b = new JButton(p);
this.panelScroll.add(b, BorderLayout.CENTER);
System.out.println(p);
System.out.println(b.getLocationOnScreen());
如您所见,我打印标签和按钮的位置以确保它存在。
它既存在又有标签,但它并没有显示出来。 JPanel具有BorderLayout
布局,我使用NetBeans 8.0.2
答案 0 :(得分:0)
实际上,您将新创建的Button
实例放在同一个地方。一个在另一个。在LayoutManager
中使用其他布局约束(例如NORTH,SOUTH,...),不同的LayoutManager
甚至更好的嵌套FlowLayout
,例如BorderLayout
。此外,您应该将其添加到JPanel
。
答案 1 :(得分:0)
如果您根本没有看到任何按钮,请确保您对组件的标记可见性为true。 如果您看到一个按钮,则使用不同的布局管理器