Я хочу изменить JPanels, нажав JButton. Ну, я могу сделать это один раз, но проблема в том, когда я хочу вернуться к предыдущей JPanel. Вот мой код:Изменение JPanel после нажатия JButton
public class MindCreations {
public static void main(String[] args){
Adj0 object1= new Adj0();
object1.setSize(500, 600);
object1.setVisible(true);
object1.setLocation(700,300);
} }
public class Adj0 extends JFrame{
public Adj0(){
super("MindCreations");
this.setLayout(null);
adj0panel object9=new adj0panel();
add(object9.adj0panel());
Isa object10=new Isa();
add(object10.Isa());
} }
public class adj0panel {
private JButton quarto;
private FlowLayout layout;
public JPanel adj0panel(){
final JPanel panel=new JPanel();
JLabel jl=new JLabel();
panel.setLayout(layout);
quarto= new JButton("Tabela ISA");
quarto.setBounds(50,490,400,20);
jl.setIcon(new ImageIcon("2.png"));
jl.setBounds(40, 50, 413, 300);
panel.add(jl);
panel.add(quarto);
quarto.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
Isa object3=new Isa();
panel.setVisible(false);
}
});
return panel;
}
}
public class Isa {
public JPanel Isa(){
final JPanel panel1=new JPanel();
panel1.setLayout(layout);
panel1.setBounds(0, 0, 500, 600);
panel1.setBackground(Color.WHITE);
panel1.setVisible(true);
JButton retroceder=new JButton("Retroceder");
retroceder.setBounds(300, 460, 90, 20);
retroceder.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
adj0panel object4=new adj0panel();
panel1.setVisible(false);
}}
);
panel1.add(retroceder);
return panel1;
}}
Я хочу нажать на кнопку «retroceder», и я хочу, чтобы перейти к JPanel из adj0panel класса. Извините за длинный вопрос, я в этом начинаю. Если есть какой-либо другой способ изменить JPanels, пожалуйста, скажите мне. спасибо
hmm Я вижу, но где в моей программе я могу добавить «frame.getContentPane()», должен ли я добавить в actionlistener JButton «retroceder», и если да, то как мне его написать? – user2627865
Я бы написал метод загрузчика, который принимает фрейм как параметр, а другой метод принимает панель кадра и загружает панели из объекта стека. Я предполагаю, что этот материал может быть в вашем основном методе или классе FactoryLoader в заводском стиле –