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 { // 定义该图形所需的组 ...
随机推荐
- Task 的用法
Task的功能喝Thread类似,写法也很简单: 两种方式: 第一 Task t1=new Task(()=>{}); t1.Start();//启动Task t1.Wait();//若调用Wa ...
- webapi 知识点
在web api 中后台的方法必须 加入 [HttpGet] ,[HttpPost],[HttpPut],[HttpDelete] 来区分,这是一种习惯. ps: get 方式参数都存在http协议头 ...
- 用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图
先上结果: 之前 在公司业务中用过java+Selenium+ChromeDriver ,使用起来非常顺手,可以完美模拟真实的用户浏览行为.最近休息的时候想用C#也试一下,于是有了本文. 实现原理一样 ...
- 算法与数据结构(六) 迪杰斯特拉算法的最短路径(Swift版)
上篇博客我们详细的介绍了两种经典的最小生成树的算法,本篇博客我们就来详细的讲一下最短路径的经典算法----迪杰斯特拉算法.首先我们先聊一下什么是最短路径,这个还是比较好理解的.比如我要从北京到济南,而 ...
- Spring使用支付宝扫码支付
前一段一直在研究支付宝的扫码支付,不得不说,支付宝的文档写的真是一个烂(起码在下刚开始看的时候是mengbi的).文档上面的示例和demo里面的示例长的完全不一样.往往文档上面的例子很简单,而demo ...
- Python必学Django框架,入门到精通学习视频教程全都在这可以领
“人生苦短,我用python”,学python的小伙伴应该都了解这句话的含义.但是,学python,你真正了了解强大的Django框架吗!? 据说Django还是由吉普赛的一个吉他手的名字命名的呢,有 ...
- [Swift]LeetCode971.翻转二叉树以匹配先序遍历 | Flip Binary Tree To Match Preorder Traversal
Given a binary tree with N nodes, each node has a different value from {1, ..., N}. A node in this b ...
- 性能调优之Transformation
优化之Aggregator组件 优化之Custom组件 优化之Joiner组件 优化之Lookup组件 优化之Normalizer组件 优化之Sequence Generator组件 优化之Sorte ...
- Linux自启动执行脚本方法
1. 在/etc/rc.d/init.d/下创建脚本,要遵守service script的标准: 例如: vi /etc/rc.d/init.d/gfs #!/bin/bash#case " ...
- java 网络通信传输层协议——UDP和TCP
本文原文由作者“zskingking”发表于:jianshu.com/p/271b1c57bb0b,本次收录有改动. 1.点评 互联网发展至今已经高度发达,而对于互联网应用(尤其即时通讯网专注的即时通 ...