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

📄 textframe.java

📁 这是一个汉诺塔程序
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
				catch(Exception efind) 
				{ 
				} 
				}else if(id.equals("替换")){ 
				final JDialog jd=new JDialog();//(null,"替换",true); 
				GridBagLayout gbl=new GridBagLayout(); 
				GridBagConstraints gbc=new GridBagConstraints(); 
				gbc.weightx=1; 
				gbc.weighty=1; 
				gbc.gridwidth=1; 
				gbc.gridheight=1; 
				JLabel jlFind=new JLabel("查找:"); 
				JLabel jp=new JLabel("替换内容:"); 
				final JTextField jtf=new JTextField(15); 
				final JTextField jtf1=new JTextField(15); 
				jd.getContentPane().setLayout(gbl); 
				jd.setSize(330,150); 
				jd.setResizable(false); 
				final JButton jbReplace=new JButton("替换"); 
				final JButton jbReplaceAll=new JButton("替换所有"); 
				final JButton jbCancel=new JButton("取消"); 
				final JButton jbFind=new JButton("查找"); 
				gbc.gridx=0; 
				gbc.gridy=0; 
				jd.getContentPane().add(jlFind,gbc); 
				gbc.gridx=1; 
				gbc.gridy=0; 
				jd.getContentPane().add(jtf1,gbc); 
				gbc.gridx=2; 
				gbc.gridy=0; 
				jd.getContentPane().add(jbFind,gbc); 
				gbc.gridx=0; 
				gbc.gridy=1; 
				jd.getContentPane().add(jp,gbc); 
				gbc.gridx=1; 
				gbc.gridy=1; 
				jd.getContentPane().add(jtf,gbc); 
				gbc.gridx=2; 
				gbc.gridy=1; 
				jd.getContentPane().add(jbReplace,gbc); 
				gbc.gridx=2; 
				gbc.gridy=2; 
				jd.getContentPane().add(jbReplaceAll,gbc); 
				gbc.gridx=2; 
				gbc.gridy=3; 
				jd.getContentPane().add(jbCancel,gbc); 
				jbFind.addActionListener(new ActionListener() 
				{ 

				public void actionPerformed(ActionEvent efind) 
				{ 
				String strA=mainContain.getText(); 
				String strB=jtf1.getText(); 
				if(a>=0) 
				{ 
				a=strA.indexOf(strB,StartFindPos); 
//				System.out.println(a+b); 
				b=strB.length(); 
				StartFindPos=a+b; 
				if(a==-1) 
				{ 
				JOptionPane.showMessageDialog(null, "没有您要查找的信息", "查找结果",1); 
				a=0; 
				StartFindPos=0; 
				} 
				mainContain.select(a,StartFindPos); 
//				System.out.println(StartFindPos); 
				} 
				} 
				} 
				); 
				jbReplace.addActionListener(new ActionListener() 
				{ 
				public void actionPerformed(ActionEvent e) 
				{ 
				if(e.getActionCommand().equals("替换")) 
				{ 
				String strRepleace=jtf.getText(); 
				mainContain.replaceSelection(strRepleace); 
				} 
				} 
				} 
				); 
				jbReplaceAll.addActionListener(new ActionListener() 
				{ 
				public void actionPerformed(ActionEvent e) 
				{ 

				while(a>-1) 
				{ 
				String strA=mainContain.getText(); 
				String strB=jtf1.getText(); 
				a=strA.indexOf(strB,StartFindPos); 
				if(a==-1) 
				{ 
				break; 
				} 
//				System.out.println(a+b); 
				b=strB.length(); 
				StartFindPos=a+b; 
//				System.out.println(StartFindPos); 
				mainContain.select(a,StartFindPos); 
//				System.out.println(StartFindPos); 
				String strRepleaceAll=jtf.getText(); 
				mainContain.replaceSelection(strRepleaceAll); 
				StartFindPos=a+b; 

				} 
				JOptionPane.showMessageDialog(null, "全部替换完毕", "替换内容",1); 
				a=0; 
				StartFindPos=0; 
				} 
				} 
				); 
				jbCancel.addActionListener(new ActionListener() 
				{ 
				public void actionPerformed(ActionEvent ejb) 
				{ 
				jd.dispose(); 
				} 
				} 
				); 
				jd.setLocation(240,200); 
				jd.setVisible(true); 
				jd.setDefaultCloseOperation(DISPOSE_ON_CLOSE); 
				} else if(id.equals("全选")||id.equals("全选(A)")){
					mainContain.selectAll();
			}else if(id.equals("帮助主题")){
					jd2.setVisible(true);
			}else if(id.equals("关于")){
				jd1.setVisible(true);
			}
			else if (id.equals("撤消")||id.equals("撤销(U)")){
				try {
                    if (undo.canUndo()) {
                        undo.undo();
                    }
                } catch (CannotUndoException ee) {
                	
                }
			}
		}
	};
	
	void saveFile(){
		try{
			FileWriter fw=new FileWriter(file);
			fw.write(mainContain.getText());
			fw.close();
		}
		catch(Exception e){
			e.printStackTrace();
		}
	}
	void openFile(){
		try{
			len=0;
			BufferedReader br=new BufferedReader(new FileReader(file));
			String s=br.readLine(),content="";
			while(s!=null){
				len++;
				content=content+s+"\n";
				s=br.readLine();
			}
			br.close();
			mainContain.setText(content);
			mainContain.setCaretPosition(0);
			
			setLineNumber();
		}catch(Exception e){
			e.printStackTrace();
		}
	}
	
	void initToolBar(){
		JToolBar jbl=new JToolBar();
		ImageIcon imageicon1 = new ImageIcon(this.getClass().getResource("ImageIcon/(49,38).png"));;
		ImageIcon imageicon2 = new ImageIcon(this.getClass().getResource("ImageIcon/(23,11).png"));
		ImageIcon imageicon3 = new ImageIcon(this.getClass().getResource("ImageIcon/(45,16).png"));
		ImageIcon imageicon4 = new ImageIcon(this.getClass().getResource("ImageIcon/(16,11).png"));
		ImageIcon imageicon5 = new ImageIcon(this.getClass().getResource("ImageIcon/(18,00).png"));
		ImageIcon imageicon6 = new ImageIcon(this.getClass().getResource("ImageIcon/(42,28).png"));
		ImageIcon imageicon7 = new ImageIcon(this.getClass().getResource("ImageIcon/(46,46).png"));
		ImageIcon imageicon8 = new ImageIcon(this.getClass().getResource("ImageIcon/(46,35).png"));
		ImageIcon imageicon9 = new ImageIcon(this.getClass().getResource("ImageIcon/(41,09).png"));

		JButton []buttons=new JButton[]{
				new JButton(imageicon1),
				new JButton(imageicon2),
				new JButton(imageicon3),
				new JButton(imageicon4),
				new JButton(imageicon5),
				new JButton(imageicon6),
				new JButton(imageicon7),
				new JButton(imageicon8),
				new JButton(imageicon9)

			};
		for(int i=0;i<buttons.length;i++)
			jbl.add(buttons[i]);
		 buttons[0].setToolTipText("新建");
         buttons[0].addActionListener(new ActionListener(){
         public void actionPerformed(ActionEvent e){
        	 mainContain.setText("");
        	 len=0;
        	 setLineNumber();
        	 errPane.setText("");
				file=null;
     }
         });
         buttons[1].setToolTipText("打开");
         buttons[1].addActionListener(new ActionListener(){
         public void actionPerformed(ActionEvent e){
        	 if(file !=null)jfc.setSelectedFile(file);
             int returnVal=jfc.showOpenDialog(TextFrame.this);
             if(returnVal==JFileChooser.APPROVE_OPTION){
             file=jfc.getSelectedFile();
             openFile();
             errPane.setText("");  
             new Parse(mainContain,errPane);
				}
             }
        });
         buttons[2].setToolTipText("保存");
         buttons[2].addActionListener(new ActionListener(){
         public void actionPerformed(ActionEvent e){
        	 if (file!=null)	jfc.setSelectedFile(file);
				int returnVal=jfc.showSaveDialog(TextFrame.this);
				if (returnVal==JFileChooser.APPROVE_OPTION){
					file=jfc.getSelectedFile();
					saveFile();
				errPane.setText("");  
				new Parse(mainContain,errPane);
				}
     }
 });
        
		buttons[3].setToolTipText("复制");
		buttons[3].addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				mainContain.copy();
				
			}
		});
		buttons[4].setToolTipText("剪切");      
	     buttons[4].addActionListener(new ActionListener(){
	           public void actionPerformed(ActionEvent e){
	              mainContain.cut();
	       }
	   });
		 buttons[5].setToolTipText("粘贴");
         buttons[5].addActionListener(new ActionListener(){
         public void actionPerformed(ActionEvent e){
            mainContain.paste();
     }
 });
         buttons[6].setToolTipText("帮助");
         buttons[6].addActionListener(new ActionListener(){
         public void actionPerformed(ActionEvent e){
            //方法未实现
     }
 });  
         buttons[7].setToolTipText("视图切换");
         final JEditorPane monitor=mainContain;
         buttons[7].addActionListener(new ActionListener(){
         public void actionPerformed(ActionEvent e){
           // 方法未实现
        	 if (file==null){
        		 file=new File("c:\\temp.html");
        		 saveFile();
        	 }
        	 else
        		 saveFile();
        	 try   {  
                 Runtime.getRuntime().exec("C:\\Program Files\\Internet Explorer\\iexplore.exe "+file);  
             }  
             catch   (IOException   ex)   {  
                 System.out.println(ex);  
             }  
             if (file.getName().equals("c:\\temp.html"))
            	 file.delete();
     }
 });  
         buttons[8].setToolTipText("" +"启动检查");
         buttons[8].addActionListener(new ActionListener(){
         public void actionPerformed(ActionEvent e){
        	 errPane.setText("");  
        	 new Parse(mainContain,errPane);
     }
 });  


         c.add(jbl,BorderLayout.NORTH);
         
 }
	//帮助对话框
	void initAboutDialog(){
		//帮助对话框

			JTextArea message=new JTextArea();
			String s="            HTML Editor\n\n作者:黄添来,夏晨风,李小鹏,龚晓晔\n版本:1.0\n时间:2007年4月14日\n";
			String lianxi="E-mail:gongxiaoye198777@163.com\n\tsdx112@163.com\n\tissxia@gmail.com\nQQ:254027844  523877701   4461093";
			message.setEditable(false);
			message.setLineWrap(true);
			message.setColumns(20);
			message.setFont(new Font("宋体",Font.BOLD,15));
			message.setBounds(5,5,290,200);
			message.append(s+"\n\n"+lianxi);
	    jd1.getContentPane().add(message);
	    jd1.setModal(true);
	    jd1.setSize((int) Toolkit.getDefaultToolkit().getScreenSize().getWidth()/3,(int)Toolkit.getDefaultToolkit().getScreenSize().getHeight()/3);
	    
	    
	    JTextArea help=new JTextArea();
		String str="                        HTMLEditor概述\n  HTMLEditor是一个用来创建符合Java API提供的W3C标准网页的HTML编辑器。HTMLEditor最常用来查看或编辑HTML文件。\n  当使用该编辑器创建新HTML文件时,能自动显示行数,将标记用蓝色显示,属性用红色显示,方便编辑和修改。并能自动检查HTML是否出现语法错误,在编辑器下面的控制台里显示错误信息,指出错误发生的行数和错误类型 。\n  我们所采取的Html标准是javax.swing.text.html.dom里面的封装类:HTML.Tag和HTML.Attribute,所有个别里面没有的属性可能会报错 。";
		help.setEditable(false);
		help.setLineWrap(true);
		help.setColumns(20);
		help.setFont(new Font("宋体",Font.BOLD,15));
		help.setBounds(5,5,290,200);
		help.append(str);
	jd2.getContentPane().add(help);
	jd2.setModal(true);
	jd2.setSize((int) Toolkit.getDefaultToolkit().getScreenSize().getWidth()/2,(int)Toolkit.getDefaultToolkit().getScreenSize().getHeight()/2);

		}
	
	
	void initJTextArea(){
		
		  c.add(new JScrollPane(errPane),BorderLayout.SOUTH);
		  errPane.setLineWrap(true);
		  errPane.setEditable(false);
	}
	class UndoHander implements UndoableEditListener 
	{ 
	public void undoableEditHappened(UndoableEditEvent eundo) 
	{ 
		undo.addEdit(eundo.getEdit()); 
	} 

	}
}

⌨️ 快捷键说明

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