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

📄 searchframe.java

📁 这是用java写的c++扫描程序
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            }catch(IOException e){
                e.printStackTrace();
            }
        }
    }//GEN-LAST:event_OpenFileItemActionPerformed

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
// TODO 将在此处添加您的处理代码:
        InputArea.setText("");
        hasEmpty=false;
        flag=false;
        text="";
    }//GEN-LAST:event_jButton2ActionPerformed

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
// TODO 将在此处添加您的处理代码:
        OutputArea.setText("");
    }//GEN-LAST:event_jButton1ActionPerformed

    private void InputAreaKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_InputAreaKeyPressed
// TODO 将在此处添加您的处理代码:
        char a[]=new char[1];
        String str;
        a[0]=evt.getKeyChar();
        str =new String(a);
        fenXi(str,evt.getKeyCode());
        //System.out.println(evt.getKeyCode());
        /*
        System.out.println(evt.getKeyCode());
        if(evt.getKeyCode()==10)
        {
            OutputArea.append("回车\n");
            hasEmpty=false;
            flag=false;
            text="";
        }
        else if(evt.getKeyCode()==32)
        {
            flag=false;
            hasEmpty=true;
            text="";
        }
        else if(evt.getKeyCode()==8)
        {
            if(!text.trim().equals(""))
                text=text.substring(0,text.length()-1);
            hasEmpty=false;
            //System.out.println(text);
        }
        else if((evt.getKeyCode()!=16))
        {//System.out.println("if");
            if(!flag)
            {System.out.println("if");
                if(!searchC.Search(str).equals("null"))
                {
                    OutputArea.append(searchC.Search(str));
                    isID=true;
                    flag=false;
                }
                else if(isID&&v.contains(str))
                {
                    str=str+"为:标识符\n";
                    OutputArea.append(str); 
                    flag=false;
                }
                else // if(a[0]>'a'&&a[0]<'z')
                {
                    //OutputArea.append(str+"为:标识符 \n");
                    text+=str;
                    System.out.println(v.size());
                    flag=true;
                }
            }else
            {//System.out.println(flag);
                if(isID&&hasEmpty&&str.equals(";"))
                {
                    v.add(text);
                    text+="为:标识符\n";
                    OutputArea.append(text);
                    isID=false;
                    hasEmpty=false;
                    flag=false;
                    text="";
                }
                else if(isID&&v.contains(text))
                {
                    text+="为:标识符\n";
                    OutputArea.append(text);
                    flag=false;
                    //text="";
                }
                else
                {
                    text+=str;
                   // System.out.println(text);
                    if(!searchC.Search(text).equals("null"))
                    {
                        OutputArea.append(searchC.Search(text));
                        isID=true;
                        flag=false;
                        text="";
                    }
                }
            }
        }
         */
    }//GEN-LAST:event_InputAreaKeyPressed

    private void SearchBTActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SearchBTActionPerformed
// TODO 将在此处添加您的处理代码:
        //System.out.println(InputArea.getText());
        int i=0;
        if(InputArea.getText().trim().equals(""))
            OutputArea.setText("你还没有输入任何C++代码!");
        else
        {
            StringTokenizer token =new StringTokenizer(InputArea.getText(),"\n");
            StringTokenizer fenxi;
            String line="",lines="",output="";
        //System.out.println(token.countTokens());
            while(token.hasMoreTokens())
            {
                fenXi("",10);
                line=token.nextToken();
                fenxi=new StringTokenizer(line," ");
                if(fenxi.countTokens()==1)
                {
                    lines=fenxi.nextToken();
                    for(i=0;i<lines.length();i++)
                    {
                        char a[]=new char[1];
                        a[0]=lines.charAt(i);
                        fenXi(new String(a),1111);
                    }
                }else{
                    while(fenxi.hasMoreTokens())
                    {
                        fenXi("",32);
                        lines=fenxi.nextToken();
                        for(i=0;i<lines.length();i++)
                        {
                            char a[]=new char[1];
                            a[0]=lines.charAt(i);
                            fenXi(new String(a),1111);
                        }
                    }
                }      
            }
        }
    }//GEN-LAST:event_SearchBTActionPerformed

    private void ExitBTActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ExitBTActionPerformed
// TODO 将在此处添加您的处理代码:
        this.dispose();
    }//GEN-LAST:event_ExitBTActionPerformed
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new SearchFrame().setVisible(true);
            }
        });
    }
    private void fenXi(String str,int keycode)
    {
        if(keycode==10)
        {
            OutputArea.append("换行\n");
            hasEmpty=false;
            flag=false;
            text="";
        }
        else if(keycode==32)
        {
            flag=false;
            hasEmpty=true;
            text="";
        }
        else if(keycode==8)
        {
            if(!text.trim().equals(""))
                text=text.substring(0,text.length()-1);
            hasEmpty=false;
            //System.out.println(text);
        }
        else if((keycode!=16))
        {//System.out.println("if");
            if(!flag)
            {//System.out.println("if");
                if(!searchC.Search(str).equals("null"))
                {
                    OutputArea.append(searchC.Search(str));
                    isID=true;
                    flag=false;
                }
                else if(isID&&v.contains(str))
                {
                    str=str+"为:标识符\n";
                    OutputArea.append(str); 
                    flag=false;
                }
                else // if(a[0]>'a'&&a[0]<'z')
                {
                    //OutputArea.append(str+"为:标识符 \n");
                    text+=str;
                    //System.out.println(v.size());
                    flag=true;
                }
            }else
            {//System.out.println(flag);
                if(isID&&hasEmpty&&str.equals(";"))
                {
                    v.add(text);
                    text+="为:标识符\n";
                    OutputArea.append(text);
                    isID=false;
                    hasEmpty=false;
                    flag=false;
                    text="";
                }
                else if(isID&&v.contains(text))
                {
                    text+="为:标识符\n";
                    OutputArea.append(text);
                    flag=false;
                    //text="";
                }
                else
                {
                    text+=str;
                   // System.out.println(text);
                    if(!searchC.Search(text).equals("null"))
                    {
                        OutputArea.append(searchC.Search(text));
                        isID=true;
                        flag=false;
                        text="";
                    }
                }
            }
        }
    }
    // 变量声明 - 不进行修改//GEN-BEGIN:variables
    private javax.swing.JMenuItem CodeSetItem;
    private javax.swing.JButton ExitBT;
    private javax.swing.JMenu FileMenu;
    private javax.swing.JTextArea InputArea;
    private javax.swing.JScrollPane InputScroll;
    private javax.swing.JMenuBar MainMenu;
    private javax.swing.JMenuItem OpenFileItem;
    private javax.swing.JTextArea OutputArea;
    private javax.swing.JScrollPane OutputScroll;
    private javax.swing.JMenuItem SaveFileItem;
    private javax.swing.JButton SearchBT;
    private javax.swing.JMenu SysSetMenu;
    private javax.swing.JLabel TitleLabel;
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JSeparator jSeparator1;
    // 变量声明结束//GEN-END:variables
    private SearchC searchC;
    public static String inputText="";
    public static String outputText="";
    private  boolean flag;
    private boolean isID;
    private boolean hasEmpty;
    private String text="";
    private Vector v;
    private SetFilterFrame setFilterF;
}

⌨️ 快捷键说明

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