Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Java] Przejście z jednego okna do drugiego


Rekomendowane odpowiedzi

Opublikowano

Mam w javie dwie klasy, które rozszerzają JFrame. Potrzebuje, aby po zdarzeniu z przyciskiem (W tym przypadku "start"), pierwsze okno zamknęło się lub straciło widoczność, ale jak można się domyślić drugie się pojawiło. Tutaj daję kod do pierwszej klasy:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

public class Start extends JFrame implements ActionListener {
	private JButton Start, Wyjście;
	public Start(){
		setSize(600, 350);
		setTitle("Kamień, papier i nożyce");
		setLocation(340, 120);
		setResizable(false);
		setLayout(null);
		
		Start = new JButton("Start");
		Start.setBounds(250, 70, 100, 40);
		add(Start);
		Start.addActionListener(this);
		
		Wyjście = new JButton("Wyjście");
		Wyjście.setBounds(250, 170, 100, 40);
		add(Wyjście);
	}
	public static void main(String[] args){
   	 
     Start okno1 = new Start();
   	 okno1.setVisible(true);
   	 okno1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   
   	 
    }
	@Override
	public void actionPerformed(ActionEvent e) {
		Object source = e.getSource();
		if(source==Start){
	     
		}
		
	}
	
        
}

 

Opublikowano


@Override

public void actionPerformed(ActionEvent e) {

Object source = e.getSource();

if(source==Start){

okno1.dispose();

//tworzysz objekt drugiego okna

}

}

Opublikowano

Próbowałem to samo, ale przy linijce :

okno1.dispose();

Jest błąd: okno1 cannot be resolved

Jest to spowodowane tym (Tak przynajmniej sądzę), że obiekt okno1 znajduje się w innej funkcji.

Opublikowano

Ok, już znalazłem odpowiedź. Wystarczyło w słuchaczu zdarzeń napisać

new Ramka2().setVisible(true);
dispose();

@Up

Dam Ci lajka za chęci :F

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...