Java中的图形界面编程

前言

正文

Java中的图形界面编程

AWT/Swing

AWT(Abstract Window ToolKits,抽象窗口工具集)

1.容器类:用来存储组件,实现容器布局

2.组件类:实现界面的一些特定功能

一个容器可以包涵多个组件,组件必须存放在容器中

3.布局管理器:实现容器的布局设置

4.图形类:包括一些基本图形

Swing是AWT的一个轻量级框架

java.lang.Object

java.awt.Component

java.awt.Container

java.awt.Window

java.awt.Frame

javax.swing.JFrame

5.Swing中常用的容器

JFrame 窗口

JPanel 面板

JTabbedPane    标签面板

6.组件

1) JLabel   标签

2)JTextField 文本输入框

3)JPasswordField 密码框

4)JCheckBox 多选框

5)JRadiobutton 单选框

6)JButton 提交按钮

7)JComboBox 下拉框

8)JTable  表格

9)JScrollPane 可滚面板

TestJFrameDemo 窗口

TestJPanelDemo 面板

TestJTabbedPane 标签面板

TestJLabelDemo 标签

TestTextDemo 文本输入框

TestCheckBox 多选框

TestJTableDemo 表格

TestUNEditeTable 不可编辑的表格

表格代码示例

流式布局 FlowLayout

默认Jpanel采用的流式布局,水平方向上排列,如果一行排不下就自动换行显示;当只有一个组将时,默认水平方向居中。

jp.setLayOut(new FlowLayout());;设置当前面板的布局

边界布局 BorderLayout

1.Container getContentPane()

Returns the contentPane object for this frame.

Container c=jf.getContenPane();//获得jf的默认面板

2.Container的api

1)void setLayout(LayoutManager mgr)

Sets the layout manager for this container.

c.setLayout(new BorderLayout);//边框布局将面板分成五部分

2)Component add(Component comp, int index)

Adds the specified component to this container at the given position.

c.add(new JButton("button1"),BorderLayout.NORTH);

1))The code for this applet is as follows:

--------------------------------------------------------------------------------

import java.awt.*;

import java.applet.Applet;

public class buttonDir extends Applet {

public void init() {

setLayout(new BorderLayout());

add(new Button("North"), BorderLayout.NORTH);

add(new Button("South"), BorderLayout.SOUTH);

add(new Button("East"), BorderLayout.EAST);

add(new Button("West"), BorderLayout.WEST);

add(new Button("Center"), BorderLayout.CENTER);

}

}

网格布局 GridLayout

1. For example, the following is an applet that lays out six buttons into three rows and two columns:

--------------------------------------------------------------------------------

import java.awt.*;

import java.applet.Applet;

public class ButtonGrid extends Applet {

public void init() {

setLayout(new GridLayout(3,2));

add(new Button("1"));

add(new Button("2"));

add(new Button("3"));

add(new Button("4"));

add(new Button("5"));

add(new Button("6"));

}

}

 2.GridLayout的api

GridLayout(int rows, int cols)

Creates a grid layout with the specified number of rows and columns.

GridLayout(int rows, int cols, int hgap, int vgap)

Creates a grid layout with the specified number of rows and columns. 第一个参数是行数,第二个参数是列数,第三个参数是行间距,第四个参数是列间距

箱式布局 Box

A lightweight container that uses a BoxLayout object as its layout manager。

1.BOX的api

1).static Box createHorizontalBox()

Creates a Box that displays its components from left to right. 水平方向排列

2)static Box createVerticalBox()

Creates a Box that displays its components from top to bottom 竖直方向排列

3)示例

Box b=Box createHorizontalBox() ;

b.add(new JButton("button1"))

jf.add(b);

事件

采用了观察者模式;事件有三要素是事件源、监听器和事件。

1.swing中的事件监听接口

1)java.awt.event

Interface MouseListener

The listener interface for receiving "interesting" mouse events (press, release, click, enter, and exit) on a component

2)java.awt.event

Interface KeyListener

The listener interface for receiving keyboard events (keystrokes).

3)java.awt.event

Interface ActionListener

The listener interface for receiving action events

适配器模式

final JLabel j1=new JLabel("测试");

JButton jb=new JButton("测试事件监听");

jb.addMouseListener(new MouseAdapter(){

public void mousePressed(MouseEvent e){

j1.setText("鼠标按下");/j1必须用final修饰。

}

});

总结

Java中的图形界面编程

时间: 2024-10-02 18:53:33

Java中的图形界面编程的相关文章

多线程编程、Java I/O系统和Java图形界面编程

