⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fejstfrm.java

📁 这是一个制做3D立体图(Stereograms)的一个Java Applet, 除了可以把3D图转为Stereogram外
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
// Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov  Date: 15/2/2006 3:38:21
// Home Page : http://members.fortunecity.com/neshkov/dj.html  - Check often for new version!
// Decompiler options: packimports(3) 
// Source File Name:   fejstmain.java

import java.applet.AudioClip;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.MemoryImageSource;
import java.awt.image.PixelGrabber;
import java.io.*;
import java.util.*;

class fejstfrm extends Frame
    implements KeyListener, ComponentListener, WindowListener, MouseListener, MouseMotionListener, ItemListener, ActionListener, AdjustmentListener
{

    public fejstfrm(fejstmain fejstmain1, String s)
    {
        sr = new Scrollbar(0, 1, 10, 50, 260);
        sr1 = new Scrollbar(0, 1, 1, 0, 11);
        nBtm = 50;
        lines = new Vector();
        colors = new Vector();
        wmsg = "Now processing...";
        stt = s;
        setSize(100, 100);
        setTitle(stt);
        applet = fejstmain1;
    }

    public void init(int i, int j)
    {
        show();
        Insets insets = getInsets();
        nFT = insets.top;
        if(nFT == 0)
            nFT = 30;
        nFT = nFT + 3;
        nBtm = nFT + 25;
        nFB = insets.bottom;
        if(nFB == 0)
            nFB = 30;
        setBackground(Color.lightGray);
        gm = getGraphics();
        gm.clearRect(0, 0, i, j);
        kore = applet.getAud();
        if(kore != null)
        {
            kore.play();
            kore.stop();
        }
        addMouseListener(this);
        addMouseMotionListener(this);
        addWindowListener(this);
        addComponentListener(this);
        addKeyListener(this);
        setLayout(null);
        c1 = new Choice();
        readtxt();
        mdlname[0] = "Scribble";
        c1.addItem(mdlname[0]);
        for(int k = 1; k < mdlmax; k++)
            c1.addItem(mdlname[k]);

        mdlname[mdlmax] = "Quiz";
        c1.addItem(mdlname[mdlmax]);
        add(c1);
        c1.addItemListener(this);
        add(bt3 = new Button("P"));
        bt3.addActionListener(this);
        add(bt4 = new Button("E"));
        bt4.addActionListener(this);
        add(bt5 = new Button("A"));
        bt5.addActionListener(this);
        c = new Choice();
        for(int l = 0; l < 33; l++)
            c.addItem(strfil[l]);

        add(c);
        c.addItemListener(this);
        add(bt1 = new Button("parallel"));
        bt1.addActionListener(this);
        add(bt2 = new Button("cross"));
        bt2.addActionListener(this);
        add(bt6 = new Button("original"));
        bt6.addActionListener(this);
        add(bt7 = new Button("X"));
        bt7.addActionListener(this);
        add(sr);
        sr.addAdjustmentListener(this);
        add(lb1 = new Label("1"));
        add(sr1);
        sr1.addAdjustmentListener(this);
        sr1.setBlockIncrement(1);
        add(lb2 = new Label("2"));
        bt7.setBounds(5, nFT, 20, 20);
        c1.setBounds(30, nFT, 80, 20);
        bt3.setBounds(115, nFT, 20, 20);
        bt4.setBounds(135, nFT, 20, 20);
        bt5.setBounds(155, nFT, 20, 20);
        c.setBounds(180, nFT, 100, 20);
        bt1.setBounds(285, nFT, 50, 20);
        bt2.setBounds(335, nFT, 50, 20);
        bt6.setBounds(385, nFT, 50, 20);
        sr.setBounds(440, nFT, 95, 20);
        lb1.setBounds(535, nFT, 65, 20);
        sr1.setBounds(600, nFT, 75, 20);
        lb2.setBounds(675, nFT, 55, 20);
        ImgSizechg();
        pal = new int[256];
        iConf = new int[20];
        iConf[4] = applet.getParamint(0, "method");
        showeyemethod();
        iConf[5] = applet.getParamint(120, "stbase");
        iConf[17] = applet.getParamint(5, "depth");
        sr.setValue(iConf[5]);
        sr1.setValue(iConf[17]);
        lb1.setText("base(" + iConf[5] + ")");
        lb2.setText("depth(" + iConf[17] + ")");
        int i1 = 1;
        c.select(i1);
        SetiConf(i1);
        SetPalData(iConf[2]);
        nModel = 0;
        if(nModel == 0)
        {
            nDraw = 1;
        } else
        {
            c1.select(nModel);
            ReadMdlImg(nModel);
            makestgrm();
        }
        requestFocus();
    }

    public void readtxt()
    {
        String s = "";
        int i = 0;
        try
        {
            java.io.InputStream inputstream = applet.inputstm();
            InputStreamReader inputstreamreader = new InputStreamReader(inputstream);
            BufferedReader bufferedreader = new BufferedReader(inputstreamreader, 64000);
            bufferedreader.mark(64000);
            String s1;
            while((s1 = bufferedreader.readLine()) != null) 
                i++;
            mdlmax = i + 2;
            mdlfile = new String[mdlmax];
            mdlname = new String[mdlmax];
            mdlmess = new String[mdlmax];
            i = 1;
            bufferedreader.reset();
            while((s1 = bufferedreader.readLine()) != null) 
            {
                StringTokenizer stringtokenizer = new StringTokenizer(s1, ",", true);
                if(stringtokenizer.hasMoreTokens())
                {
                    mdlfile[i] = stringtokenizer.nextToken();
                    if(!mdlfile[i].equals("L&R") && !mdlfile[i].equals("button"))
                    {
                        if(stringtokenizer.hasMoreTokens())
                            stringtokenizer.nextToken();
                        if(stringtokenizer.hasMoreTokens())
                            mdlname[i] = stringtokenizer.nextToken();
                        else
                            mdlname[i] = " ";
                        if(mdlname[i].equals(","))
                            mdlname[i] = " ";
                        else
                        if(stringtokenizer.hasMoreTokens())
                            stringtokenizer.nextToken();
                        if(mdlname[i].equals(" "))
                            mdlname[i] = mdlfile[i];
                        if(stringtokenizer.hasMoreTokens())
                            mdlmess[i] = stringtokenizer.nextToken();
                        else
                            mdlmess[i] = null;
                        i++;
                    }
                }
            }
            mdlmax = i;
            inputstreamreader.close();
            return;
        }
        catch(IOException ioexception)
        {
            setTitle("Error :" + ioexception);
        }
    }

    public void ImgSizechg()
    {
        if(offscreen1 != null)
        {
            offscreen1.flush();
            offscreen1 = null;
        }
        if(new_img != null)
        {
            new_img.flush();
            new_img = null;
        }
        if(offscreen != null)
            offscreen1 = offscreen;
        Dimension dimension = getSize();
        apx = dimension.width;
        apy = dimension.height - (nBtm + nFB);
        offscreen = createImage(dimension.width, dimension.height);
        offscreensize = dimension;
        offgraphics = offscreen.getGraphics();
        offgraphics.setFont(getFont());
        if(offscreen1 != null)
        {
            offgraphics.drawImage(offscreen1, 0, 0, this);
        } else
        {
            offgraphics.setColor(getBackground());
            offgraphics.fillRect(0, 0, apx, apy);
        }
        pix = null;
        mimg = null;
        pix = new int[apx * apy];
        mimg = new MemoryImageSource(apx, apy, pix, 0, apx);
        mimg.setAnimated(true);
        new_img = createImage(mimg);

        for(int j = 0; j < apy; j++)
        {
            for(int i = 0; i < apx; i++){
                pix[j * apx + i] = 0xff739ef7;
            }

        }

        mimg.newPixels(0, 0, apx, apy);
    }

    public void windowClosing(WindowEvent windowevent)
    {
        if(offscreen != null)
        {
            offscreen.flush();
            offscreen = null;
        }
        if(offscreen1 != null)
        {
            offscreen1.flush();
            offscreen1 = null;
        }
        if(new_img != null)
        {
            new_img.flush();
            new_img = null;
        }
        if(img != null)
        {
            img.flush();
            img = null;
        }
        dispose();
    }

    public void wclose()
    {
        if(offscreen != null)
        {
            offscreen.flush();
            offscreen = null;
        }
        if(offscreen1 != null)
        {
            offscreen1.flush();
            offscreen1 = null;
        }
        if(new_img != null)
        {
            new_img.flush();
            new_img = null;
        }
        if(img != null)
        {
            img.flush();
            img = null;
        }
        dispose();
    }

    public void windowOpened(WindowEvent windowevent)
    {
    }

    public void windowClosed(WindowEvent windowevent)
    {
    }

    public void windowDeiconified(WindowEvent windowevent)
    {
    }

    public void windowActivated(WindowEvent windowevent)
    {
    }

    public void windowIconified(WindowEvent windowevent)
    {
    }

    public void windowDeactivated(WindowEvent windowevent)
    {
    }

    public void componentResized(ComponentEvent componentevent)
    {
        setTitle(wmsg);
        ImgSizechg();
        if(nDraw == 0)
            makestgrm();
        repaint();
        requestFocus();
        setTitle(stt);
    }

    public void componentHidden(ComponentEvent componentevent)
    {
    }

    public void componentMoved(ComponentEvent componentevent)
    {
    }

    public void componentShown(ComponentEvent componentevent)
    {
    }

    public void mouseDragged(MouseEvent mouseevent)
    {
        if(nDraw == 0)
            return;
        mouseevent.consume();
        if(nErace == 0)
            colors.addElement(Color.black);
        else
            colors.addElement(getBackground());
        lines.addElement(new Rectangle(x1, y1, mouseevent.getX() - 15, mouseevent.getY() - 15));
        x1 = mouseevent.getX() - 15;
        y1 = mouseevent.getY() - 15;
        gm = getGraphics();
        if(nErace == 0)
            gm.setColor(Color.black);
        else
            gm.setColor(getBackground());
        gm.fillOval(x1, y1, 30, 30);
    }

    public void mouseMoved(MouseEvent mouseevent)
    {
    }

    public void mousePressed(MouseEvent mouseevent)
    {
        if(nDraw == 0)
            return;
        mouseevent.consume();
        if(nErace == 0)
            colors.addElement(Color.black);
        else
            colors.addElement(getBackground());
        lines.addElement(new Rectangle(mouseevent.getX() - 15, mouseevent.getY() - 15, -1, -1));
        x1 = mouseevent.getX() - 15;
        y1 = mouseevent.getY() - 15;
        gm = getGraphics();
        if(nErace == 0)
            gm.setColor(Color.black);
        else
            gm.setColor(getBackground());
        gm.fillOval(x1, y1, 30, 30);
    }

    public void mouseReleased(MouseEvent mouseevent)
    {
        if(nDraw == 0)
            return;
        mouseevent.consume();
        int i = lines.size();
        for(int j = 0; j < i; j++)
        {
            offgraphics.setColor((Color)colors.elementAt(j));
            Rectangle rectangle = (Rectangle)lines.elementAt(j);
            offgraphics.fillOval(rectangle.x, rectangle.y - nBtm, 30, 30);
        }

        lines.removeAllElements();
        colors.removeAllElements();
        repaint();
    }

    public void mouseEntered(MouseEvent mouseevent)
    {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -