java实验-图形用户界面

实验:图形用户界面

实验目的:

1.学习图形用户界面设计;

2.学习事件处理.

实验内容:

1.编写一个关闭就结束程序的窗口,其中有两个文本框和一个按钮.如果在第一个文本框中输入文字,然后敲击回车键或者点击按钮,这些文字就会被复制到第二个文本框中,而第一个文本框会清空.

package com.xiaotan.train.test3;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class GUI extends JFrame {
    
    
	public JTextField one,two,three;//文本框组件
	public JButton button;//按钮
	
	GUI(String s){
    
    
		super(s);
		setSize(300,300);
		//创建组件实例对象
		one=new JTextField(20);
		two=new JTextField(20);
		button=new JButton("复制");
		setLayout(new FlowLayout());
		
	
		//添加组件
		add(one);
		add(button);
		add(two);
		
		setVisible(true);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		H d=new H();
		one.addActionListener(d);
		button.addActionListener(d);
	}
		
	class H implements ActionListener{
    
    
		public void actionPerformed(ActionEvent e) {
    
    
			String s=one.getText();
			two.setText(s);
			one.setText(" ");
		}
	}
	
	public static void main(String[] args) {
    
    
    	GUI win=new GUI("tanke");
	}	
}

运行结果如下:
1.
在这里插入图片描述

在这里插入图片描述

2.编写一个关闭就会结束程序的窗口,其中有一个文本框,它能表明鼠标在窗口中是移动(Move)还是拖动(Drag)状态,并跟踪记录此时的坐标.

(一下用的是默认布局,即[BorderLayout],也可用只是部分的布局)

[**值得注意得是:**当使用边界布局时,若只添加了一个组件放至CENTER,则默认会占满整个窗口,因此需要监视p,而非本窗口(此时窗口已被容器p覆盖)]

package com.xiaotan.train.test3;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class GUI_MOUSE extends JFrame{
    
    
	public JTextField tf;
	
	GUI_MOUSE(String s){
    
    
		super(s);
		tf=new JTextField(20);
		//setLayout(new FlowLayout());
		Panel p=new Panel();
		p.add(tf);
		add(p,BorderLayout.CENTER);
		H d=new H();
		
		p.addMouseMotionListener(d);
		//add(tf);
        //addMouseMotionListener(d);
		setBounds(100,150,300,350);
		setVisible(true);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
	}
	
	
	class H implements MouseMotionListener{
    
    
		public void mouseMoved(MouseEvent e){
    
    
			int x = e.getX();
			int y =e.getY();
			tf.setText("Mouse Move at "+x+","+y);
			
		}
		public void mouseDragged(MouseEvent e){
    
    
			int x = e.getX();
			int y =e.getY();
			tf.setText("Mouse Dragging at "+x+","+y);
		} 
	}
	
	public static void main(String[] args) {
    
    
		GUI_MOUSE win=new GUI_MOUSE("tanke"+new java.util.Date());
	}
}

运行结果如下:

1.Move

鼠标移动

2.Drag
鼠标拖拽

猜你喜欢

转载自blog.csdn.net/qq_56845026/article/details/124574158