显示一个字符

合集下载

什么是字符字符表达字符作用

什么是字符字符表达字符作用

什么是字符字符表达字符作用将文字扫描得到的图片转化为文本文字,为我们提供了一种全新的文字输入手段,大大提高了用户的工作效率。

并且用简单的几个字符就可以表达大量的信息,很方便地被人们接受和理解。

下面是店铺整理的什么是字符,欢迎阅读。

什么是字符在计算机和电信技术中,一个字符是一个单位的字形、类字形单位或符号的基本信息。

字符含义字符是指计算机中使用的字母、数字、字和符号,包括:1、2、3、A、B、C、~!·#¥%……—*()——+等等。

在 ASCII 编码中,一个英文字母字符存储需要1个字节。

在 GB 2312 编码或 GBK 编码中,一个汉字字符存储需要2个字节。

在UTF-8编码中,一个英文字母字符存储需要1个字节,一个汉字字符储存需要3到4个字节。

在UTF-16编码中,一个英文字母字符或一个汉字字符存储都需要2个字节(Unicode扩展区的一些汉字存储需要4个字节)。

在UTF-32编码中,世界上任何字符的存储都需要4个字节。

字符表达字符是可使用多种不同字符方案或代码页来表示的抽象实体。

例如,Unicode UTF-16 编码将字符表示为 16 位整数序列,而 Unicode UTF-8 编码则将相同的字符表示为8 位字节序列。

微软的公共语言运行库使用 Unicode UTF-16(Unicode 转换格式,16 位编码形式)表示字符。

字符作用针对微软公共语言运行库的应用程序使用编码将字符表示形式从本机字符方案映射至其他方案。

应用程序使用解码将字符从非本机方案映射至本机方案。

电脑和通讯设备会使用字符编码的方式来表达字符。

意思是会将一个字符指定给某个东西。

传统上,是代表整数量的位元序列,如此,则可透过网络来传输,同时亦便于储存。

两个常用的例子是ASCII和用于统一码的UTF-8。

根据谷歌的统计,UTF-8是目前最常用于网页的编码方式。

相较于大部分的字符编码把字符对应到数字或位元串,摩斯密码则是使用不定长度的电子脉冲的序列来表现字符。

word一些有趣的特殊符号没有显示如何解决

word一些有趣的特殊符号没有显示如何解决

word一些有趣的特殊符号没有显示如何解决
word文档中有很多有趣的表情符号没有显示出来,对于一些word排版时,希望看到一些特殊符号,比如空格,回车分割符等。

以下是店铺为您带来的关于word一些有趣的特殊符号没有显示,希望对您有所帮助。

word一些有趣的特殊符号没有显示
1、打开word软件,如图所示,这里除了文字和标记什么也没有。

看不出空格的标记。

我们根本看不出来。

下面说一下显示的方法。

2、我们点击如下图所示。

选择“工具”,会出现一个下拉菜单,选择菜单中的“选项”
3、会出现下面的界面,然后选择“视图”,如图所示。

4、会看到如下图所示的界面,看着图中圈定的部分。

根据自己的需求,选择要显示的特殊字符,这里我选择‘全部’。

也就是对全部打勾,如图所示。

5、最后确定,会得到一下结果,都出来了呵。

字符串的表示方法

字符串的表示方法

字符串的表示方法
一般来说,字符串可以使用单引号或双引号来表示。

例如,
'hello' 和 'world' 都是字符串。

如果字符串中包含单引号,可以使用双引号来表示,如:'I'm a student'。

同样地,如果字符串中包含双引号,可以使用单引号来表示,如:'She said 'Hello' to me'。

另外,还有一种表示字符串的方法是使用三个连续的单引号或双引号,如:'''This is a multi-line string''' 或者 '''This is also a multi-line string'''。

这种方法可以表示多行字符串,并且字符串中可以包含单引号或双引号而不需要转义。

除了以上方法,还有一些特殊的字符串表示方法,比如使用反斜杠来转义特殊字符,如:'
' 表示换行符,'t' 表示制表符等等。

还有一种使用 r 或 R 前缀的方法,可以表示原始字符串,即字符串中的特殊字符不需要转义,如:r'C:WindowsSystem32'。

