2021-06-16

学习JAVA第二十八次
一、学习内容:
文本框是接受用户输入的种组件 ,Swing将文本组件分为三大类
(1)文本字段(text fields),包括类JTexrField和JPasswordField用于显示和编辑较短的,不带格式的一行文本。
(2)纯文本区域(plain text areas),包括类JTextArea,用于显示和编辑较长的、不带格式的多行文本,通常用于显示没有格式的帮助信息。纯文本区域的使用基于文档事件(即主要监听文档类型的事件DocumentEvent),程序通常使用文档事件监听器监听用户对纯文本区域的改变。
(3)带样式文本区域(styled text areas) ,包括类JEditorPane和JTextPane,可用于显示和编辑复杂的、带样式的文本。JEditorPane 类支持纯文本、HTML和RTF的文本编辑;JTextPane类进一步扩 展了JEditorPane 类的功能.允许文本中嵌人图像或其他组件。
二、代码练习:
第一个包:
1、

package Demo01;

import java.awt.BorderLayout;
import java.awt.Container;

import javax.swing.JFrame;
import javax.swing.JPasswordField;
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("大数据2005班");
		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();
		
	}

}

2、

package Demo01;

import java.awt.BorderLayout;
import java.awt.Container;

import javax.swing.JFrame;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.WindowConstants;


public class TestTextDemo2 extends JFrame {
	public TestTextDemo2() {
		
		
		Container container=this.getContentPane();
		JPasswordField passworldField=new JPasswordField();
		passworldField.setEchoChar('^');
		container.add(passworldField);
		
		
		
		this.setVisible(true);
		this.setSize(500,350);
		this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
	}
	public static void main(String[] args) {
		new TestTextDemo2();
		
	}

}

第二个包:
1、

package Demo02;

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.WindowConstants;

public class TextActionEvent {
	public static void main(String[] args) {
		JFrame frame=new JFrame();
		frame.setSize(400,400);
		frame.locate(400,300);
		
		MyActionListener myActionListener=new MyActionListener();
		Button button=new Button();
		button.addActionListener(myActionListener);
		frame.add(button,BorderLayout.CENTER);
		frame.pack();
		frame.setVisible(true);
		frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
	}

}


class MyActionListener implements ActionListener{
	
	@Override
	public void actionPerformed(ActionEvent e) {
		System.out.println("大数据五班");
		
	}
}

2、

package Demo02;

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.WindowConstants;

public class TextActionTwo {
	public static void main(String[] args) {
		JFrame frame=new JFrame("开始--停止");
		frame.setSize(400,400);
		frame.locate(400,300);
		Button button1=new Button("start");
		Button button2=new Button("stop");
		
		MyMonitor myMonitor=new MyMonitor();
		button1.addActionListener(myMonitor);
		button2.addActionListener(myMonitor);
		frame.add(button1,BorderLayout.NORTH);
		frame.add(button2,BorderLayout.SOUTH);
		frame.pack();
		frame.setVisible(true);
		frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
	}

}


class MyMonitor implements ActionListener{
	
	@Override
	public void actionPerformed(ActionEvent e) {
		
		
		//System.out.println("大数据五班->"+e.getActionCommand());
		if(e.getActionCommand().equals("stop")) {
		System.out.println("我要下班了");
		
	}else {
		System.out.println("我要开始工作了");
	}
	}
}

3、

package Demo02;

import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;

public class TextText01 {
	public static void main(String[] args) {
		new MyFrame();
	}

}

class MyFrame extends JFrame{
	public MyFrame() {
		TextField textField=new TextField();
		this.add(textField);
		
		MyActionListener2 myActionListener2=new MyActionListener2();
		textField.addActionListener(myActionListener2);
		textField.setEchoChar('%');
		this.setVisible(true);
		this.pack();
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
	}
}
class MyActionListener2 implements ActionListener{
	@Override
	public void actionPerformed(ActionEvent e) {
		TextField field=(TextField)e.getSource();
		
		
		System.out.println(field.getText());
		field.setText("");
	}
}
	

第三个包:
1、

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(10,10,300,400);
		this.setVisible(true);
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		
		this.addKeyListener(
				new KeyAdapter(){
					@Override
					public void keyPressed(KeyEvent e) {
						int keycode=e.getKeyCode();
						//System.out.println(keycode);
						
						if(keycode==KeyEvent.VK_UP) {
							System.out.println("您按下了 上键");
						}
						if(keycode==KeyEvent.VK_W) {
							System.out.println("您按下了 w上键");
						}
					}
					
				});
	}
}


2、

package Demo03;

import java.awt.Color;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;

public class TestWindow {
	public static void main(String[] args) {
		new WindowFrame();
	}

}

class WindowFrame extends JFrame {
	public WindowFrame() {
		this.setBackground(Color.blue);
		this.setBounds(100,100,500,500);
		this.setVisible(true);
		//this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		//this.addWindowListener(new MywindowListener());
		this.addWindowListener(
				new WindowAdapter() {
					@Override
					public void windowClosing(WindowEvent e) {
						super.windowClosing(e);
						setVisible(false);
						System.out.println("我要关闭");
					}
					@Override
					public void windowActivated(WindowEvent e) {
						super.windowActivated(e);
						System.out.println("windowActivated");
					}@Override
					public void windowClosed(WindowEvent e) {
						//super.windowClosed(e);
						//setVisible(false);
						System.out.println("windowClosed");
					}
					@Override
					public void windowOpened(WindowEvent e) {
						//super.WindowOpened(e);
						System.out.println("windowOpened");
						
					}
				}
				);
	}

/*
class WindowListener extends WindowAdapter{
	//按住 alt + /
	@Override
	public void WindowClosing(WindowEvent e) {
		super.windowClosing(e);
		System.out.println("我要关闭");
		System.exit(0);
	}
}*/
}

3、

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 TextMouseListener {
	public static void main(String[] args) {
		new MyFrame("我能画图");
	}

}

class MyFrame extends JFrame{
	ArrayList points;
	public MyFrame(String title) {
		super(title);
		
		this.setBounds(200,200,400,400);
		this.setVisible(true);
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		
		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();
		}
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值