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

📄 editpane.java

📁 用java 编写的源码开放的文本编辑器。有很多有用的特性
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
	//{{{ getMinimumSize() method	/**	 * Returns 0,0 for split pane compatibility.	 */	public final Dimension getMinimumSize()	{		return new Dimension(0,0);	} //}}}	//{{{ Package-private members	//{{{ EditPane constructor	EditPane(View view, Buffer buffer)	{		super(new BorderLayout());		init = true;		this.view = view;		EditBus.addToBus(this);		textArea = new JEditTextArea(view);		add(BorderLayout.CENTER,textArea);		propertiesChanged();		if(buffer == null)			setBuffer(jEdit.getFirstBuffer());		else			setBuffer(buffer);		loadBufferSwitcher();		init = false;	} //}}}	//{{{ close() method	void close()	{		saveCaretInfo();		EditBus.send(new EditPaneUpdate(this,EditPaneUpdate.DESTROYED));		EditBus.removeFromBus(this);	} //}}}	//}}}	//{{{ Private members	//{{{ Instance variables	private boolean init;	private View view;	private Buffer buffer;	private Buffer recentBuffer;	private BufferSwitcher bufferSwitcher;	private JEditTextArea textArea;	//}}}	//{{{ propertiesChanged() method	private void propertiesChanged()	{		TextAreaPainter painter = textArea.getPainter();		painter.setFont(UIManager.getFont("TextArea.font"));		painter.setBracketHighlightEnabled(jEdit.getBooleanProperty(			"view.bracketHighlight"));		painter.setBracketHighlightColor(			jEdit.getColorProperty("view.bracketHighlightColor"));		painter.setEOLMarkersPainted(jEdit.getBooleanProperty(			"view.eolMarkers"));		painter.setEOLMarkerColor(			jEdit.getColorProperty("view.eolMarkerColor"));		painter.setWrapGuidePainted(jEdit.getBooleanProperty(			"view.wrapGuide"));		painter.setWrapGuideColor(			jEdit.getColorProperty("view.wrapGuideColor"));		painter.setCaretColor(			jEdit.getColorProperty("view.caretColor"));		painter.setSelectionColor(			jEdit.getColorProperty("view.selectionColor"));		painter.setBackground(			jEdit.getColorProperty("view.bgColor"));		painter.setForeground(			jEdit.getColorProperty("view.fgColor"));		painter.setBlockCaretEnabled(jEdit.getBooleanProperty(			"view.blockCaret"));		painter.setLineHighlightEnabled(jEdit.getBooleanProperty(			"view.lineHighlight"));		painter.setLineHighlightColor(			jEdit.getColorProperty("view.lineHighlightColor"));		painter.setAntiAliasEnabled(jEdit.getBooleanProperty(			"view.antiAlias"));		painter.setFractionalFontMetricsEnabled(jEdit.getBooleanProperty(			"view.fracFontMetrics"));		painter.setStyles(GUIUtilities.loadStyles(			jEdit.getProperty("view.font"),			jEdit.getIntegerProperty("view.fontsize",12)));		painter.setFoldLineStyle(GUIUtilities.parseStyle(			jEdit.getProperty("view.style.foldLine"),			jEdit.getProperty("view.font"),			jEdit.getIntegerProperty("view.fontsize",12)));		Gutter gutter = textArea.getGutter();		gutter.setExpanded(jEdit.getBooleanProperty(			"view.gutter.lineNumbers"));		int interval = jEdit.getIntegerProperty(			"view.gutter.highlightInterval",5);		gutter.setHighlightInterval(interval);		gutter.setCurrentLineHighlightEnabled(jEdit.getBooleanProperty(			"view.gutter.highlightCurrentLine"));		gutter.setBracketHighlightEnabled(jEdit.getBooleanProperty(			"view.gutter.bracketHighlight"));		gutter.setBracketHighlightColor(			jEdit.getColorProperty("view.gutter.bracketHighlightColor"));		gutter.setBackground(			jEdit.getColorProperty("view.gutter.bgColor"));		gutter.setForeground(			jEdit.getColorProperty("view.gutter.fgColor"));		gutter.setHighlightedForeground(			jEdit.getColorProperty("view.gutter.highlightColor"));		gutter.setFoldColor(			jEdit.getColorProperty("view.gutter.foldColor"));		gutter.setMarkerHighlightColor(			jEdit.getColorProperty("view.gutter.markerColor"));		gutter.setMarkerHighlightEnabled(jEdit.getBooleanProperty(			"view.gutter.markerHighlight"));		gutter.setCurrentLineForeground(			jEdit.getColorProperty("view.gutter.currentLineColor"));		String alignment = jEdit.getProperty(			"view.gutter.numberAlignment");		if ("right".equals(alignment))		{			gutter.setLineNumberAlignment(Gutter.RIGHT);		}		else if ("center".equals(alignment))		{			gutter.setLineNumberAlignment(Gutter.CENTER);		}		else // left == default case		{			gutter.setLineNumberAlignment(Gutter.LEFT);		}		gutter.setFont(jEdit.getFontProperty("view.gutter.font"));		int width = jEdit.getIntegerProperty(			"view.gutter.borderWidth",3);		gutter.setBorder(width,			jEdit.getColorProperty("view.gutter.focusBorderColor"),			jEdit.getColorProperty("view.gutter.noFocusBorderColor"),			textArea.getPainter().getBackground());		textArea.setCaretBlinkEnabled(jEdit.getBooleanProperty(			"view.caretBlink"));		textArea.setElectricScroll(jEdit.getIntegerProperty(			"view.electricBorders",0));		// Set up the right-click popup menu		JPopupMenu popup = GUIUtilities.loadPopupMenu("view.context");		JMenuItem customize = new JMenuItem(jEdit.getProperty(			"view.context.customize"));		customize.addActionListener(new ActionListener()		{			public void actionPerformed(ActionEvent evt)			{				new GlobalOptions(view,"context");			}		});		popup.addSeparator();		popup.add(customize);		textArea.setRightClickPopup(popup);		// use old property name for backwards compatibility		textArea.setQuickCopyEnabled(jEdit.getBooleanProperty(			"view.middleMousePaste"));		textArea.propertiesChanged();	} //}}}	//{{{ loadBufferSwitcher() method	private void loadBufferSwitcher()	{		if(jEdit.getBooleanProperty("view.showBufferSwitcher"))		{			if(bufferSwitcher == null)			{				bufferSwitcher = new BufferSwitcher(this);				add(BorderLayout.NORTH,bufferSwitcher);				bufferSwitcher.updateBufferList();				revalidate();			}		}		else if(bufferSwitcher != null)		{			remove(bufferSwitcher);			revalidate();			bufferSwitcher = null;		}	} //}}}	//{{{ handleBufferUpdate() method	private void handleBufferUpdate(BufferUpdate msg)	{		Buffer _buffer = msg.getBuffer();		if(msg.getWhat() == BufferUpdate.CREATED)		{			if(bufferSwitcher != null)				bufferSwitcher.updateBufferList();			/* When closing the last buffer, the BufferUpdate.CLOSED			 * handler doesn't call setBuffer(), because null buffers			 * are not supported. Instead, it waits for the subsequent			 * 'Untitled' file creation. */			if(buffer.isClosed())			{				setBuffer(jEdit.getFirstBuffer());				// since recentBuffer will be set to the one that				// was closed				recentBuffer = null;			}		}		else if(msg.getWhat() == BufferUpdate.CLOSED)		{			if(bufferSwitcher != null)				bufferSwitcher.updateBufferList();			if(_buffer == buffer)			{				Buffer newBuffer = (recentBuffer != null ?					recentBuffer : _buffer.getPrev());				if(newBuffer != null && !newBuffer.isClosed())					setBuffer(newBuffer);				else if(jEdit.getBufferCount() != 0)					setBuffer(jEdit.getFirstBuffer());				recentBuffer = null;			}			else if(_buffer == recentBuffer)				recentBuffer = null;		}		else if(msg.getWhat() == BufferUpdate.LOAD_STARTED)		{			if(_buffer == buffer)			{				textArea.setCaretPosition(0);				textArea.getPainter().repaint();			}		}		else if(msg.getWhat() == BufferUpdate.LOADED)		{			if(_buffer == buffer)			{				textArea.repaint();				textArea.updateScrollBars();				if(bufferSwitcher != null)					bufferSwitcher.updateBufferList();				if(view.getEditPane() == this)				{					StatusBar status = view.getStatus();					status.updateCaretStatus();					status.updateBufferStatus();					status.updateMiscStatus();				}				loadCaretInfo();			}		}		else if(msg.getWhat() == BufferUpdate.DIRTY_CHANGED)		{			if(_buffer == buffer)			{				if(bufferSwitcher != null)				{					if(buffer.isDirty())						bufferSwitcher.repaint();					else						bufferSwitcher.updateBufferList();				}			}		}		else if(msg.getWhat() == BufferUpdate.MARKERS_CHANGED)		{			if(_buffer == buffer)				textArea.getGutter().repaint();		}		else if(msg.getWhat() == BufferUpdate.PROPERTIES_CHANGED)		{			if(_buffer == buffer)			{				textArea.getFoldVisibilityManager()					.foldStructureChanged();				textArea.propertiesChanged();				textArea.repaint();				if(view.getEditPane() == this)					view.getStatus().updateBufferStatus();			}		}		else if(msg.getWhat() == BufferUpdate.SAVED)		{			if(_buffer == buffer)				textArea.propertiesChanged();		}	} //}}}	//}}}}

⌨️ 快捷键说明

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