Cześć!
Mam problem. Poniżej kod a potem opiszę o co chodzi:
import javax.swing.*;
import java.awt.*;
public class Okienko extends JFrame {
public Okienko() {
super("Nowe Okno");
JPanel addNewText = new Przycisk();
add(addNewText);
setLocation(450, 200);
setSize(300, 400);
setVisible(true);
setLayout(new FlowLayout(FlowLayout.CENTER));
}
}
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Przycisk extends JPanel implements ActionListener {
public static final int HEIGHT = 100;
public static final int WIDTH = 300;
private JButton openButton;
private JButton addNewText;
public Przycisk() {
openButton = new JButton("Otwórz nowe okno");
addNewText = new JButton("Dodaj");
openButton.addActionListener(this);
addNewText.addActionListener(this);
setLayout(new FlowLayout());
setPreferredSize(new Dimension(WIDTH, HEIGHT));
add(openButton);
}
@Override
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if (source == new Okienko()) {
//jesli nacisne na przycisk otwiera sie nowe Okienko.
}
}
}
import javax.swing.*;
import java.awt.*;
public class NoweOkno extends JFrame {
public NoweOkno(){
super("Główne Okno");
JPanel openButton = new Przycisk();
add(openButton);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //zamkniecie okna
setLocation(550, 200); //lokalizacja na ekranie
setSize(500, 700); // rozmiar okna
setVisible(true);
setLayout(new FlowLayout(FlowLayout.CENTER));
}
}
Otóż chodzi mi o to, że gdy po naciśnięciu przycisku otwiera mi się nowe okno ale dalej z tym samym przciskiem. Chce aby w Klasie Okienko był całkiem inny Przycisk niż w Klasie NoweOkno. Nie wiem jak mam to zrobić. Czy każdy nowy przycisk z nową funkcjonalnością to ma być nowa klasa?
@Edit
W głównym oknie ma być 1 przycisk który będzie otwierał nowe okno. W nowym oknie ma być przycisk i textfield. Przycisk ma dodać rzeczy wpisane w textfield do listy która będzie na dole.