У меня есть форма, которая содержит кнопки изображений, расположенные на западной стороне формы. Я хочу открыть конкретный контейнер, имеющий еще несколько кнопок, нажав одну из кнопок.
Как на картинке, есть три кнопки. Когда я нажимаю первую кнопку, она должна открыть цветной контейнер с кнопками перед ними. Когда я нажимаю кнопку 2, он должен открыть контейнер.
Работает нормально, когда я закрываю первый контейнер, а затем открываю второй контейнер.
Но когда я нажимаю первую кнопку, он открывает контейнер в точном положении, но контейнер второй кнопки появляется внизу, тогда как его нужно открыть напротив кнопки 2.
Если я сначала нажму вторую кнопку, контейнер появится вверху, а контейнер первой кнопки появится внизу
Может быть, это немного запутанно. Но я думаю, что пришла ясная идея, я просто не хочу открывать контейнер, когда кнопка нажата перед нажатой кнопкой, но они не совпадают друг с другом.
Итак. Могу ли я узнать, как расположить эти конкатайнеры так, чтобы они открывались точно в месте нажатия конкретной кнопки?
class Pallet extends Container {
ColorIcon redIcon;
ColorIcon blueIcon;
ColorIcon greenIcon;
Container panel;
public Pallet() {
super();
setLayout(new FlowLayout(Component.RIGHT));
getStyle().setMargin(115, 10, 10, 10);
panel = new Container();
panel.getStyle().setBgColor(0x323232);
panel.getStyle().setBgTransparency(255);
panel.setLayout(new BoxLayout(BoxLayout.X_AXIS));
panel.getStyle().setBorder(Border.createLineBorder(2, 0xffffff));
panel.getStyle().setPadding(10, 10, 10, 10);
panel.getStyle().setMargin(30, 10, 10, 10);
panel.setSelectedStyle(panel.getStyle());
Container row1 = new Container();
row1.setLayout(new BoxLayout(BoxLayout.X_AXIS));
redIcon = new ColorIcon(0xff0000, this);
row1.addComponent(redIcon);
greenIcon = new ColorIcon(0x00ff00, this);
row1.addComponent(greenIcon);
blueIcon = new ColorIcon(0x0000ff, this);
row1.addComponent(blueIcon);
panel.addComponent(row1);
addComponent(panel);
}
}
Спасибо