这是一个非常基本的Java语法问题。我在自己的类中有一个名为frmMainMenu的表单,它有一个标有" Schedule"的按钮。当您点击" Schedule"我希望它打开另一种形式。那个是在一个名为frmSchedule的单独的类中。
在frmMainMenu的ActionListener部分,我有这个:
public void actionPerformed(ActionEvent e) {
System.out.println("TEST");
frmSchedule window2 = new frmSchedule();
}
它打印出单词" TEST"在控制台中(所以我知道代码在正确的位置)。但是,它不会打开Schedule表单。我也尝试过这样做,但也没有用:
public void actionPerformed(ActionEvent e) {
System.out.println("TEST");
new frmSchedule();
}
这里是frmSchedule的代码:
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
public class frmSchedule extends JFrame {
private JPanel contentPane;
public frmSchedule() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JButton btnNewButton = new JButton("Trials");
btnNewButton.setBounds(128, 100, 89, 23);
contentPane.add(btnNewButton);
}
}
我想我很难找到通过短语代码告诉它打开第二种形式的方式。
答案 0 :(得分:1)
正如MadProgrammer指出的那样,它可能有助于使其可见;)
public void actionPerformed(ActionEvent e) {
System.out.println("TEST");
frmSchedule window2 = new frmSchedule();
window2.setVisible(true);
}
另外,如果你不知道你在做什么布局,你应该看一下:what does frame.setLayout(null)do?(frame is a JFrame)