总之,字符串有多种表示方法,我们可以根据具体情况选择合适的方法来表示字符串。

- 1 -。

1从屏幕上显示大写字母A

1从屏幕上显示大写字母A

1.从屏幕上显示大写字母A⏹CODE SEGMENT⏹ASSUME CS:CODE⏹MAIN:MOV AH,2⏹MOV DL,`A`⏹INT 21H⏹MOV AH,4CH⏹INT 21H⏹CODE ENDS⏹END MAIN2.用十进制显示一个按键的ASCII码值要求连续运行,按空格退出。

CODE SEGMENTASSUME CS:CODEMAIN:MOV AH,1⏹INT 21H⏹CMP AL,20H⏹JZ EXIT⏹MOV AH,0⏹MOV BL,100⏹DIV BL⏹MOV CL,AL⏹ADD CL,30H⏹MOV AL,AH⏹MOV AH,0⏹MOV BL,10⏹DIV BL⏹ADD AL,30H⏹ADD AH,30H⏹MOV BX,AX⏹MOV AH,2⏹MOV DL,13⏹INT 21H⏹MOV DL,10⏹INT 21H⏹MOV DL,CL⏹INT 21H⏹MOV DL,BL⏹INT 21H⏹MOV DL,BH⏹INT 21H⏹JMP MAIN⏹EXIT: MOV AH,4CH⏹INT 21HCODE ENDS⏹END MAIN3.从键盘输入三个按键,按ASCII码值从大到小顺序输出,要求格式如2bA/bA2,连续运行,按回车退出(1)。

⏹CODE SEGMENT⏹ASSUME CS:CODE⏹MAIN:MOV AH,1⏹INT 21H⏹CMP AL,13⏹JZ EXIT⏹MOV BH,AL⏹INT 21H⏹MOV BL,AL⏹CMP BH,BL⏹JA L1⏹XCHG BH,BL⏹L1:MOV AH,1⏹INT 21H⏹CMP AL,BH⏹JA L2⏹CMP al,BL⏹JB L3⏹XCHG BL,AL⏹JMP L3⏹⏹L2: XCHG BH,AL⏹XCHG BL,AL⏹L3:MOV CL,AL⏹MOV AH,2⏹MOV DL,'/'⏹INT 21H⏹MOV DL, BH⏹INT 21H⏹MOV DL,BL⏹INT 21H⏹MOV DL,CL⏹INT 21H⏹⏹MOV AH,2⏹MOV DL,13⏹INT 21H⏹MOV DL,10⏹INT 21H⏹JMP MAINEXIT:MOV AX,4C00H⏹INT 21HCODE ENDS⏹END MAIN4.从键盘读入两个一位数,输出它们的积。

emWin显示文本字符-【worldsing笔记】

emWin显示文本字符-【worldsing笔记】

emWin显⽰⽂本字符-【worldsing笔记】在emWin显⽰⽂本字符还是容易的,提供了各种不同的接⼝,下⾯是有关于字符显⽰的常⽤的⽤法,可以直接复制到VS2008的模拟ucGui(emWin模拟⼯程)中运⾏:⼯程代码下载:1.emWin5.26(ucGui)VS2008字符显⽰#include"GUI.h"#include"WM.h"#include"CHECKBOX.h"#include"FRAMEWIN.h"#include"PROGBAR.h"#include"TEXT.h"#include"BUTTON.h"#include"SLIDER.h"#include"HEADER.h"#include"GRAPH.h"#include"ICONVIEW.h"#include"LISTVIEW.h"#include"TREEVIEW.h"void MainTask(void) {#if GUI_WINSUPPORTWM_SetCreateFlags(WM_CF_MEMDEV);#endifGUI_Init();#if GUI_WINSUPPORTWM_MULTIBUF_Enable(1);#endifwhile(1){//当前位置显⽰字符串GUI_DispString("Hello world");//在x=20,y = 20位置显⽰字符串GUI_DispStringAt("Hello world", 20, 20);//坐标移动到x=100,y=100位置GUI_GotoXY(100, 100);//显⽰字符'Q'GUI_DispChar('Q');//⾃动后移位显⽰字符'Q'GUI_DispChar('Q');//在,位置显⽰字符'P'GUI_DispCharAt('P', 70, 45);//x坐标移动到,y不变GUI_GotoX(60);//显⽰字符'#'GUI_DispChar('#');//y坐标移动到,x不变GUI_GotoY(60);//显⽰字符'@'GUI_DispChar('@');//坐标移动到x=8,y=120位置GUI_GotoXY(8, 120);//显⽰个字符'*'GUI_DispChars('*', 6);//坐标移动到下个字符⾏GUI_DispNextLine();//显⽰个'*'GUI_DispChars('*', 6);//在,位置以中⼼对齐显⽰字符串GUI_DispStringHCenterAt("GUI_DispStringHCenterAt", 220, 120); }}单⾊屏(黄底⿊字)运⾏的效果:。

