此代码主要是设计一个小面板,在面板内可以实现字符与ASCII码的相互转换,代码如下:

package cm.test.demo10;import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.*;
import javax.swing.border.EtchedBorder;public class ASCIIChange extends JFrame {//注意下面这几个你可以理解为是宏定义吧,因为我们在构造方法中创建的一些组件,我们要在其他方法中使用,所以我们就必须把这些组件创建成一个全局的变量private JTextField LetterText;private JTextField asciiText;private JLabel label3;private JLabel label6;//构造方法public ASCIIChange() {setTitle("十进制的ASCII编码查看器");  setBounds(100, 100, 450, 150);setDefaultCloseOperation(EXIT_ON_CLOSE);//创建总容器Container c=getContentPane();                                    //为窗体创建一个容器//创建总面板JPanel Panel=new JPanel();Panel.setLayout(new BorderLayout(0,0));                          //总面板为一个边界布局,间隔是0c.add(Panel);                                                    //把总面板添加到容器中//创建一个面板,用于存放两部分内容:字符toASCII码,ASCII码to字符JPanel Panel1=new JPanel(new GridLayout(2, 1, 5, 5));            //创建一个两行一列网格布局的面板Panel.add(Panel1,BorderLayout.CENTER);                           //把面板放于大面板的中央//创建第一部分:字符toASCII码JPanel asciiPanel=new JPanel(new GridLayout(1, 5, 5, 5));        //创建一个1行5列的面板asciiPanel.setBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null));   //设置面板边框格式,第一个参数表示浮雕化类型,第二个和第三个参数是设置边框浮雕化的颜色Panel1.add(asciiPanel);//创建一个标签,显示“输入字符:”JLabel jl1=new JLabel("输入字符:");jl1.setFont(new Font("宋体",Font.PLAIN,15));asciiPanel.add(jl1);//创建一个文本框,用于输入字符LetterText=new JTextField();LetterText.setColumns(3);asciiPanel.add(LetterText);//创建一个标签,显示“转换结果:”JLabel jl2=new JLabel("转换结果:");jl2.setFont(new Font("宋体",Font.PLAIN,15));asciiPanel.add(jl2);//创建一个标签,用于显示字符toASCII码的转换结果label3=new JLabel("");label3.setFont(new Font("宋体",Font.PLAIN,15));asciiPanel.add(label3);//创建一个按钮,用于进行字符toASCII码的转换动作JButton btn1=new JButton("转换");asciiPanel.add(btn1);btn1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubdo_LetterToASCII(e);//调用字符转换成ASCII码的方法}});//创建第二部分:ASCII码to字符JPanel numberPanel=new JPanel(new GridLayout(1, 5, 5, 5));numberPanel.setBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null));  //设置计算字符的面板的边框Panel1.add(numberPanel);//创建一个标签,显示“输入数字:”JLabel jl3=new JLabel("输入数字:");jl3.setFont(new Font("宋体",Font.PLAIN,15));numberPanel.add(jl3);//创建一个文本框,用于输入数字asciiText=new JTextField("");asciiText.setColumns(3);numberPanel.add(asciiText);//创建一个标签,显示“转换结果:”JLabel jl4=new JLabel("转换结果:");jl4.setFont(new Font("宋体",Font.PLAIN,15));numberPanel.add(jl4);//创建一个标签,用于显示ASCII码ToLetter的转换结果label6=new JLabel("");label6.setFont(new Font("宋体",Font.PLAIN,15));numberPanel.add(label6);//创建一个按钮,用于进行ASCII码to字符的转换动作JButton btn2=new JButton("转换");numberPanel.add(btn2);btn2.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubdo_ASCIIToLetter(e);//调用ASCII码转换成字符的方法}});}//这个函数是把字符转换成ASCII码的方法protected void do_LetterToASCII(ActionEvent e) {String ascii=LetterText.getText();if(ascii.length()==1) {int i=Character.codePointAt(ascii, 0);label3.setText(""+i);//因为setText方法的参数必须是一个字符串,所以我们必须在i的前面加上一个" ";}else {JOptionPane.showMessageDialog(null, "文本框中字符的数量不能超过一个!", "警告", JOptionPane.WARNING_MESSAGE);//弹出Dialog对话窗口,显示警告信息}}//这个函数是把ASCII码转换成字符的方法protected void do_ASCIIToLetter(ActionEvent e) {try {String number=asciiText.getText();if(Integer.parseInt(number)<=126) {char a[]=Character.toChars(Integer.parseInt(number));label6.setText(new String(a));}else {JOptionPane.showMessageDialog(null, "十进制编码有效范围0~126", "警告", JOptionPane.WARNING_MESSAGE);//弹出Dialog对话窗口,显示警告信息}}catch(Exception e2){JOptionPane.showMessageDialog(null, "十进制编码有效范围0~126!", "警告", JOptionPane.WARNING_MESSAGE);//弹出Dialog对话窗口,显示警告信息}}//主方法public static void main(String[] args) {ASCIIChange frame=new ASCIIChange();frame.setVisible(true);//在主方法中调用让窗体可见的方法有时候可以防止组件显示不完全问题的出现}
}

输出结果:

其实这个代码整体思想还是比较简单的,就是在一个窗体中首先创建一个大面板,然后把这个大面板设置成2行1列的网格布局,然后再在这2行1列中再创建两个小面板,然后再把这两个小面板分别都设置成1行5列的网格布局,再在这个1行5列的网格布局中添加我们需要的组件:标签、文本框和按钮。

我们再来学习一下字符与ASC码的相互转化操作:

