- 浏览: 190868 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
wanglijunjsj:
谢谢,很有用
java log4j的一些总结 -
lxb_champagne:
this.init(); 类都没初始化好,this没用的。
java final变量的初始化问题 -
lg_asus:
上面代码有点小问题,最新代码:
public class Pr ...
判断素数 -
lg_asus:
测试10 million的以内的数据,算出所有素数时间在500 ...
判断素数 -
lg_asus:
文章中说错了:如果只是找一个数在不在其中,则可以直接遍历一次, ...
40亿不重复的正整数,如何判断一个数是否在其中
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.undo.*; import javax.swing.text.*; public class JTextAreaDemo3 extends JFrame implements UndoableEditListener,DocumentListener{ private UndoableEdit edit; private JTextArea jta; private JMenuItem undoitem; private JMenuItem redoitem; private JTextArea message; public JTextAreaDemo3(){ super("JTextAreaDemo3"); jta = new JTextArea(); jta.getDocument().addUndoableEditListener(this); jta.getDocument().addDocumentListener(this); message = new JTextArea(); message.setEditable(false); JPanel p1 = new JPanel(); p1.setLayout(new GridLayout(1,1)); p1.setBorder(BorderFactory.createTitledBorder("Edit Area")); p1.add(new JScrollPane(jta)); JPanel p2 = new JPanel(); p2.setLayout(new GridLayout(1,1)); p2.setBorder(BorderFactory.createTitledBorder("Message")); p2.add(new JScrollPane(message)); this.getContentPane().setLayout(new GridLayout(2,1)); this.getContentPane().add(p1); this.getContentPane().add(p2); JMenuBar bar = new JMenuBar(); JMenu theMenu = new JMenu("Edit"); undoitem = new JMenuItem("Undo"); redoitem = new JMenuItem("Redo"); theMenu.add(undoitem); theMenu.add(redoitem); bar.add(theMenu); updateMenuItem();////////////// this.setJMenuBar(bar); this.setSize(300,300); undoitem.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e){ edit.undo(); updateMenuItem(); message.append("-Undo-\n"); } }); redoitem.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e){ edit.redo(); updateMenuItem(); message.append("-Redo-\n"); } }); } @Override public void undoableEditHappened(UndoableEditEvent e){ StringBuffer sb = new StringBuffer(200); edit = e.getEdit(); //sb.append("undoableEdit"); sb.append(edit.getPresentationName()); sb.append("\n"); message.append(sb.toString()); updateMenuItem(); } @Override public void changedUpdate(DocumentEvent e){ showDE(e); } @Override public void insertUpdate(DocumentEvent e){ showDE(e); } @Override public void removeUpdate(DocumentEvent e){ showDE(e); } public void updateMenuItem(){ if(edit!=null){ undoitem.setEnabled(edit.canUndo()); redoitem.setEnabled(edit.canRedo()); undoitem.setText(edit.getUndoPresentationName()); redoitem.setText(edit.getRedoPresentationName()); }else{ undoitem.setEnabled(false); redoitem.setEnabled(false); undoitem.setText("Undo"); redoitem.setText("Redo"); } } public void showDE(DocumentEvent e){ StringBuffer sb = new StringBuffer(100); sb.append(e.getType()); sb.append("Offset:"); sb.append(e.getOffset()); sb.append("Length:"); sb.append(e.getLength()); Element Eroot = jta.getDocument().getDefaultRootElement(); DocumentEvent.ElementChange Echange = e.getChange(Eroot); if(Echange==null){ sb.append("No Element Change"); }else{ sb.append("Element Chage:index"); sb.append(Echange.getIndex()); } sb.append("\n"); message.append(sb.toString()); } public static void main(String...args){ JFrame jf = new JTextAreaDemo3(); jf.setVisible(true); jf.addWindowListener(new WindowAdapter(){ @Override public void windowClosing(WindowEvent e){ System.exit(0); } }); } }
參考:深入淺出Java Swing程序設計
发表评论
-
swt tree demo with a text editor
2012-12-25 16:41 1541项目需要,从XML中读取数据生成一个Tree,然后可以对叶子节 ... -
Paint in AWT andSwing
2012-04-20 21:32 0jdk 1.0中用的是AWT,有一个缺点,就是每个组件要和一个 ... -
SwingUtilities的invokeLater和invokeAndWait
2012-02-28 18:00 1167参考: http://blog.csdn.net/bzwm/a ... -
swing第三方jar增强功能
2012-02-14 16:34 2522原文:http://hb.qq.com/a/20101220/ ... -
swing 日期组件
2012-02-03 15:35 1156/** * chega * 2011-9-21上午 ... -
java swing全屏显示方式
2012-02-01 11:01 5129覆盖任务栏和不覆盖任务栏见:http://blog.csdn. ... -
带有行标题的JTable
2012-01-06 15:59 1240/** * @author chega * thi ... -
JColorChooser
2010-07-18 21:25 1177import java.awt.*; import ja ... -
JFileChooser
2010-07-18 20:17 1226import java.awt.*; import ja ... -
AbstractAction
2010-07-18 10:00 1830import java.awt.*; import ja ... -
JMenuItem和JTollBar
2010-07-18 09:34 1538import java.awt.*; import ja ... -
JTree
2010-07-17 16:41 1208import java.awt.*; import ja ... -
JTree
2010-07-17 14:58 1033import java.awt.*; import ja ... -
JTree
2010-07-17 13:17 1075import java.awt.*; import ja ... -
JTable增刪行列
2010-07-14 19:57 1455import java.awt.*; import ja ... -
JTable背景色與Boolean類型數據顯示衝突的問題
2010-07-12 16:53 944import java.awt.*; import java ... -
JComboBox每個Item加圖標
2010-07-11 16:46 1289import java.awt.*; import java ... -
JComboBox
2010-07-11 16:33 1308JComboBox(ComboModel):可以繼承Abstr ... -
JList雙向列表
2010-07-11 15:43 813import java.awt.*; import java ... -
給JList每個Item加個圖標
2010-07-11 14:40 1407import java.awt.*; import ja ...
相关推荐
使用 DocumentListener 可以监听并响应文档的变化事件,包括插入、删除和属性改变等操作。以下是一个更详细的示例,演示如何在文本框中实时显示字符数量:
2. **事件监听**:Notepad4实现了ActionListener和DocumentListener接口,用于处理用户在界面上的交互。ActionListener用于响应用户点击菜单项或按钮的事件,而DocumentListener则监听文本编辑区的内容变化,以便...
首先,`Notepad4`类继承自`JFrame`,并实现了`ActionListener`和`DocumentListener`接口。`ActionListener`用于监听用户在菜单或按钮上的点击事件,而`DocumentListener`则用于监听文本内容的变化。 1. **菜单和子...
- 文本区域可能包含监听器,例如`CaretListener`来监听光标移动,`DocumentListener`来监听文本更改,以及`UndoableEditListener`来支持撤销/重做功能。 4. **菜单和菜单项**: - 应用程序包含一个`JMenuBar`,...
为了实现在不触发键盘事件的情况下动态获取文本框中的输入值,我们通常会使用`DocumentListener`接口。`DocumentListener`是Swing包中的一个接口,它提供了一种监听文档变化的机制。当文档发生变化时(例如用户在...
`DocumentListener`用于监听文档内容的变化,`UndoableEditListener`处理撤销/重做操作,而`HyperlinkListener`则处理超链接的点击事件。 6. **JComboBox**: 下拉列表组件触发`ActionEvent`和`ItemEvent`,当用户...
`DocumentListener`有三个方法:`insertUpdate()`, `removeUpdate()`, 和 `changedUpdate()`。这三个方法会在文档内容插入、删除或改变时被调用。 下面是一个简单的`DocumentListener`实现示例: ```java class ...
每当文本区域的内容改变时,`DocumentListener`的`insertUpdate()`、`removeUpdate()`和`changedUpdate()`方法会被调用。在这个例子中,我们可以利用这些方法来更新计算结果。 程序源代码中,`Computer`类继承自`...
4. 通过创建 DocumentListener 监视器来调用程序中的算法实现对第一个文本区中数字进行加法和求平均值的计算,并使其结果显现在第二个文本区中,同时在算法的执行过程中抓取异常并显示。 程序源代码 该设计的程序...
在本项目中,我们主要探讨的是如何利用Java编程语言,结合图形用户界面(GUI)来设计和实现一个简单的打字得分游戏。这是一个典型的Java课程设计项目,旨在帮助学习者掌握Java GUI编程的基本概念和技巧。 首先,...
它还实现了 `ActionListener` 和 `DocumentListener` 接口,表明这个类能够响应用户在界面上的交互动作,并监听文本的更改。 1. **菜单栏和菜单项**: - 使用 `JMenu` 和 `JMenuItem` 创建了文件(mFile)、编辑...
4. Font类和Swing中的文本组件,如JTextComponent和DocumentListener。 5. 数学计算,例如二次方程的求解。 6. 数据结构,如ArrayList,用于存储和操作数据。 通过实践这些实验,你不仅能加深对Java GUI编程的理解...
4. **事件处理**:`java.awt.event`包中的监听器如`ActionListener`和`DocumentListener`用于响应用户的交互。例如,当用户输入文本时,`DocumentListener`会触发更新,检查是否需要保存更改。 5. **对话框设计**:...
6. **JTextArea和DocumentListener** `NoteBook.java`和`Demo.java`可能涉及到文本编辑功能。`JTextArea`是显示多行文本的组件,可以编辑和查看文本。为了实时更新用户输入,可以添加`DocumentListener`,监听文本...
- **EventListener接口**:所有Java事件处理器的基接口,包括ActionListener和DocumentListener。 6. **设计模式** - **Model-View-Controller(MVC)**:Java记事本项目可能采用MVC模式,其中模型负责数据处理,...
使用`DocumentListener`,你可以监听到文本框内容的插入、删除和替换操作。首先,你需要创建一个实现了`DocumentListener`接口的类,重写其`insertUpdate()`, `removeUpdate()` 和 `changedUpdate()` 方法。这些...
- 类`Notepad`继承自`JFrame`,实现了`ActionListener`、`ItemListener`和`DocumentListener`接口,包含了文本编辑器的主要逻辑。 - 其他辅助类如`MyFile`、`MyEdit`和`MyForm`分别负责文件操作、编辑功能和表单...
同时,事件监听机制,如ActionListener和DocumentListener,被用于处理用户的输入和操作,确保及时响应和执行相应的功能。 样式更改功能的实现可能涉及到富文本处理。Java的javax.swing.text包提供了对富文本的支持...
本教程将围绕Java Swing的自学例题展开,帮助你深入理解和掌握Swing的基本用法。 首先,Swing组件是轻量级的,这意味着它们不依赖于操作系统提供的GUI组件,而是由Java完全实现。这使得Swing应用具有更好的跨平台...
例如,在一个简单的应用程序中,可以创建两个JTextField,分别接收用户的输入,然后通过DocumentListener监听这两个文本框的变化,当检测到内容更改时,计算两个文本框内容的和,并将结果显示在第三个JTextField中。...