多线程编程: 一个正在运行的程序通常称为一个进程,每一个任务称为一个线程,中能够在一个程序内运行多线程的程序称为多线程程序. 线程与进程的区别:①每个进程都需要操作系统为其分配独立的内存空间: ②而同一个进程中的所有线程都在同一内存空间工作,这些线程可以共享同一块内存和系统资源. 线程的创建: 1)通过继承Thread类来创建线程: ①创建一个继承Thread类的类: ②在创建的Thread子类中重写run()方法,在方法中写入想要线程运行的代码: ③创建Thread子类的实例: ④通过调用该实

Java图形界面编程

一:基本概念 AWT(Abstract Window Toolkit) 抽象窗口工具包,SUN 公司提供的用于图形界面编程(GUI)的类库.但是AWT得实现严重依赖于下层操作系统,所以导致组件AWT的外观取决于程序运行的平台.AWT的类和接口都定义在java.awt包中. Swing    Swing组件是实在AWT基础上开发的新型GUI组件,它是纯Java实现的轻量级(light-weight)组件,它不依赖任何特定平台,Swing组件在不同平台具有一致性的表现,但是Swing应用程序的界面外

五,图形界面编程

五,图形界面编程 一,图形界面编程swt; 1,awt 1,图形类 Button 2,辅助类 1,工具类 2,字体类 3,颜色类 2,Swing 1,图形类 jButton 二,容器与组件 1,首层容器 Contoner 1,所有的中间容器和组件都放在首层容器里 2,常用的首层容器 JApplet-动画效果-过时 Jdiologo-弹出框 Jframe-常用的首层容器 Jwindow 3,先new jframe对象,在设置宽高 ,ste size(宽,高): 内宽高,先水平在垂直先宽后高,单位像

GUI图形界面编程之事件处理机制

事件处理机制三要素: 事件源:能够产生事件的组件 事件:用户对组件的一个操作 事件监听器:接收事件.解释事件并处理用户交互的方法处理事件源发生的事件 事件处理机制:当组件(比如 Button)被点击时就会产生ActionEvent事件,事件被传递给一个 ActionListener 对象,再由ActionListener 定义的方法来响应处理事件(自动调用ActionEvent) 当事件发生后,将某事件的对象传递给事件监听器(事件监听器实现了发生此事件所对应的接口),事件监听器会处理此事件,为了

图形界面编程_2

上次说了,如果不添加事件,点击窗口右上方的X,窗口是不会关闭的,现在要说一下,这是在awt下Frame的情况,如果是使用swing下的JFrame,则不需要添加事件即可直接关闭按钮,awt的功能,swing基本上可以完全取代,而且用swing的组件实现的窗口外观上也比awt的组件实现的窗口要美观一些,如下图所示:            下面会主要使用swing,举一些例子 例1: import java.awt.*; import javax.swing.*; public class san

C语言控制台窗口图形界面编程(一)

本系列文章改编自<C语言控制台窗口界面编程(修正版)>.本系列文章会抛弃一些原文中难懂难理解且不常用的部分,并修改了部分样例程序.只为了更加清晰地学习C语言的控制台窗口界面编程.而想要更加深入的了解本系列文章,请阅读<C语言控制台窗口界面编程(修正版)>. <C语言控制台窗口界面编程(修正版)>下载地址:http://download.csdn.net/detail/jzqt_t/7471013 在Windows操作系统下用C语言编写控制台的窗口界面首先要获取当前标准输

C语言控制台窗体图形界面编程(总结)

本系列文章是笔者通过学习<C语言控制台窗体界面编程(修正版)>而写(关于此文档的很多其它信息请看本系列文章第一篇),旨在让大家更加清晰简洁easy地学习C语言控制台窗体界面的编程. 通过本系列文章我们能够在控制台窗体中制作好看的图形界面,方便了在非TC开发环境中的控制台窗体中进行文本界面和图形界面的设计,有利于向Windows应用程序开发过渡.也能够通过学习这些东西写些好玩的经典游戏比方贪吃蛇,扫雷和俄罗斯方块等. 事实上这些编程技巧并不算是C语言的.事实上,它仅仅只是是通过调用Windows

JAVA简单Swing图形界面应用示例

package org.rui.hello; import javax.swing.JFrame; /** * 简单的swing窗口 * @author lenovo * */ public class HelloSwing { public static void main(String[] args) { JFrame frame=new JFrame("hello Swing"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLO

C语言控制台窗口图形界面编程(二)

下面介绍几个用于控制台窗口操作的API函数,如下: [cpp] view plaincopy //获取控制台窗口信息 GetConsoleScreenBufferInfo(); //获取控制台窗口标题 GetConsoleTitle(); //更改指定缓冲区大小 SetConsoleScreenBufferSize(); //设置控制台窗口标题 SetConsoleTitle(); //设置控制台窗口信息 SetConsoleWindowInfo(); 下面的示例程序用于说明此类函数的使用: [