第二章---2

本文详细介绍了Java中的Vector类,包括它的特点、如何动态调整大小、常用方法如add和set,以及如何通过选择模式和监听器来增强功能。同时,还探讨了如何使用FileReader和JTextComponent进行文件读写。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Vector类实现了一个可增长对象数组。和数组一样,它所包含的成员可以使用整型 下标访问。然而,Vector可以创建后在添加或删除项有需要时增加或减小大小。

java.util.AbstractList<E>
          继承者 java.util.Vector<E>
java.util 类 Vector<E>
boolean add(E o)
将指定元素追加到此向量的末尾。
void add(int index, E element)
在此向量的指定位置插入指定的元素。

注意:

public void addElement(E obj)
将指定的组件添加到此向量的末尾,将其大小增加 1。如果向量的大小比容量大,则增大其容量。 
此方法的功能与 add(Object) 方法的功能完全相同(后者是 List 接口的一部分)。 
只是他们的返回值不一样。
public void setSelectionMode(int selectionMode)
设置列表的选择模式。
以下列表描述了可接受的选择模式: 
  • ListSelectionModel.SINGLE_SELECTION - 一次只能选择一个列表索引。在此模式中,setSelectionIntervaladdSelectionInterval 是等效的,两者都使用第二个参数(“lead”)所表示的索引来替换当前选择。
  • ListSelectionModel.SINGLE_INTERVAL_SELECTION - 一次只能选择一个连续间隔。在此模式中,如果给定间隔没有紧邻着现有选择或与现有选择重叠,则 addSelectionIntervalsetSelectionInterval 完全相同(替换当前选择),并可用于生成选择。
  • ListSelectionModel.MULTIPLE_INTERVAL_SELECTION - 在此模式中,不存在对选择的限制。此模式是默认设置。

填加选择侦听器addListSelectionListener(new ListSelectionListener(){}

覆盖valueChanged(ListSelectionEvent e) 方法

 每当选择值发生更改时调用。鼠标的按下和释放相当于两次改变。

例如:

 nameList.addListSelectionListener(new ListSelectionListener() {
      public void valueChanged(ListSelectionEvent lse) {
        // We know this is the list, so pop up the page.
        if (!lse.getValueIsAdjusting()) {
          parent.addPageFrame((String)nameList.getSelectedValue());
        }
      }
    });

public boolean getValueIsAdjusting()

一次鼠标的点击会有两次事件响应(按下和释放)。前者的事件属性中getValueIsAdjusting()=true,后者是false。因此,可以通过判断getValueIsAdjusting()来区别鼠标按下和释。

getSelectedValue

public Object getSelectedValue()
返回所选的第一个值,如果选择为空,则返回 null

 

返回:
所选的第一个值

建立菜单的顺序:

JMenuBar jmb = new JMenuBar();
    JMenu fileMenu = new JMenu("File");
    JMenuItem saveItem = new JMenuItem("Save");
    saveItem.addActionListener(this);
    fileMenu.add(saveItem);
    jmb.add(fileMenu);
    setJMenuBar(jmb);

FileReader 用于读取字符流。要读取原始字节流,请考虑使用 FileInputStream

read  //类 JTextComponent的方法

public void read(Reader in,
                 Object desc)
          throws IOException
根据流进行初始化。此方法创建一个适合于组件类型的模型,并根据流初始化该模型。默认情况下,此方法将以纯文本的方式加载该模型。该模型以前的内容将被丢弃。

 

参数:
in - 从中读取的流
desc - 描述流的对象;此对象可以是一个字符串、一个 File、一个 URL 等。有些种类的文档(如 html)或许能够使用此信息;如果为非 null,则将其作为文档的属性添加  

write//类 JTextComponent的方法

public void write(Writer out)
           throws IOException

将模型的内容存储到给定的流中。默认情况下,此方法将以纯文本的方式存储该模型。

参数: out - 输出流

copy//类 JTextComponent的方法

public void copy()
将关联文本模型中当前选定的范围传输到系统剪贴板,并在文本模型中保留内容。当前选定保持原样。对于 null 选定不执行任何操作。
抛出:
IOException - 如果该文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;抑或因为其他某些原因而无法打开它

AbstractAction:

开发人员只需为此抽象类创建子类并定义 actionPerformed 方法即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值