用Java创建一个可以移动、改变大小、最大化、且可以关闭的JFrame窗口,并且添加菜单和工具条;并设计相应的菜单加速键及快捷键图标;
时间: 2024-01-25 12:03:51 浏览: 186
好的,下面是Java代码示例,可以创建具有所述功能的JFrame窗口:
```
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MyFrame extends JFrame {
private JMenuBar menuBar;
private JMenu fileMenu;
private JMenuItem exitMenuItem;
private JToolBar toolBar;
private JButton closeButton;
private JButton maximizeButton;
private JButton resizeButton;
public MyFrame() {
setTitle("My Frame");
setSize(600, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
// 创建菜单栏
menuBar = new JMenuBar();
fileMenu = new JMenu("File");
exitMenuItem = new JMenuItem("Exit");
fileMenu.add(exitMenuItem);
menuBar.add(fileMenu);
setJMenuBar(menuBar);
// 创建工具栏
toolBar = new JToolBar();
closeButton = new JButton(new ImageIcon("close.png"));
maximizeButton = new JButton(new ImageIcon("maximize.png"));
resizeButton = new JButton(new ImageIcon("resize.png"));
toolBar.add(closeButton);
toolBar.add(maximizeButton);
toolBar.add(resizeButton);
add(toolBar, BorderLayout.NORTH);
// 添加事件处理
exitMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
closeButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dispose();
}
});
maximizeButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
setExtendedState(JFrame.MAXIMIZED_BOTH);
}
});
resizeButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
setExtendedState(JFrame.NORMAL);
}
});
}
public static void main(String[] args) {
MyFrame frame = new MyFrame();
frame.setVisible(true);
}
}
```
上述代码创建了一个具有菜单栏和工具栏的JFrame窗口。菜单栏包括一个“文件”菜单和一个“退出”菜单项,工具栏包括一个“关闭”按钮、一个“最大化”按钮和一个“调整大小”按钮。对于菜单项和工具栏按钮的事件处理,分别实现了退出窗口、关闭窗口、最大化窗口和还原窗口的功能。
阅读全文