package cm.test.demo9;import java.util.Scanner;public class ASCIIANDLetter {public static void main(String[] args) {System.out.println("字符转化成ASCII码:");System.out.println("请输入一个字符:");Scanner sc=new Scanner(System.in);String ch=sc.nextLine();int i=Character.codePointAt(ch, 0);System.out.println(ch+"对应的ASCII码值为:"+i);System.out.println("ASCII码转化成字符:");System.out.println("请输入一个ASCII码:(输入范围为:0~126)");String ascii=sc.next();char ch1[]=Character.toChars(Integer.parseInt(ascii));System.out.println(ascii+"对应的字符为:"+new String(ch1));sc.close();}
}

输出结果:

字符转化成ASCII码:
请输入一个字符:
a
a对应的ASCII码值为:97
ASCII码转化成字符:
请输入一个ASCII码:(输入范围为:0~126)
67
67对应的字符为:C

Java学习之字符与ASCII码相互转换的面板设计相关推荐

  1. java字符与ASCII码相互转换

    java字符与ASCII码相互转换 一 .遍历字符串 二. java 字符 转换 ASCII码 三. java ASCII码 转换 字符 字符串: String s ="abcdefg&qu ...

  2. Python:字符 - ASCII 码相互转换

    简介:字符 - ASCII 码相互转换 1.chr() 用一个整数作参数,返回一个对应的字符. 2.ord() 函数是 chr() 函数(对于 8 位的 ASCII 字符串)的配对函数,它以一个字符串 ...

  3. java中0x0f对应的字符是什么_常见字符的ASCII码,java中如何获取字符的ASCII码

    一.常见字符的ASCII码 ASCII 码使用指定的7 位或8 位的二进制数组合来表示128 或256 种可能的字符. 标准ASCII 码也叫基础ASCII码,使用7 位二进制数(最高的1位二进制为0 ...

  4. java中如何获取字符的ASCII码

    1.小知识 A的ASCII码是65 a的ASCII码是97 2.思路 java中使用Integer.valueOf(char c)方法可以直接获取一个字符的ASCII码 3.举个栗子 package ...

  5. c语言 字符转换成ascii吗,C语言字符转换ASCII码

    //函 数 名:CharToHex() //功能描述:把ASCII字符转换为16进制 //函数说明: //调用函数: //全局变量: //输    入:ASCII字符 //返    回:16进制 / ...

  6. 将字符串下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出

    <程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p92 5.1.2 上级实训内容 [实训内容7]设有一个字符串为baawrskjghzlicda,将字符 ...

  7. 【Python】字符转换为 ASCII 码

    ord 函数将单个字符转换为 ASCII 码, chr相反 print(ord('A'),ord('b'))print(list(map(ord,['a','z','c'])))print(list( ...

  8. vb6源码 ymodem_任意字符的ASCII码转换工具,基于VB6的源代码VB字符串处理源码下载...

    内容索引:VB源码,字符措置惩罚,ASCII,字符转换 任意字符的ASCII码转换工具,鉴于VB6的源代码,能够把任意字符(数字.字母.汉字)转化成ascii码,也能够把ascii码还原成最初的字符. ...

  9. C语言试题三十之请编写函数function对长度位7个字符的字符串,除首尾字符外,将其余5个字符按ascii码降序排列。

    1. 题目 请编写函数function,对长度位7个字符的字符串,除首尾字符外,将其余5个字符按ascii码降序排列. 2 .温馨提示 C语言试题汇总里可用于计算机二级C语言笔试.机试.研究生复试中C ...

最新文章

  1. 网络安全-安全散列函数,信息摘要SHA-1,MD5原理
  2. [转]Linux中如何自动启动服务
  3. java jxl 写 excel文件_Java使用jxl写入Excel文件
  4. 自媒体公约:良性发展大于利益本能
  5. 你的袜子还是干的吗?
  6. ListView问题:Your content must have a ListView wh...
  7. Unity PointCloud开发:Mesh渲染点云
  8. 20145209 2016-2017-2 《Java程序设计》第4周学习总结
  9. 亚信科技java笔试题答案_亚信科技java面试题及答案.doc
  10. Python个人博客项目-2.我的主页应用开发
  11. 使用PopWindow时距离边界有间隙的解决办法
  12. 如何将APP安装包发布到360手机助手上
  13. html5背景泡泡,HTML5 canvas梦幻圆形泡泡动画背景特效
  14. 漫画分销系统服务器配置,漫画分销平台怎么选择?月流水30万的老手来说两句!...
  15. 查看Linux下的文件
  16. Crosstalk Cascades for Frame-Rate Pedestrian Detection 阅读笔记
  17. 计算机win7卡顿如何解决方法,win7电脑玩2D游戏经常发生卡顿六大解决方法
  18. java onmouseover_第8天:javascriptDOM小 案例、onmouseover 、onmouseout
  19. loadrunner是什么
  20. 2021-2027全球与中国电动汽车线束和连接器市场现状及未来发展趋势

热门文章

  1. python报“IndentationError: unexpected indent“的解决方法
  2. 推荐系统系列教程之十五:一网打尽协同过滤、矩阵分解和线性模型
  3. 通俗易懂!视觉slam第五部分——slam数学表示二
  4. 复赛今日启动,双赛道百支队伍上演算法精英对决
  5. 高分选手讲解:如何突破思维圈限,从NLP角度挖掘新的解题思路
  6. 日常赠书 | 王者荣耀的觉悟AI是怎么训练的?
  7. java安卓开发 项目实例_Java系列--第七篇 基于Maven的Android开发实战项目
  8. lr分析器的设计与实现_DCGAN原理分析与pytorch实现
  9. 为什么中国企业海外营销都选择Facebook?
  10. Leetcode每日一题:925.Long Pressed Name(长按键入)