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

📄 textareademo.java

📁 电子工业出版社出版的《java2应用开发指南》配套光盘源代码
💻 JAVA
字号:
//TextAreaDemo.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.text.*;
import java.io.FileReader;

public class TextAreaDemo extends JFrame 
{
	private JTextArea textArea = new JTextArea();
	private Container contentPane = getContentPane();

	public TextAreaDemo() 
	{
		//设置框架窗口标题
		super("JTextArea Demo");
		//读TextAreaDemo.java文件的内容并存入textArea组件中
		readFile(textArea, "TextAreaDemo.java");
		//创建功能面板并加入内容窗格的上部
		contentPane.add(new ControlPanel(), BorderLayout.NORTH);
		//创建滚动面板并加入内容窗格的中部
		contentPane.add(new JScrollPane(textArea),BorderLayout.CENTER);
		//显示框架窗口
		setSize(400,300);
		setVisible(true);
	}
	//应用程序的入口方法
	public static void main(String args[]) 
	{
		 TextAreaDemo frame=new TextAreaDemo();
		 //添加框架窗口的事件监听(监听关闭框架窗口事件)
		 frame.addWindowListener( new WindowAdapter() {
		    public void windowClosing(WindowEvent e) {
		        //正常推出Java虚拟机
		        System.exit(0);
		    }
		});
	}
	//读取文件名称为s的内容并存入textComponent文本组件中
	private void readFile(JTextComponent textComponent,String s) 
	{
		try 
		{ 
			(new DefaultEditorKit()).read(
			   new FileReader(s), textComponent.getDocument(), 0);
		} 
		catch(Exception ex) 
		{ 
			ex.printStackTrace(); 
		}
	}
	//封装功能控制面板,里面包含三个JRadioButton组件
	class ControlPanel extends JPanel 
	{ 
		//创建三个JRadioButton组件
		JRadioButton radioButtons[] = new JRadioButton[] 
		{
			new JRadioButton("wrap off"),
			new JRadioButton("wrap characters"),
			new JRadioButton("wrap words"),
		};

		public ControlPanel() 
		{
			ButtonGroup group = new ButtonGroup();
			//动作事件监听器
			Listener listener = new Listener();

			for(int i=0; i < radioButtons.length; ++i) 
			{
				//注册JRadioButton组件的动作监听器
				radioButtons[i].addActionListener(listener);
				group.add(radioButtons[i]);
				add(radioButtons[i]);

				if(i == 0) radioButtons[i].setSelected(true); // "wrap off"
			}
		}
		//JRadioButton的事件监听器实现类
		class Listener implements ActionListener 
		{
			public void actionPerformed(ActionEvent e) 
			{
				//获取事件的动作命令字符串(缺省是组件的标题文本)
				String action = e.getActionCommand();

				//设置多行文本域的右边界换行
				textArea.setLineWrap(!action.equals("wrap off"));
				//设置词为边界换行
				textArea.setWrapStyleWord(action.equals("wrap words"));
			
			}
		};
	}
}

⌨️ 快捷键说明

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