Как создать 3 кнопки в java swing, чтобы они занимали 1/3 панели, к которой они добавляются?

#java #swing #layout-manager

#java #swing #layout-manager

Вопрос:

 private JPanel createControlPanel() {
    JPanel ctrl = new JPanel();
    addBorder(ctrl,"Controls");
    //add 3 buttons here

    return ctrl;
    }
 

Я хочу создать эти 3 кнопки и добавить их в ctrl

Комментарии:

1. Попробуйте JPanel ctrl = new JPanel(new GridLayout(1,3))

2. docs.oracle.com/javase/tutorial/uiswing/layout/grid.html . Кнопки будут отображаться в том порядке, в котором вы вызываете метод add на своей панели

3. вы также можете использовать макет коробки: docs.oracle.com/javase/7/docs/api/javax/swing/BoxLayout.html

Ответ №1:

Из документации :

 GridLayout experimentLayout = new GridLayout(1,3);
compsToExperiment.setLayout(experimentLayout);

compsToExperiment.add(new JButton("Button 1"));
compsToExperiment.add(new JButton("Button 2"));
compsToExperiment.add(new JButton("Button 3"));
 

Док