Я пытаюсь создать JFrame и в котором я хочу, чтобы кнопка (Select the Device) была сверху, и текстовое сообщение (Active), которое находится в форме Label внизу , Я не могу этого сделать, и все они появляются в одной строке рядом друг с другом.Выравнивание JButton и JLabel на JFrame
JFrame f= new JFrame("AutoV");
f.setVisible(true);
f.setSize(600,400);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel p=new JPanel();
p.setBackground(Color.gray);
JButton b=new JButton("Select the Device");
JLabel lab=new JLabel("Active");
lab.setVerticalAlignment(SwingConstants.BOTTOM);
//p.add(b);
p.add(lab);
p.setBorder(BorderFactory.createLineBorder(Color.black));
f.add(p);
Dimension dim1 = Toolkit.getDefaultToolkit().getScreenSize();
f.setLocation(dim1.width/2-f.getSize().width/2, dim1.height/2-f.getSize().height/2);
1. JPanel имеет FlowLayout и 2. f.setVisible (истина); должна быть последняя строка кода, 3 – mKorbel
Управление местоположением контролируется макетом, который вы использовали для холста? –
@RomanC По умолчанию макет, как сказал @mKorbel, - 'FlowLayout', так как искатель ничего не задал. Кроме того, в Swing нет холста :) – user1803551