noteframe.java

来自「记事本源码」· Java 代码 · 共 1,362 行 · 第 1/4 页

JAVA
1,362
字号
			{
				openFile.showDialog(NoteFrame.this,"字体");
			}
		});
		formatMenu.add(autoLineItem);
		formatMenu.add(fontItem);
		
		estateItem=new JCheckBoxMenuItem("状态栏(S)");
		estateItem.setState(true);
		estateItem.addActionListener(new EstateAction());
		estateItem.setFont(new Font("宋体",Font.PLAIN,12));
		seeMenu.add(estateItem);
		
		JMenuItem helpSbujectItem=new JMenuItem("帮助主题(H)");
		helpSbujectItem.setFont(new Font("宋体",Font.PLAIN,12));
		JMenuItem aboutNoteItem=new JMenuItem("关于记事本(A)");
		aboutNoteItem.setFont(new Font("宋体",Font.PLAIN,12));
		helpMenu.add(helpSbujectItem);
		helpMenu.add(aboutNoteItem);
	}
	private JPanel p;
	private JTextArea mainArea;
	private JFileChooser openFile;
	private JScrollPane noteScroll;
	private JCheckBoxMenuItem autoLineItem,estateItem;
	private JLabel leftLabel,rightLabel;
	private EstateLabel southPane;
	private File oldFile;
	private FileInputStream excessFile;
	private BufferedReader readerFile;
	private InputStreamReader readerFileInPut;
	private int openChooser;
	private JMenu fileMenu;
	private LookUp lookup;
	private Replace replace;
	private JTextField lookUpContentTextField;
	private class AutoLineAction implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
			if(autoLineItem.getState())
			{
				mainArea.setLineWrap(true);
			}
			else
			{
				mainArea.setLineWrap(false);
			}
		}
	}
	private class EstateAction implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
			if(estateItem.getState())
			{
				southPane.setVisible(true);
			}
			else
			{
				southPane.setVisible(false);
			}
		}
	}
	private class EstateLabel extends JPanel
	{
		public EstateLabel()
		{
			GridBagLayout gridbag=new GridBagLayout();
		        setLayout(gridbag);
			GridBagConstraints c;
   	                int gridx,gridy,gridwidth,gridheight,anchor,fill,ipadx,ipady;
   	                double weightx,weighty;
   	                Insets inset;
   	                
   	                leftLabel=new JLabel();
   	                leftLabel.setFont(new Font("宋体",Font.PLAIN,12));
   	                leftLabel.setHorizontalAlignment(JLabel.RIGHT);
   	                gridx=0;
   	                gridy=0;
   	                gridwidth=1;
   	                gridheight=1;
   	                weightx=90;
   	                weighty=10;
   	                anchor=GridBagConstraints.CENTER;
   	                fill=GridBagConstraints.HORIZONTAL;
   	                inset=new Insets(0,5,0,0);
   	                ipadx=0;
   	                ipady=0;
   	                c=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
   	                gridbag.setConstraints(leftLabel,c);
   	                add(leftLabel);
   	                
   	                rightLabel=new JLabel("Ln1,Col1");
   	                rightLabel.setFont(new Font("宋体",Font.PLAIN,12));
   	                rightLabel.setHorizontalAlignment(JLabel.LEFT);
   	                gridx=1;
   	                gridy=0;
   	                gridwidth=1;
   	                gridheight=1;
   	                weightx=10;
   	                weighty=10;
   	                anchor=GridBagConstraints.CENTER;
   	                fill=GridBagConstraints.HORIZONTAL;
   	                inset=new Insets(0,0,0,5);
   	                ipadx=0;
   	                ipady=0;
   	                c=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
   	                gridbag.setConstraints(rightLabel,c);
   	                add(rightLabel);
		}
	}
	private class LookUp extends JDialog
	{
		public LookUp(JFrame f)
		{
			super(f,"查找",true);
		        setSize(386,126);
		        setResizable(false);		
						
		        GridBagLayout gridbag=new GridBagLayout();				
	                GridBagConstraints c;
   	                int gridx,gridy,gridwidth,gridheight,anchor,fill,ipadx,ipady;
   	                double weightx,weighty;
   	                Insets inset;
   	        
   	                centerPanel=new JPanel();
   	                centerPanel.setLayout(gridbag);
		        getContentPane().add(centerPanel,BorderLayout.CENTER);
		   	        
   	                leftPanel=new JPanel();
   	                leftPanel.setLayout(gridbag);
		        rightPanel=new JPanel();
		        rightPanel.setLayout(gridbag);
		        upPanel=new JPanel();
		        upPanel.setLayout(gridbag);
		        downPanel=new JPanel();
		        downPanel.setLayout(gridbag);
   	        
   	                lookUpContent=new JLabel("查找内容(N):");
		        lookUpContent.setFont(new Font("宋体",Font.PLAIN,12));
		        lookUpContentTextField=new JTextField(100);
		        lookUpContentTextField.setFont(new Font("宋体",Font.PLAIN,12));
		
		lookUp=new JButton("查找下一个(F)");
		lookUp.setFont(new Font("宋体",Font.PLAIN,12));
		lookUp.setMargin(new Insets(1,1,1,1));
		//lookUp.addActionListener(new LookUpAction());
		lookUp.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				String s1=mainArea.getText();
			        String s2=lookUpContentTextField.getText();
			
			        char [] c1=s1.toCharArray();
			        char [] c2=s2.toCharArray();
			        for(int i=0;i<c1.length;i++)
			        {
				        if(c1[i]==c2[0])
				        {
					          mainArea.select(i,i+1);
					          break;
					          
				        }
			        }
			}
		});
		cancel=new JButton("取消");
		cancel.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				setVisible(false);
			}
		});
		cancel.setFont(new Font("宋体",Font.PLAIN,12));
		cancel.setMargin(new Insets(1,1,1,1));
		
		letterSize=new JCheckBox("区分大小写(C)");
		letterSize.setFont(new Font("宋体",Font.PLAIN,12));
		letterSize.setMargin(new Insets(1,1,1,1));
		wayPanel=new JPanel(new GridLayout(1,2,5,5));
		Border formBorder=BorderFactory.createEtchedBorder();
		Border titleBorder=BorderFactory.createTitledBorder(formBorder,"方向",TitledBorder.LEFT,TitledBorder.TOP,new Font("宋体",Font.PLAIN,12),Color.RED);
		way=new ButtonGroup();
		upButton=new JRadioButton("向上(U)",false);
		upButton.setFont(new Font("宋体",Font.PLAIN,12));
		upButton.setMargin(new Insets(1,1,1,1));
		downButton=new JRadioButton("向下(D)",true);
		downButton.setFont(new Font("宋体",Font.PLAIN,12));
		downButton.setMargin(new Insets(1,1,1,1));
		way.add(upButton);
		way.add(downButton);
		wayPanel.add(upButton);
		wayPanel.add(downButton);
		wayPanel.setBorder(titleBorder);
		
		gridx=0;
   	        gridy=0;
   	        gridwidth=1;
   	        gridheight=1;
   	        weightx=100;
   	        weighty=100;
   	        anchor=GridBagConstraints.NORTHWEST;
   	        fill=GridBagConstraints.HORIZONTAL;
   	        inset=new Insets(0,0,0,0);
   	        ipadx=0;
   	        ipady=0;
   	        c=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
   	        gridbag.setConstraints(leftPanel,c);
		
		gridx=1;
   	        gridy=0;
   	        gridwidth=1;
   	        gridheight=1;
   	        weightx=100;
   	        weighty=100;
   	        anchor=GridBagConstraints.NORTHEAST;
   	        fill=GridBagConstraints.HORIZONTAL;
   	        inset=new Insets(0,0,0,0);
   	        ipadx=0;
   	        ipady=0;
   	        c=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
   	        gridbag.setConstraints(rightPanel,c);
   	        
   	        centerPanel.add(leftPanel);
   	        centerPanel.add(rightPanel);
   	        
   	        gridx=0;
   	        gridy=0;
   	        gridwidth=1;
   	        gridheight=1;
   	        weightx=100;
   	        weighty=100;
   	        anchor=GridBagConstraints.NORTHWEST;
   	        fill=GridBagConstraints.HORIZONTAL;
   	        inset=new Insets(0,0,0,0);
   	        ipadx=0;
   	        ipady=0;
   	        c=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
   	        gridbag.setConstraints(upPanel,c);
   	        
   	        gridx=0;
   	        gridy=1;
   	        gridwidth=1;
   	        gridheight=1;
   	        weightx=100;
   	        weighty=100;
   	        anchor=GridBagConstraints.SOUTHWEST;
   	        fill=GridBagConstraints.HORIZONTAL;
   	        inset=new Insets(10,0,0,0);
   	        ipadx=0;
   	        ipady=0;
   	        c=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
   	        gridbag.setConstraints(downPanel,c);
   	        
   	        leftPanel.add(upPanel);
   	        leftPanel.add(downPanel);
   	        
   	        gridx=0;
   	        gridy=0;
   	        gridwidth=1;
   	        gridheight=1;
   	        weightx=100;
   	        weighty=100;
   	        anchor=GridBagConstraints.CENTER;
   	        fill=GridBagConstraints.HORIZONTAL;
   	        inset=new Insets(10,10,5,10);
   	        ipadx=0;
   	        ipady=0;
   	        c=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
   	        gridbag.setConstraints(lookUp,c);
   	        
   	        gridx=0;
   	        gridy=1;
   	        gridwidth=1;
   	        gridheight=1;
   	        weightx=100;
   	        weighty=100;
   	        anchor=GridBagConstraints.CENTER;
   	        fill=GridBagConstraints.HORIZONTAL;
   	        inset=new Insets(5,10,0,10);
   	        ipadx=0;
   	        ipady=0;
   	        c=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
   	        gridbag.setConstraints(cancel,c);
   	        
   	        rightPanel.add(lookUp);
   	        rightPanel.add(cancel);
   	        
   	        gridx=0;
   	        gridy=0;
   	        gridwidth=1;
   	        gridheight=1;
   	        weightx=1;
   	        weighty=100;
   	        anchor=GridBagConstraints.WEST;
   	        fill=GridBagConstraints.NONE;
   	        inset=new Insets(10,10,5,5);
   	        ipadx=0;
   	        ipady=0;
   	        c=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
   	        gridbag.setConstraints(lookUpContent,c);
		
		gridx=1;
   	        gridy=0;
   	        gridwidth=1;
   	        gridheight=1;
   	        weightx=100;
   	        weighty=100;
   	        anchor=GridBagConstraints.CENTER;
   	        fill=GridBagConstraints.HORIZONTAL;
   	        inset=new Insets(10,5,0,0);
   	        ipadx=0;
   	        ipady=0;
   	        c=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
   	        gridbag.setConstraints(lookUpContentTextField,c);
   	        
   	        upPanel.add(lookUpContent);
   	        upPanel.add(lookUpContentTextField);
   	        
   	        gridx=0;
   	        gridy=0;
   	        gridwidth=1;
   	        gridheight=1;
   	        weightx=40;
   	        weighty=100;
   	        anchor=GridBagConstraints.SOUTHWEST;
   	        fill=GridBagConstraints.HORIZONTAL;
   	        inset=new Insets(5,10,0,5);
   	        ipadx=0;
   	        ipady=0;
   	        c=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
   	        gridbag.setConstraints(letterSize,c);
		
		gridx=1;
   	        gridy=0;
   	        gridwidth=1;
   	        gridheight=1;
   	        weightx=60;

⌨️ 快捷键说明

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