我想创建动态按钮(例如 15 个),但我可以在屏幕上看到它们(450,450),我尝试使用滚动窗格,但没有结果。这个想法很简单,创建 X 按钮并可以在屏幕中垂直滚动(按钮位于屏幕中心)
这是代码,但我不知道谁让滚动窗格运行良好.. 总是有相同的结果(我不包括滚动窗格代码)
public class Consulta2 extends JFrame {
private JPanel contentPane;
private JLabel label;
private JButton boton;
public Consulta2() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(450, 450);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
int x=50;
for (int i=0;i<10;i++){
JButton boton = new JButton("oli");
GroupLayout gl_contentPane1 = new GroupLayout(contentPane);
gl_contentPane1.setHorizontalGroup(
gl_contentPane1.createParallelGroup(Alignment.LEADING)
.addGroup(gl_contentPane1.createSequentialGroup()
.addGap(163)
.addComponent(boton)
.addContainerGap(172, Short.MAX_VALUE))
);
gl_contentPane1.setVerticalGroup(
gl_contentPane1.createParallelGroup(Alignment.LEADING)
.addGroup(gl_contentPane1.createSequentialGroup()
.addGap(50+x)
.addComponent(boton)
.addContainerGap(229, Short.MAX_VALUE))
);
contentPane.setLayout(gl_contentPane1);
x=x+50;
//contentPane.add(boton);
setVisible(true);
}
label = new JLabel("New label");
GroupLayout gl_contentPane = new GroupLayout(contentPane);
gl_contentPane.setHorizontalGroup(
gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGroup(gl_contentPane.createSequentialGroup()
.addGap(183)
.addComponent(label))
);
gl_contentPane.setVerticalGroup(
gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGroup(gl_contentPane.createSequentialGroup()
.addGap(68)
.addComponent(label))
);
contentPane.setLayout(gl_contentPane);
Dimension tamFrame=this.getSize();//para obtener las dimensiones del frame
Dimension tamPantalla=Toolkit.getDefaultToolkit().getScreenSize(); //para obtener el tamanio de la pantalla
setLocation((tamPantalla.width-tamFrame.width)/2, (tamPantalla.height-tamFrame.height)/2); //para posicionar
setVisible(true);
}
public void mostrar()
{
setVisible(true);
}
public void setText(String string) {
//JLabel label = new JLabel();
label.setText(string);
}
}