HD44780 液晶显示板的c语言驱动程序

HD44780 液晶显示板的c语言驱动程序

HD44780 液晶显示板的c语言驱动程序#define _LCD44780_C#include <commdefs.h>#include "main.h"#include "lcd44780.h"#include "1306spi.h"#include "delays.h"#include "serial.h"#include "25cxxspi.h"#include "e2data.h"void lcd_send_byte(unsigned char address, unsigned char chr) {unsigned char rVal;LCDPORTDIR = LCD_READ; // set data/con port directionslcd_select_reg(CMD_REG); ); // select command registerlcd_select_dir(READ_DIR); ); // set lcd to readdo { // wait until lcd is readylcd_set_clk_hi(); (); // toggle data clockrVal = lcd_get_data(); (); // read high nibble from data buslcd_set_clk_lo();delay_500ns();lcd_toggle_clk(); (); // toggle data clock} while(!!(rVal & (HINIBBLE(LCD_BUSY))));LCDPORTDIR = LCD_WRITE; // set data/con port directionslcd_select_reg(address); ); // select desired registerlcd_select_dir(WRITE_DIR); ); // set to writelcd_set_data(HINIBBLE(chr)); )); // send the high nibblelcd_toggle_clk(); (); // toggle data clocklcd_set_data(chr); ); // send the low nibblelcd_toggle_clk(); (); // toggle data clock}// Procedure to initialise the lcd for 4 bit operation.// This procedure implements the "Initialisation by instruction" as described for// Philips PCF2116Xvoid init_lcd() {unsigned char n;LCDPORTDIR = LCD_WRITE; // set data/c on & enable port dir’nslcd_set_clk_lo(); (); // set data clock low (enable pin)lcd_select_reg(CMD_REG); ); // select command registerlcd_select_dir(WRITE_DIR); ); // set to writedelay_ms(15); ); // wait > 15ms Vdd rises above Vporlcd_set_data(HINIBBLE(LCD_FNSET | LCD_8BIT)); )); // put nibble on data bus for (n = 0; n < 3; ++n) { ) // set mode to 8 bit data 3 timeslcd_toggle_clk(); (); // toggle data clockdelay_ms(5); ); // 5ms delay}#ifdef LCD1LINES && (LCDNCHARS > 16)lcd_set_data(HINIBBLE(LCD_FNSET)); )); // set mode to 4 bit data and 1 linelcd_toggle_clk(); (); // toggle data clocklcd_send_byte(LCD_COMMAND, LCD_FNSET);#else#ifdef LCD4LINESlcd_set_data(HINIBBLE(LCD_FNSET | LCD_4LINE)); )); // set mode to 4 bit data and 4 lineslcd_toggle_clk(); (); // toggle data clocklcd_send_byte(LCD_COMMAND, LCD_FNSET | LCD_4LINE);#elselcd_set_data(HINIBBLE(LCD_FNSET | LCD_2LINE)); )); // set mode to 4 bit data and 2 lineslcd_toggle_clk(); (); // toggle data clocklcd_send_byte(LCD_COMMAND, LCD_FNSET | LCD_2LINE); ); // (applies to 16x1 also - odd one!!) #endif#endiflcd_send_byte(LCD_COMMAND, LCD_DISPON | LCD_DISP_ALL); ); // display onlcd_send_byte(LCD_COMMAND, LCD_CLR); ); // clear the displaylcd_send_byte(LCD_COMMAND, LCD_EMSET | LCD_EM_INC); ); // entry mode to increment LCDPORTDIR = LCD_READ; // set data/con port dir’nslinenum = 0; // set line number to first linedisp_blank = false; // flag display as visiblecursor_on = false; // flag the cursor as off}// Moves the cursor to posline. The first character position is 0 and the first line is 0// If the cursor bit is set then a blinking cursor location is shown else the blinking// is removed. The procedure returns the old cursor status.// Definition of posline : bits 0..4 = character position in line (left = 0)// bits 5..6 = line number (top = 0)// bit 7 = cursor status (on = 1)// In the case of single line displays the lower 6 bits are the character position.unsigned char lcd_gotoxy(unsigned char posline) {unsigned char address, cstat;cstat = cursor_on;if(c_status.prt_to_lcd) {#ifdef LCD1LINES // this method is faster than using thelinenum = 0; // modulus operator but more verboseaddress = posline & 0x3f;#elselinepos = posline & 0x1f; // save the line char positionlinenum = (posline >> 5) & 3; // save the line number#ifdef LCD2LINESif(linenum > 1) linenum = 0; // 2 line display ?#elseif(linenum > 3) linenum = 0; // 4 line display ?#endif // LCD2LINESaddress = linepos;if(linenum == 1) address += STRT_LINE2; // set ram address to (pos,line)else if(linenum == 2) address += STRT_LINE3;else if(linenum == 3) address += STRT_LINE4;#endif // LCD1LINESlcd_send_byte(LCD_COMMAND, LCD_DD_SET | address);if(!!(posline & 0x80) != cursor_on) { ) // has the cursor status changed ?cursor_on = !!(posline & 0x80);if(disp_blank) lcd_send_byte(LCD_COMMAND, LCD_DISPON);else if(cursor_on) lcd_send_byte(LCD_COMMAND, LCD_DISPON |LCD_DISP_ALL | LCD_DISP_BLNK);else lcd_send_byte(LCD_COMMAND, LCD_DISPON|LCD_DISP_ALL);}}return cstat;}// Blank or restore the display restoring the cursor status also.void lcd_blank_display(unsigned char blank) {disp_blank = blank;if(disp_blank) lcd_send_byte(LCD_COMMAND, LCD_DISPON);else if(cursor_on) lcd_send_byte(LCD_COMMAND, LCD_DISPON | LCD_DISP_ALL | LCD_DISP_BLNK); else lcd_send_byte(LCD_COMMAND, LCD_DISPON|LCD_DISP_ALL);}// If the print flag is set to lcd then writes a character to the display at cursor. Backspace,// newline and formfeed are recognised. Formfeed clears the display, newline moves the cursor// to the start of the second line. Programmable characters have codes between 0x0f and 0x1f.// They are mapped to cgram, 0x0 to 0xf. This makes all of the cgram available to programmable// characters and also allows string printing without premature termination on 0.// If the print flag is set to serial then the character is sent directly to the serial port.void putch(char chr) {if(c_status.prt_to_lcd) { ) // printing to lcdif(chr == ’\f’) {lcd_send_byte(LCD_COMMAND, LCD_CLR); ); // formfeed clears the displaylinenum = 0; // set line number to first line}// Newline to start of next line.else if(chr == ’\n’) lcd_gotoxy((cursor_on ? 0x80 : 0) | ((linenum + 1) << 5));// Return to start of current line.else if(chr == ’\r’) lcd_gotoxy((cur sor_on ? 0x80 : 0) | (linenum << 5));// Backspace.else if(chr == ’\b’) lcd_send_byte(LCD_COMMAND, LCD_SHIFT);// Other characters.else {if((chr < 0x20)&&(chr > 0x0f)) chr -= 0x10; // translate special characterslcd_send_byte(LCD_DATA, chr); ); // write at current cursor position}}else { // printing to usartif(chr == 0x11) chr = xl_super2; // translate superscript 2putch_ser(chr); ); // send char to serial portif(chr == ’\n’) putch_ser(’\r’); ); // make cr/lf pair if required}}// Clear m characters on the lcd by writing m spaces then m backspaces.void clear_line(unsigned char m) {unsigned char n = m;if(c_status.prt_to_lcd) {while(n--) lcd_send_byte(LCD_DATA, ’ ’);while(m--) lcd_send_byte(LCD_COMMAND, LCD_SHIFT);}}// Shift the screen left or right. npos is the number of character positions to shift,// +ve for right and -ve for left./*void lcd_shift(signed char npos) {unsigned char command command;command = LCD_SHIFT | LCD_DISP_SHFT SHFT;if(npos > 0) command |= LCD_SHFT_RT RT;else npos = -npos npos;while(npos--) lcd_send_byte(LCD_COMMAND, command) command);}*/// Writes a cgram character line pattern to the cgram.void lcd_write_cgram(unsigned char address, unsigned char pattern) {lcd_send_byte(LCD_COMMAND, (address & 0x3f) | LCD_CG_SET); ); // set cgram addr.lcd_send_byte(LCD_DATA, pattern);}理解HD44780兼容型LCD显示屏摘要:这篇文章试图使你能对HD44780兼容型LCD显示屏略知一二。

