Только осваиваюсь в Spring.
Подскажите, как реализовать следующее:
Есть основная панель:
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.util.logging.Logger;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTabbedPane;
public class BasicFrame extends JFrame
{
private static final Logger LOG = Logger.getLogger(BasicFrame.class.getName());
private JButton button;
private JTabbedPane tabbedPane;
private int i;
public BasicFrame(JButton button, JTabbedPane tabbedPane)
{
this.button = button;
this.tabbedPane = tabbedPane;
button.setText("Добавить панель");
button.addActionListener((ActionEvent e) ->
{
tabbedPane.add(new PanelTest(i));
i++;
});
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500, 400);
setLocationRelativeTo(null);
add(button, BorderLayout.NORTH);
add(tabbedPane, BorderLayout.CENTER);
}
}
Есть панель, которую необходимо динамически создавать, добавлять в базовую панель и хранить в Spring, сейчас она создается на слушателе кнопки через new:
import java.util.logging.Logger;
import javax.swing.JButton;
import javax.swing.JPanel;
public class PanelTest extends JPanel
{
private static final Logger LOG = Logger.getLogger(PanelTest.class.getName());
private JButton button;
public PanelTest(int number)
{
button = new JButton(String.valueOf(number));
add(button);
}
}
xml настройки Spring следующие:
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd
">
<bean id="buttonAdd" class="javax.swing.JButton"/>
<bean id="tabbedPane" class="javax.swing.JTabbedPane"/>
<bean id="basicFrame" class="ru.ezhov.BasicFrame">
<constructor-arg ref="buttonAdd"/>
<constructor-arg ref="tabbedPane"/>
</bean>
</beans>
А так же, как из панели PanelTest получить базовую панель из Spring?
Спасибо!
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости