переход от одного окна к другому с использованием только средства просмотра Java-апплета - PullRequest
0 голосов
/ 10 ноября 2019

StudApp и NewWindow app являются отдельными java-классами.

Я успешно сделал StudApp в качестве первого окна апплета, и теперь я пытаюсь сделать newWindowclass в качествевторое окно.

Но проблема в том, что он показывает только белый экран даже после нажатия кнопки и использования setVisibility(false) внутри actionPerformed. Я использую JDK версии 8 для запуска Java-апплета. Будет ли это необходимо.

Внутри StudApp. Это первое окно.

import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
import java.applet.*;
import java.awt.event.*;

public class StudApp extends Applet implements ActionListener {
     Label numberofsubjects_label = new Label();
     TextField numberofsubjects_textbox = new TextField(20);
     Button submit_button = new  Button("submit");

    public  void init() {
        numberofsubjects_textbox.setText("");
        numberofsubjects_label.setText("number of subjects?"); 
        add(numberofsubjects_label);        
        add(numberofsubjects_textbox);
        add(submit_button);
        submit_button.addActionListener(this);

        setLayout(null);

        numberofsubjects_textbox.setBounds(160, 160, 85, 30);
        numberofsubjects_label.setBounds(10, 160, 150, 30);
        submit_button.setBounds(165, 225, 75, 30);
    }

    public void paint(Graphics g) {
        this.setSize(260, 300);
        int width = picture.getWidth(this);
        int height = picture.getHeight(this);
        setBackground(Color.CYAN);
        numberofsubjects_label.setBackground(Color.CYAN);
    }   

    public void actionPerformed(ActionEvent e) {
            this.setVisible(false);
            NewWindow f2 = new NewWindow();
            f2.setSize(300,300);
            f2.setVisible(true);
            //this is where problem lies. it only shows whitescreen as the new window. expected output should be the newindow.java 
    }
}

Внутри NewWindow, которое я пытаюсь связать как новое окно

import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
import java.applet.*;
import java.awt.event.*;

public class NewWindow extends Applet{

    Label Title_label = new Label("Frame2");

    public  void init() {
        add(Title_label);
        setLayout(null);
        Title_label.setBounds(90, 10, 200, 40);
    }

    public void paint(Graphics g) {
        this.setSize(200, 200);
    }
}
...