Excel模板-查找一个字符串其中是否包含另一列单元格中的相同字符,并显示相同字符

Excel模板-查找一个字符串其中是否包含另一列单元格中的相同字符,并显示相同字符
泰山区泰山区擂鼓石大街 昌乐市蓝宝石广场公寓 昌乐昌乐市濠景海岸 安丘市青云花园 奎文区文化路早春园 高密市中医院南健康 高密市中医院南1000 滨城区695号1号楼1单 城阳区华城路华城三小区 经济技术开发区号1号楼
微山县 曲阜市 滕州市 平阴县 商河县 济阳县 宁阳县 东平县 新泰市 肥城市 禹城市 乐陵县 夏津县 巩义市 荥阳市 宁陵市 开封县 范县 济源市 石河子市 集宁区 肇东市 新民市 舞阳县 临颍县 许昌县 舞钢市 叶县 薛城区 北安市 左权县 平遥县 介休市 遵化市 赵县 正定县 费县 桓台县 高青县 沂源县 青州市 诸城市 寿光市 安丘市 昌邑市 临朐县 昌乐市 五莲县 莒县 巨野县 惠民县 博兴县 邹平县 阳信县
北方新园区 开原市 孟州市 杞县 岫岩满族自治县 昔阳县 辛集市 平邑县 安泽县 铁力市 孟村回族自治县 府谷县 富县 平山县 安达市 汾西县 海林市 通许县 依兰县 宾县 蒲城县 高新园区 榆西新区 高新区 经济技术开发区 火炬高技术产业开发区 滨河村 滨海经济技术开发区 崤山区 郑东新区 肃宁县 郯城县 沂水县 敦化市 阳城县 沁水县 陵川县 北方新园区 曹县 静月旅游经济技术开发区 霍林郭勒市 宝丰县 鲁山县 封丘县 新密市 临邑市 东丰县 广饶县 开发区 偃师市 河津市 长葛市 古交市 鄯善县
昌乐市 昌 沾化县 黄陵县 高新园区 盖州市 大石桥市 法库县 榆西新区 侯马市 乡宁县 霸州市 洪洞县 襄汾县 霍州市 灵石县 义县 海城市 淇县 魏县 梅河口市 彰武县 迁安市 滨河村 玉田县 胶州市 即墨市 平度市 胶南市 莱西市 高密市 太谷县 祁县 离石区 柳林县 中阳县 交口县 孝义市 汾阳市 高新区 静海县 经济技术开发区 火炬高技术产业开发区 文登市 荣成市 乳山市 涞源县 涞水县 新巴尔虎左旗 辉南县 抚松县 莫力达瓦达斡尔族自治旗 鄂伦春自治旗 鄂温克族自治旗 陈巴尔虎旗

