为了让每个人都理解我的问题,我创建了一个简单的 GUI 程序来显示我的问题。我先放代码供大家分析。然后,请观看下面的视频,看看我想问什么。请耐心等待,视频只有几秒钟,加载不需要时间。
菜单 JFrame:
//This is a Menu JFrame Window
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Menu extends JFrame implements GlobalVariables{
public Menu(){
clickMe.setBounds(75, 50, 100, 50);
clickMe.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
dispose();
SubMenu sm = new SubMenu();
sm.subMenuProperties();
}
});
add(clickMe);
}
void menuProperties(){
setLayout(null);
setSize(250,175);
setVisible(true);
setResizable(false);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
Menu m = new Menu();
m.menuProperties();
}
}
子菜单 JFrame:
//This is a SubMenu JFrame Window
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class SubMenu extends JFrame implements GlobalVariables{
public SubMenu(){
clickMe2.setBounds(75, 50, 100, 50);
clickMe2.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
dispose();
Menu m = new Menu();
m.menuProperties();
}
});
add(clickMe2);
}
void subMenuProperties(){
setLayout(null);
setSize(250,175);
setVisible(true);
setResizable(false);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
SubMenu sm = new SubMenu();
sm.subMenuProperties();
}
}
如果你想知道“GlobalVariables”的实现是什么,这里是:
import javax.swing.*;
public interface GlobalVariables{
//Menu Variable
JButton clickMe = new JButton("SubMenu");
//SubMenu Variable
JButton clickMe2 = new JButton("Back");
}
现在,这个视频将向您展示我在 JFrame 中的含义:
http://www.youtube.com/watch?v=iCavg_1SqvY
*如果您观看了视频,您会明白我所说的 JFrame 正在成倍增加的意思。我已经分析了好几天,但我无法确定我的错误。如果您能指出我的错误,我将不胜感激。我也对代码中的评论和调整持开放态度,我只是希望代码的结构不会被重新组织,因为正如我之前所说,我创建了这个简单的 GUI 只是为了向您展示我的问题,但是至少要告诉你,我有一个完整的程序等待在 GUI 制作中使用这种方法完成。请帮我。