- 浏览: 369637 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (335)
- C++ (190)
- 设计模式 (43)
- 数据库技术 (5)
- 网络编程 (11)
- 自动化测试 (6)
- Linux (13)
- OpenSSL (10)
- MS Crypt API (5)
- SCM (2)
- English (4)
- Android (10)
- EMV规范 (1)
- Saturn Platform (0)
- C (10)
- SQL (2)
- ASP.NET (3)
- 英语口语学习 (3)
- 调试工具 (21)
- 编译技术 (5)
- UML (1)
- 项目管理 (5)
- 敏捷开发 (2)
- Http Server (6)
- 代码审查、代码分析 (5)
- 面试基础 (10)
- 重点知识 (16)
- STL (6)
- Efficient C++资料 (8)
- 数据结构和算法 (7)
- 读书笔记 (0)
- 开源项目 (4)
- 多线程 (2)
- Console App (6)
- 个人开源项目 (4)
- IBM DevelopWorks (4)
- Java (16)
- 内存泄漏相关调试和检测 (13)
- 软件测试相关技术 (2)
- C# (11)
- Apple Related (1)
- 软件测试和管理 (2)
- EMV (1)
- Python (1)
- Node.js (6)
- JavaScript (5)
- VUE (1)
- Frontend (1)
- Backend (4)
- RESTful API (3)
- Firebase (3)
最新评论
-
u013189503:
来个密码吧
[C++][Logging] 项目中写日志模块的实现 -
wyf_vc:
来个密码啊!!
[C++][Logging] 项目中写日志模块的实现
/* * @(#)SampleAWT.java 1.00 17/06/27 * * Copyright (c) 2017 Jacky.Dai * Address:....... * All rights reserved. * * Your * NOTES * HERE */ //package test; //import java.awt.*; import java.awt.BorderLayout; import java.awt.Button; import java.awt.Frame; import java.awt.Label; import java.awt.TextField; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; /** * Class description goes here. * * @version 1.00 27 June 2017 * @author Jacky_Dai */ public class SampleAWT implements MouseListener, MouseMotionListener { /** mainFrame - This is the main frame for user */ private Frame mainFrame; /** * titleLabel - thi is a sampele label * to display the title */ private Label titleLabel; /** testButton - sample Button for test */ private Button testButton; /** userTextField - sample TextField for test */ private TextField userTextField; private final static int TEXT_FIELD_SIZE = 40; public void DisplayUI() { mainFrame = new Frame("SampleAWT main frame"); // 加上窗口监听器,其中主要实现了退出功能 mainFrame.addWindowListener(new SampleWindowListener()); // 加一个标签 titleLabel = new Label("Titile - This is a label."); mainFrame.add(titleLabel, BorderLayout.NORTH); // 加一个按钮 testButton = new Button("Test Button"); mainFrame.add(testButton, BorderLayout.WEST); // 设置按钮事件监听器,按钮按下时会向控制台输出信息 //testButton.addActionListener(new MyButtonListener()); // 加一个文本编辑框 userTextField = new TextField(TEXT_FIELD_SIZE); mainFrame.add(userTextField, BorderLayout.SOUTH); // 加上鼠标动作监听器,因为类本身实现了这两个接口,所以参数是this mainFrame.addMouseListener(this); mainFrame.addMouseMotionListener(this); // 可以添加多个监听器,所以还可以定义其他的,如MyMouseListener类,然后加上 // 设置刚好能容纳这些控件的尺寸 mainFrame.pack(); // 设置为可见 mainFrame.setVisible(true); } public static void main(String[] args) { SampleAWT window = new SampleAWT(); window.DisplayUI(); } // //鼠标监听器MouseListener //监听鼠标事件MouseEvent。 //相应事件和处理方法 //鼠标事件 处理方法 //MOUSE_CLICKED MouseClicked (MouseEvent) 鼠标点击(单或双) //MOUSE_PRESSED MousePressed (MouseEvent) 鼠标按下 //MOUSE_RELEASED MouseReleased(MouseEvent) 鼠标松开 //MOUSE_ENTERED MouseEntered (MouseEvent) 鼠标进入(某组件区域) //MOUSE_EXITED MouseExited (MouseEvent) 鼠标离开(某组件区域) ////////////////////////////////////////////////////////////////////////////// //Handle Events of MouseListener @Override public void mouseClicked(MouseEvent e) { } @Override public void mouseEntered(MouseEvent e) { } @Override public void mouseExited(MouseEvent e) { this.userTextField.setText("the mouse has exited."); } @Override public void mousePressed(MouseEvent e) { } @Override public void mouseReleased(MouseEvent e) { } //鼠标监听器MouseMotionListener //对于鼠标的移动和拖放,另外用鼠标运动监听器MouseMotionListener。 //因为许多程序不需要监听鼠标运动,把两者分开可简化程序。 //相应事件和处理方法 //鼠标事件 处理方法 //MOUSE_MOVED MouseMoved (MouseEvent) 鼠标在移动 //MOUSE_DRAGGED MouseDragged(MouseEvent) 鼠标被拖动 ////////////////////////////////////////////////////////////////////////////// //Handle Events of s MouseMotionListener @Override public void mouseDragged(MouseEvent e) { } @Override public void mouseMoved(MouseEvent e) { String str = "x = " + e.getX() + ", y = " + e.getY(); this.userTextField.setText(str); System.out.println(str); } } class SampleWindowListener implements WindowListener { @Override public void windowActivated(WindowEvent e) { //当窗口从非激活到激活状态时监视器调用该方法 } @Override public void windowClosed(WindowEvent e) { //当窗口关闭时 } @Override public void windowClosing(WindowEvent e) { //窗口正被关闭 System.out.println("windowClosing"); // 退出 System.exit(0); } @Override public void windowDeactivated(WindowEvent e) { //激活到非激活状态 } @Override public void windowDeiconified(WindowEvent e) { //当窗口撤销图标化时 } @Override public void windowIconified(WindowEvent e) { //当窗口图标化时 } @Override public void windowOpened(WindowEvent e) { //当窗口打开时 } }
javac -encoding UTF-8 SampleAWT.java
jar cvf SampleAWT .jar SampleAWT.class SampleWindowListener.class
修改Jar包 META-INF\MANIFEST.MF
Manifest-Version: 1.0 Created-By: 1.8.0_131 (Oracle Corporation) Main-Class: SampleAWT
jar SampleAWT
AWT的布局管理器 AWT中主要有四种布局管理器:FlowLayout、GridLayout、BorderLayout和CardLayout。 下面给出这四种布局管理器的源码: package com.guan.visualTest.frameTest; import java.awt.BorderLayout; import java.awt.Button; import java.awt.CardLayout; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.GridLayout; import java.awt.Panel; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class YourFrame extends Frame{ private static final long serialVersionUID = 1L; Panel borderLayoutPanel; Panel cardLayoutPanel; Panel flowLayoutPanel; Panel gridLayoutPanel; private void generateGridLayoutPanel() { gridLayoutPanel = new Panel(); gridLayoutPanel.setLayout(new GridLayout(2,2)); Button button1 = new Button("button1"); Button button2 = new Button("button2"); Button button3 = new Button("button3"); Button button4 = new Button("button4"); gridLayoutPanel.add(button1); gridLayoutPanel.add(button2); gridLayoutPanel.add(button3); gridLayoutPanel.add(button4); } private void generateFlowLayoutPanel() { flowLayoutPanel = new Panel(); flowLayoutPanel.setLayout(new FlowLayout()); Button button1 = new Button("button1"); Button button2 = new Button("button2"); Button button3 = new Button("button3"); Button button4 = new Button("button4"); Button button5 = new Button("button5"); button1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { ((Button)e.getSource()).setLabel("welcome "); } }); flowLayoutPanel.add(button1); flowLayoutPanel.add(button2); flowLayoutPanel.add(button3); flowLayoutPanel.add(button4); flowLayoutPanel.add(button5); } private void generateBorderLayoutPanel() { borderLayoutPanel = new Panel(); borderLayoutPanel.setLayout(new BorderLayout()); Button button1 = new Button("South"); Button button2 = new Button("West"); Button button3 = new Button("East"); Button button4 = new Button("North"); Button button5 = new Button("Center"); borderLayoutPanel.add(button1,BorderLayout.SOUTH); borderLayoutPanel.add(button2,BorderLayout.WEST); borderLayoutPanel.add(button3,BorderLayout.EAST); borderLayoutPanel.add(button4,BorderLayout.NORTH); borderLayoutPanel.add(button5,BorderLayout.CENTER); } private void genrateCardLayoutPanel() { cardLayoutPanel = new Panel(); final CardLayout cl = new CardLayout(); cardLayoutPanel.setLayout(cl); Button button1 = new Button("black"); Button button2 = new Button("red"); ActionListener al = new ActionListener() { @Override public void actionPerformed(ActionEvent e) { cl.next(cardLayoutPanel); } }; button1.addActionListener(al); button2.addActionListener(al); cardLayoutPanel.add(button1,"1"); cardLayoutPanel.add(button2,"2"); } public YourFrame(String panelName) { super("panelName"); generateBorderLayoutPanel(); generateFlowLayoutPanel(); generateGridLayoutPanel(); genrateCardLayoutPanel(); setLayout(new GridLayout(2,2)); add(borderLayoutPanel); add(flowLayoutPanel); add(gridLayoutPanel); add(cardLayoutPanel); setSize(800, 800); setLocation(100,100); addWindowListener(new WindowAdapter(){ @Override public void windowClosing(WindowEvent arg0) { System.exit(0); } }); } public static void main(String[] args) { YourFrame yourFrame = new YourFrame("welcome"); yourFrame.setVisible(true); } }
- AWT_Sample.zip (49.4 KB)
- 下载次数: 0
发表评论
-
[轉]java中String的“==”和equals判断相等性
2017-11-27 15:24 456http://blog.csdn.net/liucheng20 ... -
Android NDK搭建環境
2017-11-27 13:25 579https://www.cnblogs.com/ut2016- ... -
Java语言编码规范
2017-06-27 15:54 569http://morningspace.51.net/reso ... -
Java 事件模型基础:监听器、事件、事件源、事件注册
2017-06-27 08:55 823转自 http://www.cnblogs.com/mengd ... -
Java中基本数据类型和包装器类型的关系
2017-06-27 08:37 757转自 http://www.cnblogs.com/h ... -
深入剖析Java中的装箱和拆箱
2017-06-27 08:31 487转自 http://www.cnblogs.com/dolph ... -
Java JAR打包相关
2017-06-26 20:57 584JAVA jar打包时MANIFEST.MF格式约定 http ... -
Java反编译工具 - Java Decompiler
2017-06-21 20:14 474http://jd.benow.ca/ JD-GUI is ... -
javac,使用"-d ."与省略-d的区别
2017-06-20 20:27 809在当前工作目录下生成class文件,一般情况下有两种方法 ... -
JAVA环境变量配置
2017-06-19 13:56 355参考Link http://www.cnblogs.com/x ... -
JAVA高级应用之反射
2017-06-19 10:26 436参考链接 http://www.cnblogs.com/men ... -
Java高级应用之JNI
2017-06-19 09:00 599参考link http://www.cnblogs.com/l ... -
JDK工具appletviewer详解
2017-06-19 08:25 1131http://www.softown.cn/post/170. ... -
Java rt.jar 源码分析
2017-06-18 10:32 650jdk1.8.0_102 SRC +com +java ... -
应用 Command 模式进行流水号管理的最佳实践
2016-07-10 18:02 612转自 http://www.ibm.com/devel ...
相关推荐
Java AWT(Abstract Window Toolkit)是Java平台早期的图形用户界面(GUI)工具包,它为开发者提供了构建桌面应用程序的基本组件,如按钮、文本框、菜单等。在本示例中,我们将深入探讨Java AWT,特别是关于Applet的...
使用Java作为开发语言,开发者可以创建跨平台的应用程序,而Swing是Java AWT(Abstract Window Toolkit)库的一部分,用于构建图形用户界面(GUI)。在本示例中,Swing库被用来设计和实现摄像头监控的用户界面,包括...
Java Swing和AWT是Java平台上用于构建图形用户界面(GUI)的两...通过下载并研究`pagelayout1.16`这个版本,开发者可以深入理解其工作原理,并将其集成到自己的Java Swing或AWT应用中,提升用户体验和界面设计的质量。
在Java AWT/Swing领域,掌握Swing的基础知识对于构建美观且功能强大的桌面应用程序至关重要。下面我们将深入探讨Swing的基本概念、组件、事件模型以及用户界面设计。 1. Swing组件库: Swing 提供了丰富的组件集,...
自JDK 1.0发布以来,AWT一直是Java GUI编程的重要组成部分,并在后续版本中得到了持续的改进和优化。 ##### AWT的主要功能特点: 1. **丰富的图形界面组件**:AWT提供了一系列基本的GUI组件,例如按钮、复选框、...
5. **持续学习:** Java语言和技术不断更新发展,保持学习的态度,跟踪最新的技术和框架。 #### 四、总结 《Core Java应用程序设计教程2》是一本非常适合初学者和有一定基础的开发者学习的书籍。它不仅覆盖了Java...
第一个Java源码示例可能是一个基本的抛物线绘制程序,它可能使用了Java的`java.awt`或`javax.swing`库来创建图形界面,并通过`java.awt.Graphics`类进行绘图。在这个例子中,程序员可能定义了一个函数来计算抛物线的...
- **Java Swing**: Java Swing是Java Foundation Classes (JFC)的一部分,用于创建桌面应用程序的GUI。在这个项目中,我们使用了Swing库中的组件如`JFrame`(主窗口)、`JButton`(按钮)、`JLabel`(标签)等来...
import java.awt.*; import javax.swing.*; public class Heart extends JPanel { public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2d = (Graphics2D) g; g2d....
### 四、Java 3D应用示例 1. **虚拟现实**:利用Java 3D构建虚拟环境,用于教育、培训、游戏等。 2. **科学可视化**:展示数据和模拟结果,如分子结构、流体力学等。 3. **建筑设计**:在3D环境中预览和编辑建筑...
- **稳定**: Java 经过多年的持续改进和发展,已经成为一种非常稳定的开发语言。 **1.3 安装 SUN 公司的 SDK** - **下载**: 需要从官方网站下载 JDK (Java Development Kit),它包含了 Java 编译器、运行时环境和...
参考提供的`SystemTrayDemo`文件,应该包含了一个完整的系统托盘应用示例,包括创建图标、添加事件监听器、创建上下文菜单以及添加到系统托盘的过程。通过阅读和理解这段代码,你可以了解到如何在Swing应用中实现...
Java提供了丰富的图形库,如Java AWT(Abstract Window Toolkit)和Swing,用于创建用户界面。对于游戏开发,更常用的是JavaFX,它提供了更现代的图形和动画支持。此外,有许多专门针对游戏开发的框架,如LibGDX,它...
2. **图形用户界面(GUI)组件**:在Java Applet中,你需要使用`java.awt`和`javax.swing`包中的类来创建和管理GUI组件。心跳线可能会使用`Graphics`类进行绘制,这需要重写`paint()`或`paintComponent()`方法。 3....
4. **GUI组件**:可能包含用于用户界面的Java Swing或AWT组件,用于显示和操作图形数据结构。 5. **测试和示例**:可能有示例数据和测试用例,用于验证程序功能的正确性。 6. **文档**:可能包括README文件,提供...