сегодня у меня небольшая проблема, которая, вероятно, ничего не значит для профессионалов:)
Я хочу, чтобы мои компоненты Swing были в одной горизонтальной линии.Я использовал FlowLayout и изменил размер компонентов в componentResized () в соответствии с размером кадра, но он часто глючил (иногда последний компонент помещался в следующую строку) ... Я решил использовать BoxLayout, но для этого кода:
down=new JPanel(new BoxLayout(down,BoxLayout.X_AXIS));
down.setBorder(BorderFactory.createEmptyBorder(0, 10, 10, 10));
down.add(Box.createHorizontalGlue());
down.setPreferredSize(new Dimension(300,35));
происходит сбой с:
Exception in thread "AWT-EventQueue-0" java.awt.AWTError: BoxLayout can't be shared
at javax.swing.BoxLayout.checkContainer(Unknown Source)
at javax.swing.BoxLayout.invalidateLayout(Unknown Source)
at javax.swing.BoxLayout.addLayoutComponent(Unknown Source)
at java.awt.Container.addImpl(Unknown Source)
at java.awt.Container.add(Unknown Source)
at ButtonFrame.<init>(chat.java:278)
at chat$1.run(chat.java:20)
aso...
Я не знаю, что делать, может быть, я могу сделать FlowLayout неспособным сделать 2-ю строку или заставить работать макет коробки?
Спасибо за любые ответы!