学习第28天

文本框

(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();
		}
		
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值