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

📄 texttest.java

📁 《Java程序设计与应用》-张仕斌-源程序 《Java程序设计与应用》-张仕斌-源程序
💻 JAVA
字号:
//TextTest.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

//需要实现CaretListener接口
public class TextTest extends JFrame implements CaretListener {
	
	private JTextField tf = null;    //文本框
	private JTextArea ta = null;     //文本区域
	private JLabel lblPrompt = null; //提示标签
	
	public TextTest() {
		super("Swing Text Component Test");
		
		Container cp = this.getContentPane();
		
		tf = new JTextField(45);          //创建文本框
		ta = new JTextArea(5,45);         //创建文本区域
		lblPrompt = new JLabel("启动");   //创建标签
		
		JScrollPane sp = new JScrollPane(ta);  //把文本区域放在滚动面板中
		
		/*将组件分别放到窗口中的位置*/
		cp.add(tf , BorderLayout.NORTH);
		cp.add(sp , BorderLayout.CENTER);
		cp.add(lblPrompt , BorderLayout.SOUTH);
		
		/*为文本框添加动作监听,捕捉回车动作*/
		tf.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String str = ta.getText();
				str = str.equals("") ? "" : "\n";
				ta.append(str + tf.getText());  //把文本框中内容加入到文本区域中
				tf.setText("");                 //清空文本框
			}
		});
		
		tf.addCaretListener(this);    //为文本框添加Caret监听
		ta.addCaretListener(this);    //为文本区域添加Caret监听
		ta.setLineWrap(true);         //设置文本区域自动换行
	}
	
	/*必须重写该方法,以实现捕捉Caret事件*/
	public void caretUpdate(CaretEvent e) {
		if (e.getSource() == tf) {  //如果是文本框引发
			lblPrompt.setText("文本框引发,当前光标位置:" + e.getDot());
		}
		if (e.getSource() == ta) {  //如果是文本区域引发
			String str = "文本区域引发,";
			str = str + "文本区域中有内容[" + ta.getLineCount() + "]行";
			str = str + ",文本区域中光标位置:" + e.getDot();
			lblPrompt.setText(str);
		}
	}
	
	public static void main(String[]args) {
		TextTest tt = new TextTest();
		tt.setSize(300,140);
		tt.setDefaultCloseOperation(EXIT_ON_CLOSE);
		tt.setVisible(true);
	}
}

⌨️ 快捷键说明

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