Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 绘制小程序-加载/保存图像时出现问题_Java_Image_Applet_Openfiledialog_Savefiledialog - Fatal编程技术网

Java 绘制小程序-加载/保存图像时出现问题

Java 绘制小程序-加载/保存图像时出现问题,java,image,applet,openfiledialog,savefiledialog,Java,Image,Applet,Openfiledialog,Savefiledialog,默认情况下,小程序部署在安全沙盒中。要访问本地文件系统,基本上有两个选项: 对代码进行数字签名,并在提示时让用户确定信任对话框。如果小程序是“受信任的”,它可以做应用程序可以做的大部分事情。当然可以使用JFileChooser加载和保存文件。下面是一个使用自签名证书的示例。演示小程序可以浏览本地文件系统并在JEditorPane中打开文件 最近的Sun/Oracle JRE是插件式的“下一代”体系结构。它们允许嵌入式小程序访问API的服务(为提供)。使用JNLPAPI文件服务,沙盒小程序可以从本

默认情况下,小程序部署在安全沙盒中。要访问本地文件系统,基本上有两个选项:

  • 对代码进行数字签名,并在提示时让用户确定信任对话框。如果小程序是“受信任的”,它可以做应用程序可以做的大部分事情。当然可以使用
    JFileChooser
    加载和保存文件。下面是一个使用自签名证书的示例。演示小程序可以浏览本地文件系统并在
    JEditorPane
    中打开文件
  • 最近的Sun/Oracle JRE是插件式的“下一代”体系结构。它们允许嵌入式小程序访问API的服务(为提供)。使用JNLPAPI文件服务,沙盒小程序可以从本地文件系统加载资源,并将资源保存到本地文件系统(在提示时再次获得用户批准)。这是我的名片
  • 注意,我对问题的性质做了一些疯狂的猜测。要获得更好的建议,请确切说明问题所在

    请以后不要编写太多的代码

    @mrdg:“巨大的代码,没有格式化…”我尝试格式化它,得到消息
    正文限制为30000个字符;您输入了31819
    ,这可能解释了它未格式化的原因。;)
    import java.awt.*;
    import java.applet.*;
    import java.awt.event.*;
    import java.awt.event.MouseMotionListener;
    import java.awt.event.MouseEvent;
    import java.lang.Math.*;
    import java.text.*;
    import java.io.*;
    import java.awt.Scrollbar.*;
    import javax.swing.*;
    import java.awt.datatransfer.*;
    
    public class DFunPaint extends JApplet implements ActionListener, AdjustmentListener, MouseListener, MouseMotionListener
    {
        String filename;
        JTextArea tx = new JTextArea();
        JMenuBar mb =new JMenuBar();
        JMenu f = new JMenu("File");
        JMenuItem n = new JMenuItem("New");
        JMenuItem o = new JMenuItem("Open");
        JMenuItem s = new JMenuItem("Save");
        JMenuItem e = new JMenuItem("Exit");
        JMenu ed = new JMenu("Edit");
        JMenuItem cut = new JMenuItem("Cut");
        JMenuItem copy = new JMenuItem("Copy");
        JMenuItem paste = new JMenuItem("Paste");
        JMenu format = new JMenu("Format");
        JMenuItem  Word = new JMenuItem("Word Wrap");
        JMenuItem  Font = new JMenuItem("Font");
        JMenu view = new JMenu("View");
        JMenuItem  StatusBar= new JMenuItem("StatusBar");
        JMenu help = new JMenu("Help");
        JMenuItem  About = new JMenuItem("About");
        JMenuItem Topics = new JMenuItem("Topics");
    
        private JPanel p1 = new JPanel(new BorderLayout());
    
        public void init(){
            setLayout(new BorderLayout());
            f.add(n);
            f.add(o);
            f.add(s);
            f.add(e);
            mb.add(f);
            ed.add(cut);
            ed.add(copy);
            ed.add(paste);
            mb.add(ed);
            format.add(Word);
            format.add(Font);
            mb.add(format);
            mb.add(view);
            view.add(StatusBar);
            mb.add(help);
            help.add(About);
            JMenuItem Topics = new JMenuItem("Topics");
            help.add(Topics);
    
            p1.add(mb);
    
            add(p1,"North");
    
            n.addActionListener(this);
            o.addActionListener(this);
            s.addActionListener(this);
            e.addActionListener(this);
            cut.addActionListener(this);
            copy.addActionListener(this);
            paste.addActionListener(this);
            About.addActionListener(this);
            Topics.addActionListener(this);
        }
    
        public void ActionPerformed(ActionEvent e)
        {
            if (e.getSource() == n)
                tx.setText(" ");
        }
    
        public void actionPerformed(ActionEvent e)
        {
            if (e.getSource() == o)
                JFileDialog fd = new JFileDialog( DFunPaint, "select File",JFileDialog.LOAD);
            fd.show();
            if (fd.getFile()!=null)
            {
                filename = fd.getDirectory() + fd.getFile();
                setTitle(filename);
                ReadFile();
            }
            tx.requestFocus();
        }
    
        public void actionPerformed(ActionEvent e)
        {
            if (e.getSource() == s)
                FileDialog fd = new FileDialog(DFunPaint,"Save File",FileDialog.SAVE);
            fd.show();
            if (fd.getFile()!=null)
            {
                filename = fd.getDirectory() + fd.getFile();
                setTitle(filename);
                try
                {
                    DataOutputStream d = new DataOutputStream(new FileOutputStream(filename));
                    String line = tx.getText();
                    BufferedReader br = new BufferedReader(new StringReader(line));
                    while((line = br.readLine())!=null)
                    {
                        d.writeBytes(line + "\r\n");
                        d.close();
                    }
                }
                catch(Exception ex)
                {
                    System.out.println("File not found");
                }
                tx.requestFocus();
            }
        }
    
        public void ctionPerformed(ActionEvent ae)
        {
            if (ae.getSource() == e)
                System.exit(0);
        }
    
        public void ActionPerformed(ActionEvent e)
        {
            if (e.getSource() == cut)
                String sel =
            StringSelection ss = new StringSelection(tx.getSelectedText());
            clip.setContents(ss,ss);
            tx.replaceRange(" ",tx.getSelectionStart(),tx.getSelectionEnd());
        }
    
        public void actionPerformed(ActionEvent e)
        {
            if (e.getSource() == copy)
                String sel = tx.getSelectedText();
                StringSelection clipString = new StringSelection(sel);
                clip.setContents(clipString, clipString);
            }
    
        public void ActionPerformed(ActionEvent e)
        {
            if (e.getSource() == paste)
                Transferable cliptran = clip.getContents();
    
            try
            {
                String sel = (String) cliptran.getTransferData(DataFlavor.stringFlavor);
                tx.replaceRange(sel,tx.getSelectionStart(),tx.getSelectionEnd());
            }
            catch(Exception exc)
            {
                System.out.println("not string flavour");
            }
        }