用1602液晶显示自定义字符

用1602液晶显示自定义字符

⽤1602液晶显⽰⾃定义字符1602是⼀款最常⽤也是最便宜的液晶显⽰屏。

最多可以显⽰两⾏标准字符,每⾏最多可以显⽰16个字符。

1602可以显⽰内部常⽤字符(包括阿拉伯数字,英⽂字母⼤⼩写,常⽤符号和⽇⽂假名等),也可以显⽰⾃定义字符(单或多个字符组成的简单汉字,符号,图案等,最多可以产⽣8个⾃定义字符)。

⼀、显⽰常⽤字符。

1602液晶模块内部的字符发⽣存储器(CGROM)已经存储了160个不同的点阵字符图形,如下表所⽰,这些字符有:阿拉伯数字、英⽂字母的⼤⼩写、常⽤的符号、和⽇⽂假名等,每⼀个字符都有⼀个固定的代码,⽐如⼤写的英⽂字母“A”的代码是41H,显⽰时模块把地址41H中的点阵字符图形显⽰出来,我们就能看到字母“A”⼗进制⼗六进制 ASCII字符⼗进制⼗六进制 ASCII字符⼗进制⼗六进制 ASCII字符00 00 ⾃定义字符1 56 38 8 96 60 `01 01 ⾃定义字符2 57 39 9 97 61 a02 02 ⾃定义字符3 58 3A : 98 62 b03 03 ⾃定义字符4 59 3B ; 99 63 c04 04 ⾃定义字符5 60 3C < 100 64 d05 05 ⾃定义字符6 61 3D = 101 65 e06 06 ⾃定义字符7 62 3E > 102 66 f07 07 ⾃定义字符8 63 3F ? 103 67 g08 08 ⾃定义字符1 64 40 @ 104 68 h09 09 ⾃定义字符2 65 41 A 105 69 i10 0A ⾃定义字符3 66 42 B 106 6A j11 0B ⾃定义字符4 67 43 C 107 6B k12 0C ⾃定义字符5 68 44 D 108 6C l13 0D ⾃定义字符6 69 45 E 109 6D m14 0E ⾃定义字符7 70 46 F 110 6E n15 0F ⾃定义字符8 71 47 G 111 6F o32 20 空格 72 48 H 112 70 p33 21 ! 73 49 I 113 71 q34 22 " 74 4A J 114 72 r35 23 # 75 4B K 115 73 s36 24 $ 76 4C L 116 74 t37 25 % 77 4D M 117 75 u38 26 & 78 4E N 118 76 v39 27 ' 79 4F O 119 77 w40 28 ( 80 50 P 120 78 x41 29 ) 81 51 Q 121 79 y42 2A * 82 52 R 122 7A z43 2B + 83 53 S 123 7B {44 2C , 84 54 T 124 7C |45 2D - 85 55 U 125 7D }46 2E . 86 56 V 126 7E ~47 2F / 87 57 W48 30 0 88 58 X49 31 1 89 59 Y50 32 2 90 5A Z51 33 3 91 5B [52 34 4 92 5C \53 35 5 93 5D ]54 36 6 94 5E ^55 37 7 95 5F _显⽰操作的过程:⾸先确认显⽰的位置,即在第⼏⾏,第⼏个字符开始显⽰。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(显示一个字符)编写一个程序,从键盘获得一个字符输入,并且将该字符显示在鼠标点击的位置import java.awt.*;import java.awt.event.*;import javax.swing.*;publicclass Exercise14_8extends JFrame {private panel = new DisplayPanel();public Exercise14_8() {getContentPane().add(panel, BorderLayout.CENTER);panel.setFocusable(true);}/** Main method */publicstaticvoid main(String[] args) {JFrame frame = new Exercise14_8();frame.setTitle("Exercise14_8");frame.setSize(300, 300);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);}class DisplayPanel extends JPanelimplements KeyListener, MouseMotionListener {privateint x = 20;privateint y = 20;privatechar keyChar = ' '; // Default keypublic DisplayPanel() {this.addKeyListener(this); // Add listenerthis.addMouseMotionListener(this); // Add mouse motion listener }publicvoid mouseMoved(MouseEvent e) {x = e.getX();y = e.getY();}publicvoid mouseDragged(MouseEvent e) {}publicvoid keyReleased(KeyEvent e) {}publicvoid keyTyped(KeyEvent e) {}publicvoid keyPressed(KeyEvent e) {keyChar = e.getKeyChar();repaint();}publicvoid paintComponent(Graphics g) {super.paintComponent(g);g.setFont(new Font("TimesRoman", Font.PLAIN, 24));g.drawString(String.valueOf(keyChar), x, y);}}}用java编程,实现一个自己的记事簿程序。

要求:不用菜单,而用2个按钮,一个用来“打开文件”,另一个用来“保存文件”。

文本编辑框可用JTextArea组件。

import java.awt.*;import javax.swing.*;import java.awt.event.*;import javax.swing.event.*;import java.util.*;publicclass NotePad extends JFrame{JTextArea jta;class openl implements ActionListener{ publicvoid actionPerformed(ActionEvent e){JFileChooserjf=new JFileChooser();jf.showOpenDialog(NotePad.this);}}//保存文件的监听class savel implements ActionListener{publicvoid actionPerformed(ActionEvent e){JFileChooserjf = new JFileChooser();jf.showSaveDialog(NotePad.this);}}//构造函数public NotePad(){jta=new JTextArea("",24,40);JScrollPanejsp=new JScrollPane(jta);JMenuBarjmb=new JMenuBar();JButtonmOpen=new JButton("打开文件");mOpen.addActionListener(new openl());JButtonmSave=new JButton("保存文件");mSave.addActionListener(new savel());jmb.add(mOpen);jmb.add(mSave);this.setJMenuBar(jmb);this.getContentPane().add(jsp);this.setSize(200,200);this.setVisible(true);}//主函数,程序入口点publicstaticvoid main(String s[]){new NotePad();}}跳动的小球import javax.swing.Timer;import java.awt.*;import javax.swing.*;import java.awt.event.*;publicclass Ball extends JPanel{privateint delay = 10;protected Timer timer = new Timer(delay,new TimerListener());privateint x = 0;privateint y = 0;privateint radius = 5;privateint dx = 2;privateint dy = 2;public Ball(){timer.start();}privateclass TimerListener implements ActionListener{publicvoid actionPerformed(ActionEvent e){repaint();}}protectedvoid paintComponent(Graphics g){super.paintComponent(g);g.setColor(Color.red);if(x<radius) dx=Math.abs(dx);if(x>getWidth()-radius) dx=-Math.abs(dx);if(y<radius) dy=Math.abs(dy);if(y>getWidth()-radius) dy=-Math.abs(dy);x = x+dx;y = y+dy;g.fillOval(x-radius,y-radius,radius*2,radius*2);}publicvoid suspend(){timer.stop();}publicvoid resume(){timer.start();}publicvoid setDelay(int delay){this.delay=delay;timer.setDelay(delay);}}import java.awt.*;import javax.swing.*;import java.awt.event.*;publicclass BallControl extends JPanel{private Ball ball = new Ball();private JButton jbtSuspend =new JButton("Suspend");private JButton jbtResume =new JButton("Resume");private JScrollBar jsbDelay = new JScrollBar();public BallControl(){JPanel panel= new JPanel();panel.add(jbtSuspend);panel.add(jbtResume);ball.setBorder(new javax.swing.border.LineBorder(Color.red));jsbDelay.setOrientation(JScrollBar.HORIZONTAL);ball.setDelay(jsbDelay.getMaximum());setLayout(new BorderLayout());add(jsbDelay,BorderLayout.NORTH);add(ball,BorderLayout.CENTER);add(panel,BorderLayout.SOUTH);jbtSuspend.addActionListener(new ActionListener(){publicvoid actionPerformed(ActionEvent e){ball.suspend();}});jbtResume.addActionListener(new ActionListener(){publicvoid actionPerformed(ActionEvent e){ball.resume();}});jsbDelay.addAdjustmentListener(new AdjustmentListener(){ publicvoid adjustmentValueChanged(AdjustmentEvent e){ball.setDelay(jsbDelay.getMaximum()-e.getValue());}});}}import java.awt.*;importimport java.awt.event.*;import java.applet.*;publicclass BounceBallApp extends JApplet{public BounceBallApp(){add(new BallControl());}}。

相关文档
最新文档