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);
}
}