Java 图形界面处理(通过Swing来完成) ---实验报告

这篇博客介绍了如何使用Java Swing创建一个包含文本框、按钮和图片框的窗口应用。程序中,用户可以输入数字,点击‘求和’按钮进行加法运算,或使用改进后的计算器功能进行加减乘除及开根号操作。此外,还添加了复制功能,允许用户将文本从左侧文本框复制到右侧。在实现过程中,作者遇到了一些问题,如异常处理,这些问题在代码中得到了详细注释和解决。
摘要由CSDN通过智能技术生成

**实验要求:**编写一个Java程序,在程序中建立一个窗口,有三个文本框、两个按钮、一个图片框,单击“求和”按钮,能把第一个和第二个文本框的整数相加后结果显示在第三个文本框中;点击“Next”按钮,能显示另一幅图片,最后还可以正常关闭窗口。

我在此报告要求上再添加了些改进,首页在页面顶部添加了复制按钮,并且在左边的文本框中输入一串字符串,单击“复制”按钮即可将输入的内容复制到右边的文本框中。

对于"求和"的按钮,我将其进行改进,设计成了简易的计算器界面,并用事件处理机制来完成简单地加减乘除、以及开根号的功能。

需要注意的是,放到面板中的图片最好放在work-space中。

该图便是通过代码显示出来的界面
注释里有详解,直接上代码(新人第一次写可能有点乱,忘见谅):

import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import java.awt.Font;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Color;

public class CalculatorDemo extends JFrame {
	private  JPanel contentPane;//面板
	private JTextField TF_text;//要输入的内容
	private JTextField TF_Copytext;//要复制的内容
	private JButton Button_next;
	private JTextField TF_display;
	private String nowButton;//定义计算器中当显示的字符串
	
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					CalculatorDemo frame = new CalculatorDemo();
					frame.setVisible(true);//设置窗口可见
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}
	
	//注册事件监听器的方法
	public void addButton(String label,ActionListener listener,int x,int y)
	{
		JButton button = new JButton(label);
		button.addActionListener(listener);
		button.setFont(new Font("微软雅黑", Font.PLAIN, 18));//为按钮内的文字设置大小
		button.setBounds(x, y, 57, 
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值