Java 由浅入深GUI编程实战练习(一)
项目简介:
1.实现利用下拉菜单的方式选择发送快捷语句;
2.实现对留言信息内容的置顶处理以及至尾处理;
3.实现清屏处理或现实保留部分留言内容;
运行界面:

代码展示:
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Choice;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent; public class Demo4 { // 测试
public static void main(String[] args) {
MessageBoard mb = new MessageBoard();
mb.go();
}
} class MessageBoard { Frame f;
WindowAdapter w;
TextArea center;
Label la1, la2, la3;
Panel east, south, north;
Button b1, b2, b3, b4;
Choice l1;
TextField t1; // 构造函数
MessageBoard() {
f = new Frame("留言板");
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) {
f.setVisible(false);
System.exit(0);
}
});
f.setBounds(0, 0, 600, 400);
f.setLayout(new BorderLayout());
f.setResizable(false); north = new Panel();
south = new Panel();
east = new Panel(); center = new TextArea("留言内容:");
center.setEditable(false); b1 = new Button("清屏");
b2 = new Button("至顶");
b3 = new Button("至尾"); la1 = new Label("留言版");
la2 = new Label("你");
la3 = new Label(" 地说:"); t1 = new TextField(20); b4 = new Button("提交"); l1 = new Choice();
l1.add("微笑 ");
l1.add("生气 ");
l1.add("伤心 "); } public void go() {
f.add(BorderLayout.NORTH, north);
f.add(BorderLayout.SOUTH, south);
f.add(BorderLayout.EAST, east);
f.add(BorderLayout.CENTER, center);
north.add(BorderLayout.CENTER, la1);
south.add(la2);
south.add(l1);
south.add(la3);
south.add(t1);
south.add(b4); east.setLayout(new GridLayout(9, 0, 1, 10));
east.add(b1);
east.add(b2);
east.add(b3);
f.setVisible(true); b4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String text1, text2;
text1 = l1.getSelectedItem();
text2 = t1.getText();
t1.setText(null); if (t1.getText() != "") {
center.append("\n");
center.append(text1);
center.append(text2);
}
}
}); b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
center.setText("留言内容:");
}
}); b2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
center.requestFocusInWindow();
center.setCaretPosition(8);
}
}); b3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
center.requestFocusInWindow();
center.setCaretPosition(center.getText().length());
}
});
} }
Java 由浅入深GUI编程实战练习(一)的更多相关文章
- Java 由浅入深GUI编程实战练习(二)
一,项目简介 1.利用Java GUI 绘制图像界面,设置整体布局 2.编写一个随机数生成1~100的随机数 3.编写一个验证类,用于验证用户输入值与生成随机数是否相等并记录用户猜测次数,当用户猜测成 ...
- Java 由浅入深GUI编程实战练习(三)
一,項目介紹 1.可以查看年,月,日等功能.能获取今天的日期,并且能够通过下拉年,月的列表. 2.当程序运行时,显示的时间是系统当前时间. 3.可以手动输入时间,确定后系统跳转到制定的时间. 4.提供 ...
- 【Java】GUI编程
GUI编程 前言 某koukou老师的任务罢了,好在狂神老师居然有GUI的课,只能说是有救星了. [狂神说Java]GUI编程入门到游戏实战 最好笑的是,老师要求掌握的居然是14年的知识,就连狂神在上 ...
- 1.JAVA之GUI编程概述
下列内容为本人看毕向东老师java视频教程学习笔记! JAVA GUI图形用户界面编程: Windows 操作系统提供两种操作方式: ...
- 2.JAVA之GUI编程布局
布局管理器 容器中的组件排放方式,就是布局 常见的布局管理器: **************************************************** 1.FlowLayout(流式 ...
- 3.JAVA之GUI编程Frame窗口
创建图形化界面思路: 1.创建frame窗体: 2.对窗体进行基本设置: 比如大小.位置.布局 3.定义组件: 4.将组件通过add方法添加到窗体中: 5.让窗体显示,通过setVisible(tur ...
- 4.JAVA之GUI编程事件监听机制
事件监听机制的特点: 1.事件源 2.事件 3.监听器 4.事件处理 事件源:就是awt包或者swing包中的那些图形用户界面组件.(如:按钮) 事件:每一个事件源都有自己特点有的对应事件和共性事件. ...
- 5.JAVA之GUI编程窗体事件
我们回顾下第三篇时的内容: 在3.JAVA之GUI编程Frame窗口中窗体是无法直接关闭的,想要关闭须进程管理器结束进程方式关掉. 现在我们就来解决下这个问题. ******************* ...
- 6.JAVA之GUI编程Action事件
功能:单击一个按钮实现关闭窗口: import java.awt.*; import java.awt.event.*; public class StudyAction { // 定义该图形所需的组 ...
随机推荐
- 30 ArcGIS 许可管理器常见问题(持续更新中……)
一.[单机版] 1.1.ArcMap 1.2.ArcGIS Pro 错误一 ArcGIS Pro单机许可安装授权,在Configure Authorization界面报“This functional ...
- python 可迭代对象 迭代器 生成器总结
可迭代对象 只要有魔法方法__iter__的就是可迭代对象 list和tuple和dict都是可迭代对象 迭代器 只要有魔法方法__iter__和__next__的就是可迭代对象 生成器 只要含有y ...
- xss挖掘初上手
本文主要总结了xss可能出现的场景.偏向于案例,最后分享一哈简单的绕过和比较好用的标签. 1.搜索框 首先看能否闭合前面的标签. 如输入111”><svg/onload=alert(1)& ...
- 一篇年薪60万的JVM性能调优文章
JVM 调优概述 性能定义 吞吐量 - 指不考虑 GC 引起的停顿时间或内存消耗,垃圾收集器能支撑应用达到的最高性能指标. 延迟 - 其度量标准是缩短由于垃圾啊收集引起的停顿时间或者完全消除因垃圾收集 ...
- [Swift]LeetCode54. 螺旋矩阵 | Spiral Matrix
Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral or ...
- [Swift]LeetCode405. 数字转换为十六进制数 | Convert a Number to Hexadecimal
Given an integer, write an algorithm to convert it to hexadecimal. For negative integer, two’s compl ...
- [Swift]LeetCode834. 树中距离之和 | Sum of Distances in Tree
An undirected, connected tree with N nodes labelled 0...N-1 and N-1 edges are given. The ith edge co ...
- [Swift]LeetCode943. 最短超级串 | Find the Shortest Superstring
Given an array A of strings, find any smallest string that contains each string in A as a substring. ...
- BBS论坛(十三)
13.1点击更换图形验证码 (1)front/signup.html <div class="form-group"> <div class="inpu ...
- Javascript基本类型回顾
本文是学习和总结ECMAScript5.1规范形成的.是对规范中所提及的Javascript类型进行剖析后的个人观点的表达(如有Bug望各位道友指正).主要是各类型的实例方法,不包含任务构造函数的方法 ...