表格组件——字符串编码查询器

该程序是一个使用Java Swing构建的Unicode字符查询器,用户可以输入字符串,程序会显示每个字符对应的Unicode值。程序包含一个文本框供用户输入,一个查询按钮,以及一个表格用于展示结果。当用户按下回车或点击查询按钮时,表格会更新显示输入字符串中每个字符的Unicode值。
摘要由CSDN通过智能技术生成

要求如下:输入一个字符串,使用表格显示其中每个字符的Unicode值,通过按键或者回车键查询

package shiyan3;
import java.awt.*;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.Scanner;
import java.util.Vector;

import javax.swing.JPanel;
import javax.swing.AbstractButton;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.DefaultTableModel;

public class QueryFrame1 extends JFrame implements ActionListener
{
	private JTextField text_str;
	private JButton button_str=new JButton("黑色");
	private JTable table;
	JTable table_1=null;
	JLabel label,label_1;
	ImageIcon background;
	private Font font;
	private Object EXIT_ON_CLOSE;
	Container c = this.getContentPane();//创建一个容器,方便向框架内添加组件
	private DefaultTableModel model;// 全局表格模型,用来处理数据
	String s;
	String[] Str = { "字符", "Unicode值" };// 定义表格列

	public QueryFrame1() 
	{
		super("Unicode 字符查询器");//窗口标题
		//this.setTitle("Unicode 字符串查询器");//窗口标题的另一种方法。
		//this.setBackground(Color.white);
		//this.getContentPane().setBackground(Color.red);
		//this.getContentPane().setVisible(false);//如果改为true那么就变成了红色。
	    this.setBounds(400, 200,400,300);//设置位置和尺寸
		/*background = new ImageIcon("C:\\Users\\acer\\Desktop\\EE90D8E8C9354C9EDAFE9B47AB8F41C5.JPG");	//h创建一个背景图片
		label_1 = new JLabel(background);		//把背景图片添加到标签里
		label_1.setBounds(0, 0, background.getIconWidth(), background.getIconHeight());	//把标签设置为和图片等高等宽
		JPanel myPanel = (JPanel)this.getContentPane();		//把我的面板设置为内容面板
		myPanel.setOpaque(false);					//把我的面板设置为不可视
		myPanel.setLayout(new FlowLayout());		//把我的面板设置为流动布局
		this.getLayeredPane().setLayout(null);		//把分层面板的布局置空
		this.getLayeredPane().add(label_1, new Integer(Integer.MIN_VALUE));*/
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		JPanel panel=new JPanel();
		this.font = new Font("楷体", Font.PLAIN, 15);//设置字体格式。
		label = new JLabel();
		label.setText("字符串");
		label.setForeground(Color.RED);//字体颜色
		label.setFont(font);//字体格式
		panel.add(label);
		this.text_str = new JTextField(""); // 文本行组件,在这里面输入要查询的字符串
		this.text_str.setCaretPosition(text_str.getText().length());//
		this.text_str.setColumns(10); //文本行长度尺寸。
		this.text_str.setFont(font);//输入文本字体格式。
		panel.add(text_str);
		c.add(panel, BorderLayout.NORTH);//边界布局,设置在北。
		this.text_str.addActionListener(this);//回车键查询。
		button_str=new JButton("查询");//按键查询。
		panel.add(button_str);
		button_str.setForeground(Color.BLUE);//按钮字体颜色
		button_str.setFont(font);//按钮字体格式
		button_str.addActionListener(this);
		model = new DefaultTableModel(Str, 1);
		table = new JTable(model);//表格
		JScrollPane sc = new JScrollPane(table);//滚动窗格
		c.add(sc);
		table.setRowHeight(20);// 设置行高20像素
		
		this.setVisible(true);
	}
	private void setDefaultCloseOperation(Object eXIT_ON_CLOSE2)
	{
		//System.out.println();
	}
	public static void main(String[] args) 
	{
		new QueryFrame1();
	}
	
	public void actionPerformed(ActionEvent ev) 
	{
		if (ev.getSource() == this.text_str||ev.getSource() == this.button_str)//ev.getSource()获取当前事件源组件,比较引用。
		{
			s = text_str.getText();
			model.setRowCount(s.length());//设置行数
			for (int i = 0; i < s.length(); i++) //每行输出。
			{
				char ch = s.charAt(i);
				model.setValueAt(ch + "", i, 0);//设置i行第一列单元的值
				model.setValueAt((int) ch + "", i, 1);//设置i行第二列单元的值
			}
		}
	}
}

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值