前面我们在面向对象的初步认识过程中了解了一些重要的东西,那么真正开始进入面向对象学习与开发的阶段那么就是从现在开始了。
探索图形化界面,监听器等的使用;
像windows一样,我们如何来书写程序,运用方法,来弹出一个类似的框框呢?
介绍一个JFrame类,这个类就可以做到;
import java.awt.Color; import javax.swing.JFrame; public class DrawUI extends JFrame{ /** *主函数,程序入口,DrawUI类 * **/ public static void main(String[] args) { DrawUI dra=new DrawUI(); dra.seway(); } /** *窗体的属性 * **/ public void seway(){ this.setSize(700,700);//窗体大小 this.setTitle("我的第一个窗体");//标题 this.setResizable(false);//不可改变大小 this.setDefaultCloseOperation(3);//点击X的时候关闭程序 this.setLocationRelativeTo(null);//现实在屏幕中间 this.getContentPane().setBackground(Color.green);//背景色 this.setVisible(true);//显示出来 } }
如图,写好的窗体已经显示出来了
上面光秃秃的,如果能在上面加上几个按钮或者输入框就好了
进行添加如下代码:
//添加按钮 JButton button1=new JButton("点击我一下"); this.add(button1);
效果如图:
诶?我刚才设置的背景色怎么不见了?怎么看起来这个按钮充满了整个屏幕啊?
好的,这是因为,在窗体上面没有给我们添加的组件设置布局,导致这个按钮填充了整个窗体,继续修改代码,添加一行:
this.setLayout(new FlowLayout());//添加流式布局
这次显示出来的效果就不一样了
继续拓展,窗体上已经有了按钮,但是却什么都不能干,我现在想当我点击按钮的时候能在这个窗体上面画直线,该如何去做呢?我们需要在这个按钮上加时间监听器,当点击按钮的时候开始在窗体上面绘制直线,还要给窗体加上鼠标监听器,得到按下和松开的两个点的坐标,然后才能画直线。画直线不是直接画到窗体上的,而是在这上面添加一块画布,得到画布,然后在画布上面绘制直线。
代码如下:
import java.awt.Color; import java.awt.FlowLayout; import java.awt.Graphics; import javax.swing.JButton; import javax.swing.JFrame; public class DrawUI extends JFrame{ /** *主函数,程序入口,DrawUI类 * **/ public static void main(String[] args) { DrawUI dra=new DrawUI(); dra.seway(); } /** *窗体的属性 * **/ public void seway(){ this.setSize(700,700);//窗体大小 this.setTitle("我的第一个窗体");//标题 this.setResizable(false);//不可改变大小 this.setDefaultCloseOperation(3);//点击X的时候关闭程序 this.setLocationRelativeTo(null);//现实在屏幕中间 this.getContentPane().setBackground(Color.green);//背景色 this.setLayout(new FlowLayout());//添加流式布局 //添加按钮 JButton button1=new JButton("点击我一下"); this.add(button1); button1.setActionCommand("line"); this.setVisible(true);//显示出来 Graphics g=this.getGraphics(); DrawUIListener dui=new DrawUIListener(g); this.addMouseListener(dui); button1.addActionListener(dui); } }
import java.awt.Graphics; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; public class DrawUIListener implements MouseListener,ActionListener{ private Graphics g; private String command; private int x1,y1,x2,y2; public DrawUIListener (Graphics g){ this.g=g; } public void actionPerformed(ActionEvent e) { command=e.getActionCommand(); } public void mousePressed(MouseEvent e) { x1=e.getX(); y1=e.getY(); } public void mouseReleased(MouseEvent e) { x2=e.getX(); y2=e.getY(); if(command.equals("line")){ g.drawLine(x1, y1, x2, y2); } } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } public void mouseClicked(MouseEvent e) { } }
效果如图:
好了 ,监听器这个类已经介绍的差不多了 ,还有很多种监听器,大家可以一一去试一下,在java.awt.event这个包下面
相关推荐
Swing和AWT是Java提供的图形用户界面(GUI)库。理解组件、布局管理器和事件监听器的概念,可以创建美观且功能丰富的桌面应用。 十、设计模式 设计模式是解决常见问题的最佳实践。学习工厂模式、单例模式、观察者...
《Java图书管理系统(GUI)图形界面版》是一个基于Java编程语言设计和实现的应用程序,它提供了全面的图书、读者及借阅信息管理功能。该系统采用GUI(图形用户界面),使得用户可以直观、便捷地进行操作,提高了工作...
【图形用户界面Java】是Java编程中至关重要的一个部分,它涉及到如何创建用户友好的、交互式的应用程序。在Java中,图形用户界面主要由AWT(Abstract Window Toolkit)和Swing库提供支持。 1. **AWT和Swing组件**:...
在这个目录下,运行`proguardgui.bat`批处理文件,该文件将启动ProGuard的图形界面。这个批处理文件是为Windows操作系统设计的,如果你使用的是其他操作系统,可能需要相应的启动脚本。 使用ProGuard的主要步骤包括...
通过阅读和理解源代码,可以学习到Java编程、数据结构、算法设计以及图形界面开发等多个方面的知识。 总之,Java K-Means可视化程序结合了数据处理、机器学习算法和图形用户界面设计,为理解和应用K-Means提供了一...
### 第十八章 图形界面开发——AWT,Swing,SWT #### 18.1 图形界面简介 ##### 18.1.1 概述 在本章中,我们将探讨Java图形用户界面(GUI)开发的核心概念和技术。虽然在Java开发中,Web应用程序占据了主导地位,但...
首先,我们来探讨Java2的部分,这是Java的一个重要阶段,它包含了Java Standard Edition(Java SE)的第二个主要版本。Java 2引入了许多改进和新特性,如多线程支持的加强、垃圾回收机制的优化以及Java虚拟机(JVM)...
这个项目虽然是一个小型应用,但其背后涉及到了不少Java编程的核心概念和技术点,对于学习者来说是非常有益的实践案例。 #### 二、关键技术点分析 ##### 1. 游戏框架搭建 - **主窗口设计**:通过`JFrame`类创建主...
Applet用于增强网页的交互性和动态性,可以实现图形展示、用户界面、网络通信、事件处理和数据库访问等功能,提供了一种在Web上实现丰富图形用户界面(GUI)和逻辑运算的方法。 3. **Applet类的使用** 创建Applet...
仓库库存管理应用也可以利用Java图形界面进行库存数据的可视化展示。 总之,Java的图形及图像的绘制处理是一个强大的工具,可以帮助开发者创建出丰富的、交互式的用户界面。通过掌握`Graphics`和`Graphics2D`类的...
在本实验中,"南邮Java课程实验-综合图形界面程序设计-小应用程序设计",学生将深入学习如何使用Java语言构建具有图形用户界面(GUI)的小应用程序。这个实验涵盖了多个重要的Java编程概念和技术,包括Java Swing库...
- 阶段任务:包括Java语言基础、面向对象编程、Java SE核心的学习,各功能模块的实现,系统测试和报告编写。 8. **需求分析**: 系统应满足用户登录、菜单选择、考试答题和分数统计等功能,每个模块都有明确的...
3. **用户界面**:使用Java Swing或JavaFX等库创建用户友好的图形界面,提供操作菜单、按钮、文本框等元素,使用户能够方便地进行信息录入、查询和修改。 4. **数据持久化**:通过JDBC(Java Database Connectivity...
Java的Swing库提供了一套丰富的组件,用于创建桌面应用程序的图形用户界面。通过本章节的学习,读者将掌握Swing的基本概念,包括容器(Container)、组件(Component)、布局管理器(LayoutManager)、事件(Event)与监听器...
Java编程的界面设计是开发应用程序不可或缺的一部分,它涉及到用户与程序的交互,直接影响到软件的用户体验。本专题将深入探讨初级、中级和...不断学习和实践,可以让你的Java应用程序拥有专业、高效且友好的用户界面。
二、Swing图形用户界面库 Swing是Java标准库的一部分,提供了一套丰富的组件用于创建桌面应用的用户界面。在动物管理系统中,Swing用于构建直观且易于操作的界面,包括动物信息输入、查询、编辑等功能。Swing的组件...
在初级阶段,我们将主要关注Swing库,它是Java Foundation Classes(JFC)的一部分,提供了丰富的组件和工具来构建桌面应用的图形界面。 一、Swing组件 Swing库提供了多种组件,如按钮(JButton)、文本框...
如果使用了第三方库,可能需要处理依赖关系,如使用fat JAR或使用模块化系统(如Java 9+的Jigsaw模块)。 10. **测试**: 为了确保转换的正确性和稳定性,需要编写单元测试和集成测试,覆盖各种输入情况和边界条件...
开发者可能使用了Java Swing或JavaFX来创建图形用户界面(GUI),以便用户可以直观地与系统交互,进行增删查改等操作。 2. **MySQL数据库**:MySQL是一种广泛使用的开源关系型数据库管理系统,以其高效、可靠和易用...
Java界面编程是开发桌面应用程序的重要组成部分,它使得用户可以通过图形化的方式与程序进行交互。Java提供了多种工具和框架来创建用户界面,其中最常用的是JavaFX和Swing。本篇文章将详细阐述Java界面编程的流程,...