天空上 2020-03-02 12:47 采纳率: 0%
浏览 180

为啥重写了JFrame的show函数,还是不显示窗口呢

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

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JToolBar;
import javax.swing.KeyStroke;

public class FrameWindow extends JFrame {
JToolBar toolBar;
JMenuBar menuBar;
public FrameWindow() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
toolBar=new JToolBar();
menuBar=new JMenuBar();
}
private void init() {
// 创建第一个菜单项
JMenu menu=new JMenu("文件");
menu.setMnemonic(KeyEvent.VK_F);
JMenuItem menuAdd=new JMenuItem("添加");
menuAdd.setMnemonic(KeyEvent.VK_N);
menuAdd.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,ActionEvent.CTRL_MASK));
JMenuItem menuRegist=new JMenuItem("注册");
menuRegist.setMnemonic(KeyEvent.VK_R);
menuRegist.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R,ActionEvent.CTRL_MASK));
menuRegist.addActionListener(new ActionListener(){
public void actionPerformed (ActionEvent e) {

        }
    });
    menu.add(menuAdd);
    menu.add(menuRegist);

// 创建第二个菜单项
JMenu mEdit=new JMenu("编辑");
mEdit.setMnemonic(KeyEvent.VK_E);
JMenuItem mEDlete=new JMenuItem("编辑");
mEDlete.setMnemonic(KeyEvent.VK_D);
mEDlete.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D,ActionEvent.CTRL_MASK));
JMenuItem mECopy=new JMenuItem("复制");
mECopy.setMnemonic(KeyEvent.VK_C);
mECopy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,ActionEvent.CTRL_MASK));
mEdit.add(mEdit);
mEdit.add(mEDlete);
menuBar.add(menu);
menuBar.add(menuRegist);
// 创建第三个菜单项

// 创建第四个菜单项

// 创建工具栏1
// ImageIcon imageIcon=new ImageIcon(this.getClass().getResource("...=/ico/add.gif"));
JButton btnAdd=new JButton("注册");
btnAdd.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
new RegistWindow();
}
});
toolBar.add(btnAdd);

// 创建工具栏2

// 创建工具栏3
JPanel panel = new JPanel();
panel.setPreferredSize(new Dimension(800,400));
this.add("Center",panel);
this.setJMenuBar(menuBar);
this.add("North",toolBar);

}
public void show() {
    this.init();
    this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    this.setBounds(100, 100, 600, 800);
    this.setTitle("我的窗口");
    this.pack();
    this.setVisible(true);
}
public static void main(String[] args) {
    new FrameWindow().show();
}

}

  • 写回答

1条回答 默认 最新

  • 进步·于辰 2023-10-16 02:10
    关注

    哥们,我曾经也用JFrame做过项目,本来想帮你看看的。
    好家伙。。。复制代码过去一堆红。
    不如你重新上传一份代码,用编辑器右上角的“插入代码块”存放代码。

    评论

报告相同问题?

悬赏问题

  • ¥15 Ubuntu不小心注销了要怎么恢复啊
  • ¥15 安装powerbuilder10卡在安装程序正在运行这个页面 没有下一步任何指令
  • ¥15 关于mpi的问题:请问遇到这种情况需要怎么解决,出现这个问题后电脑不能进行mpi多核运行只能进行单核运行
  • ¥50 微信聊天记录备份到电脑提示成功了,但还是没同步到电脑微信
  • ¥15 python怎么在已有视频文件后添加新帧
  • ¥20 虚幻UE引擎如何让多个同一个蓝图的NPC执行一样的动画,
  • ¥15 fluent里模拟降膜反应的UDF编写
  • ¥15 MYSQL 多表拼接link
  • ¥15 关于某款2.13寸墨水屏的问题
  • ¥15 obsidian的中文层级自动编号