Java 基本绘画应用程序的菜单功能

Java 基本绘画应用程序的菜单功能,java,swing,graphics,Java,Swing,Graphics,我正在用Java设计自己的绘画应用程序。我已经设计了框架和菜单 虽然我阅读了相关概念,但在设计功能方面我需要帮助。我只需要帮助定义ActionListeners的ActionPerformed方法,用于new、open、save和exit import java.awt.Dimension; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; impo

我正在用Java设计自己的绘画应用程序。我已经设计了框架和菜单

虽然我阅读了相关概念,但在设计功能方面我需要帮助。我只需要帮助定义ActionListeners的ActionPerformed方法,用于new、open、save和exit

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

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class MyPaintBrush {

    public static void main(String[] args) {
        JFrame frame = new JFrame("My Paint Brush");
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); // Dimension to make the frame fit the full screen
        frame.setSize(screenSize);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
        JMenuBar menu = new JMenuBar();
        frame.setJMenuBar(menu);
        JMenu menu_file = new JMenu("File");
        menu.add(menu_file);
        // Anonymous Objects:
        ActionListener listener_new = new ActionListener() {
            public void actionPerformed(ActionEvent e) {        

            }
        };
        ActionListener listener_open = new ActionListener() {
            public void actionPerformed(ActionEvent e) {        

            }
        };
        ActionListener listener_save = new ActionListener() {
            public void actionPerformed(ActionEvent e) {        

            }
        };
        ActionListener listener_exit = new ActionListener() {
            public void actionPerformed(ActionEvent e) {        

            }
        };
        JMenuItem item_new = new JMenuItem("New");
        item_new.addActionListener(listener_new);
        JMenuItem item_open = new JMenuItem("Open");
        item_open.addActionListener(listener_open);
        JMenuItem item_save = new JMenuItem("Save");
        item_save.addActionListener(listener_save);
        JMenuItem item_exit = new JMenuItem("Exit");
        item_exit.addActionListener(listener_exit);
        menu_file.add(item_new);
        menu_file.add(item_open);
        menu_file.add(item_save);
        menu_file.add(item_exit);
    }
}

您可以创建图形的
BufferedImage
,然后将
BufferedImage
写入
文件

检查创建BuffereImage和将BuffereImage写入文件的类

基本准则是:

BufferedImage bi = ScreenImage.createImage(yourComponent);
ScreenImage.writeImage(bi, "component-Image.jpg");

更难的部分实际上是创建绘图代码:)祝你好运。

“我只是需要帮助…”
对于stackoverflow问题来说有点过于宽泛。具体来说,你坚持什么?上面的代码只显示空的ActionListener,并没有显示您解决此问题的最佳诚意尝试——为什么不呢?请不要遗漏这一点或不先尝试这一点来欺骗自己。你没有什么可以失去的,也没有什么可以得到的。我只是一个初学者,这让我非常害怕(我相信你,但再说一次,至少先解决它,你不会有什么损失。否则,我们怎么知道你陷入了困境?否则,你的问题本质上变成了“请有人帮我编写代码”键入问题。请不要让这种情况发生。我刚刚知道如何关闭。通过在actionListener的主体中插入此命令:
System.exit(0);
我的主要问题是:保存。我将添加一个组件和所有组件,并制作一些图形,但如何保存它们?我刚刚听说BufferImage。这是帮助我的正确方法吗\