1、String getText()返回JTextArea中的内容int getLineCount()返回 JTextArea 中当前文本所占的行数setLineWrap(booleanwrap)设置文本区的换行策略9.1.3文本区与文本域下面示例展示了文本区与文本域的文本显示特点,文本域只能输入和显示单行文本,且不能提供换行与滚动条功能,而文本区则既可以提供通过换行的多行显示,也能通过将文本区添加到一个JScrollPane(滚动窗格)中实现垂直和水平的滚动功能。示例1package edu.learn;import javax.swing.*;import java.awt.*;import
2、java.awt.event.*;public class JTextAreaExample extends JFrame implements ActionListener JLabel userLab = new JLabel(发信人:,JLabel.LEFT); JTextField userText = new JTextField(20); JLabel mailLab = new JLabel(所发信息: JTextField mailText = new JTextField(20); JLabel infoLabe = new JLabel(信息记录: JTextArea tx
3、tArea = new JTextArea(5,20); public JTextAreaExample() init(); setTitle(文本域练习); setBounds(200,200,250,270); setResizable(false); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); public void init() setLayout(new FlowLayout(FlowLayout.LEFT); add(userLab); add(userText); add(mailLab);
4、add(mailText); add(infoLabe); /JTextArea不能自己提供滚动条,它必须借助于滚动窗格JScrollPane JScrollPane scroll = new JScrollPane(txtArea); txtArea.setEditable(false); add(scroll); mailText.addActionListener(this); public void actionPerformed(ActionEvent e) txtArea.append(userText.getText() + : + mailText.getText()+ n m
5、ailText.setText( public static void main(String args) new JTextAreaExample();运行结果:9.1.4 文本区上的DocumentEvent事件JTextArea经常触发的事件是DocumentEvent事件,DocumentEvent类放在javax.swing.envent包中。当文本区中的文本进行编辑操作,使文本区中的文本内容发生变化时,就会导致文本区中的文档模型中的数据发生变化,从而导致文本区触发DocumentEvent事件。DocumentEvent事件实现的接口以及接口中的抽象事件处理方法如下:事件类型对应监
6、听器接口接口中的抽象事件方法DocumentEventDocumentListenerpublic void changeUpdate(DocumentEvent e);public void removeUpdate(DocumentEvent e)public void insertUpdate(DocumentEvent e)以下示例展示了文本区的DocumentEvent(文档事件)的处理方法,该示例中有两个文本区,当用户朝一个文本区中输入文本时,就触发DocumentEvent事件中的文档内容改变事件,从而把修改的内容添加到另一个文本区中。示例2import javax.swing.
7、event.*;import java.util.*;public class WindowTextSort extends JFrame implements DocumentListener JTextArea text1,text2; WindowTextSort() init(); setLayout(new FlowLayout(); setBounds(120,100,300,240); setResizable(false); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); void init()
8、 text1=new JTextArea(5,25); text2=new JTextArea(5,25); add(new JScrollPane(text1); add(new JScrollPane(text2); text1.setLineWrap(true); text2.setLineWrap(true); text2.setEditable(false); (text1.getDocument().addDocumentListener(this);/向文档注册监视器 public void changedUpdate(DocumentEvent e) /接口方法 String
9、str=text1.getText(); String s = str.substring(str.length()-1); text2.append(s); public void removeUpdate(DocumentEvent e) /接口方法 changedUpdate(e); public void insertUpdate(DocumentEvent e) /接口方法 public static void main(String args) WindowTextSort win=new WindowTextSort(); win.setTitle(窗口9.2 JCheckBox
10、(复选框)JCheckBox复选框是一个拥有被选定状态和取消选定状态的对象,用户可以通过点击复选框对象来切换其状态9.2.1 JCheckBox的构造函数JCheckBox()创建一个没有文本、没有图标并且最初未被选定的复选框JCheckBox(String name)创建一个带文本的、最初未被选定的复选框JCheckBox(Icon icon)创建有一个图标、最初未被选定的复选框JCheckBox(String name,Icon icon)创建带有指定文本和图标的、最初未选定的复选框9.2.2 JCheckBox的常用方法setIcon(Icon icon)设置当前复选框的图标setTex
11、t(String name)设置当前复选框的文本获得当前复选框的文本boolean isSeleced()获得当前复选框的是否被选中的状态,如果被选中则返回true,否则返回false9.2.3 JCheckBox的ItemEvent事件以及ActionEvent事件当JCheckBox(复选框)的选中状态由于用户的鼠标点击而出现改变时,复选框就会触发ItemEvent事件。其中ItemEvent 对应的监听器接口和抽象方法如下:ItemEventItemListenerpublic void ItemStateChanged(ItemEvent e);JCheckBox注册ItemEvent
12、事件监听器对象的方法如下:addItemListener(ItemListener listener)注册ItemEvent事件监听器对象removeItemListener(ItemListener listener)移除ItemEvent事件监听器对象以下是一个通过多个复选框选择购买电脑附件的示例,每当用户选中或者是取消复选框状态时就触发ItemEvent事件,在该事件中将被选中的复选框中的内容获取后显示在下面的文本框中。示例3public class JCheckBoxExample extends JFrame implements ActionListener JCheckBox cb1 = new JCheckBox(无限鼠标 JCheckBox cb2 = new JCheckBox(移动硬盘 JCheckBox cb3 = new JCheckBox(U盘 JCheckBox cb4 = new JCheckBox(打印机 JPanel p1 = new JPanel(); JLabel label = new JLabel(需要购买的附件: public JCheckBoxExample()复选框练习 p1.setLayout(new GridLayout(4,1); p1.setBorder(BorderFa
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1