文本框
(1)文本字段, 包括类JTextField和JPasswordField,用于显示和编辑较短的、不带格式的一-行文本。其中,类JPasswordField是类JTextField的子类,用于输人口令,它与类JTextField的区别在于:不直接显示用户输人的文字,而显示特定的字符作为掩码(mask)字符。文本字段的使用基于动作事件(即主要监听动作类型的事件ActionEvent),与按钮等简单控件的用法类似。
(2)纯文本区域, 包括类JTextArea,用于显示和编辑较长的、不带格式的多行文本,通常用于显示没有格式的帮助信息。纯文本区域的使用基于文档事件(即主要监听文档类型的事件DocumentEvent),程序通常使用文档事件监听器监听用户对纯文本区域的改变。
(3)带样式文本区域,包括类JEditorPane和JTextPane,可用于显示和编辑复杂的、带样式的文本。JEditorPane 类支持纯文本、HTML和RTF的文本编辑;JTextPane类进一步扩 展了JEditorPane类的功能,允许文本中嵌人图像或其他组件。
package Demo01;
import java.awt.BorderLayout;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
public class TestTextDemo01 extends JFrame {
public TestTextDemo01() {
Container container=this.getContentPane();
JTextField textfield=new JTextField("hello world");
JTextField textfield2=new JTextField("大数据五班");
container.add(textfield,BorderLayout.NORTH);
container.add(textfield2,BorderLayout.SOUTH);
this.setVisible(true);
this.setSize(500,350);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new TestTextDemo01();
}
}
键盘
package Demo03;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
public class TestKeyListener {
public static void main(String[] args) {
new KeyFrame();
}
}
class KeyFrame extends JFrame{
public KeyFrame() {
this.setBounds(20,30,330,410);
this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.addKeyListener(
new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
// TODO 自动生成的方法存根
int keycode=e.getKeyCode();
// System.out.println(keycode);
if(keycode==KeyEvent.VK_UP) {
System.out.println("你按下了上键");
}
if(keycode==KeyEvent.VK_A) {
System.out.println("你按下了A");
}
if(keycode==KeyEvent.VK_B) {
System.out.println("你按下了B");
}
}
});
}
}
鼠标
package Demo03;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.Iterator;
import javax.swing.JFrame;
public class TestMouseListener {
public static void main(String[] args) {
new MyFrame("我de画图");
}
}
class MyFrame extends JFrame{
ArrayList points;
public MyFrame(String title) {
super(title);
this.setBounds(200,200,410,410);
this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
points=new ArrayList<>();
this.addMouseListener(new MyMouseListener());
}
public void paint(Graphics g) {
Iterator iterator=points.iterator();
while(iterator.hasNext()) {
Point point=(Point)iterator.next();
g.setColor(Color.cyan);
g.fillOval(point.x, point.y,10,10);
}
}
public void addPaint(Point point) {
points.add(point);
}
private class MyMouseListener extends MouseAdapter{
@Override
public void mousePressed(MouseEvent e) {
MyFrame myFrame=(MyFrame) e.getSource();
System.out.println("x坐标: "+e.getX()+"y坐标: "+e.getY());
myFrame.addPaint(new Point(e.getX(),e.getY()));
myFrame.repaint();
}
}
}