void setBounds(x, y, width, height)

设置窗体坐标,窗体大小

import java.awt.Frame;

public class IntegerDemo {
public static void main(String[] args) {
// 创建窗体对象
Frame f = new Frame(); // 设置窗体标题
f.setTitle("HelloWorld"); // // 设置窗体大小
// f.setSize(400, 300);
//
// // 设置窗体位置
// f.setLocation(400, 200); f.setBounds(400, 200, 400, 300); // 设置窗体可见
f.setVisible(true);
}
}

设置窗体可以关闭

import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent; public class IntegerDemo {
public static void main(String[] args) {
// 创建窗体对象
Frame frame = new Frame("窗体"); // 设置窗体属性
frame.setBounds(400, 200, 400, 300); // 适配器,设置窗体可以关闭
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}); // 设置窗体可见
frame.setVisible(true);
}
}

对按钮添加事件

import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent; /*
* 需求:把按钮添加到窗体,并对按钮添加一个点击事件
* A:创建窗体对象
* B:创建按钮对象
* C:把按钮添加到窗体
* D:窗体显示
* */ public class IntegerDemo {
public static void main(String[] args) {
// A:创建窗体对象
Frame frame = new Frame("添加按钮"); // 设置窗体属性
frame.setBounds(400, 200, 400, 300); // 设置布局为流式布局
frame.setLayout(new FlowLayout()); // B:创建按钮对象
Button button = new Button("快点我啊");
button.setSize(20, 10); // C:把按钮添加到窗体
frame.add(button); // 适配器,设置窗体可以关闭
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}); // 对按钮添加事件
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.out.println("你再点试试");
}
}); // D:窗体显示
frame.setVisible(true);
}
}

文本框、按钮、文本区

对按钮添加事件

数据转移,在文本框输入,并保存在文本区

import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
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 IntegerDemo {
public static void main(String[] args) {
// 创建窗体对象
Frame frame = new Frame("数据转移");
// 设置窗体属性
frame.setBounds(400, 200, 400, 300);
// 设置布局为流式布局
frame.setLayout(new FlowLayout()); // 创建文本框
final TextField textfield = new TextField(20); // 创建按钮
Button button = new Button("数据转移"); // 创建文本区
final TextArea textarea = new TextArea(10, 40); // 把按钮添加到窗体
frame.add(textfield);
frame.add(button);
frame.add(textarea); // 适配器,设置窗体关闭
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}); // 对按钮添加事件
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 获取文本框的值
String string = textfield.getText().trim();
// 清空数据
textfield.setText("");
// 设置文本框,追加和换行
textarea.append(string + "\r\n");
// 获取光标
textfield.requestFocus();
}
}); // 窗体显示
frame.setVisible(true);
}
}

对按钮添加鼠标的进入事件

对按钮添加鼠标的离开事件

通过鼠标移动到按钮上更改背景颜色

import java.awt.Button;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent; public class IntegerDemo {
public static void main(String[] args) {
// 创建窗体对象
Frame frame = new Frame("数据转移");
// 设置窗体属性
frame.setBounds(400, 200, 400, 300);
// 设置布局为流式布局
frame.setLayout(new FlowLayout()); // 创建3个按钮
Button redButton = new Button("红色");
Button greenButton = new Button("绿色");
Button blueButton = new Button("蓝色"); // 添加按钮
frame.add(redButton);
frame.add(greenButton);
frame.add(blueButton); // 适配器,设置窗体关闭
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}); // 对按钮添加动作事件
// redButton.addActionListener(new ActionListener() {
// @Override
// public void actionPerformed(ActionEvent e) {
// frame.setBackground(Color.RED);
// }
// }); // 对按钮添加点击事件
// redButton.addMouseListener(new MouseAdapter() {
// public void mouseClicked(MouseEvent e) {
// frame.setBackground(Color.RED);
// }
// }); // 对按钮添加鼠标的进入事件
redButton.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
frame.setBackground(Color.RED);
}
}); greenButton.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
frame.setBackground(Color.GREEN);
}
}); blueButton.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
frame.setBackground(Color.BLUE);
}
}); // 对按钮添加鼠标的离开事件
redButton.addMouseListener(new MouseAdapter() {
public void mouseExited(MouseEvent e) {
frame.setBackground(Color.WHITE);
}
}); greenButton.addMouseListener(new MouseAdapter() {
public void mouseExited(MouseEvent e) {
frame.setBackground(Color.WHITE);
}
}); blueButton.addMouseListener(new MouseAdapter() {
public void mouseExited(MouseEvent e) {
frame.setBackground(Color.WHITE);
}
}); // 窗体显示
frame.setVisible(true);
}
}

控制在文本框里面只能输入数字字符

import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent; public class IntegerDemo {
public static void main(String[] args) {
// 创建窗体对象
Frame frame = new Frame("不能输入非数字字符");
// 设置窗体属性
frame.setBounds(400, 200, 400, 300);
// 设置布局为流式布局
frame.setLayout(new FlowLayout()); // 创建Label
Label label = new Label("请输入你的Q号,不能是非数字"); TextField textfield = new TextField(40); // 添加按钮
frame.add(label);
frame.add(textfield); // 适配器,设置窗体关闭
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}); textfield.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
// 思路:1获取字符,2判断字符
char ch = e.getKeyChar(); if (ch >= '0' && ch <= '9') { } else {
e.consume();
}
}
}); // 窗体显示
frame.setVisible(true);
}
}

多级菜单

import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException; public class IntegerDemo {
public static void main(String[] args) {
// 创建窗体对象
final Frame frame = new Frame("多级菜单");
final String name = frame.getTitle();
// 设置窗体属性
frame.setBounds(400, 200, 400, 300);
// 设置布局为流式布局
frame.setLayout(new FlowLayout()); // 创建菜单栏
MenuBar menuBar = new MenuBar(); // 创建菜单
Menu menu1 = new Menu("文件");
Menu menu1_1 = new Menu("更改名称"); // 创建菜单项
MenuItem menuItem1 = new MenuItem("好好学习");
MenuItem menuItem2 = new MenuItem("天天向上");
MenuItem menuItem3 = new MenuItem("恢复标题");
MenuItem menuItem4 = new MenuItem("打开记事本");
MenuItem menuItem5 = new MenuItem("退出系统"); // 添加菜单
menu1_1.add(menuItem1);
menu1_1.add(menuItem2);
menu1_1.add(menuItem3); menu1.add(menu1_1);
menu1.add(menuItem4);
menu1.add(menuItem5); menuBar.add(menu1); // 设置菜单项
frame.setMenuBar(menuBar); // 适配器,设置窗体关闭
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}); menuItem1.addActionListener(new ActionListener() { @Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
frame.setTitle(menuItem1.getLabel());
}
}); menuItem2.addActionListener(new ActionListener() { @Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
frame.setTitle(menuItem1.getLabel());
}
}); menuItem3.addActionListener(new ActionListener() { @Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
frame.setTitle(name);
}
}); menuItem4.addActionListener(new ActionListener() { @Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
Runtime runTime = Runtime.getRuntime();
try {
runTime.exec("notepad");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}); menuItem5.addActionListener(new ActionListener() { @Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.exit(0);
} }); // 窗体显示
frame.setVisible(true);
}
}

GUI_FlowLayout的更多相关文章

随机推荐

  1. 【问题解决方案】Centos操作文件vim-No write since last change (add ! to override)

    参考链接 CSDN:Centos 7 操作文件No write since last change (add ! to override) 问题描述: :q或者:wq退出失败,显示如No write ...

  2. 【问题解决方案】git仓库重构

    Linux mv命令 用来为文件或目录改名.或将文件或目录移入其它位置. 语法 mv [options] source dest mv [options] source... directory 注: ...

  3. vue中项目如何引入sass (vue-cli项目)

    1.进入项目目录 2.安装sass的依赖 npm install --save-dev sass-loader npm install --save-dev node-sass 3.在build文件夹 ...

  4. 03javascript01

    1.javascript语法体系 1)EMCA基础语法(统一) 2)BOM编程(不统一) 3)DOM编程(不统一) 1.1 javascript使用 <!DOCTYPE html> < ...

  5. Linux 正在尝试其他镜像

    Linux  正在尝试其他镜像 发生情景: 在windows7系统,安装了虚拟机Oracle VM VirtualBox,使用的CentOS7, 在使用yum的使用,一直提醒"正在尝试其他镜 ...

  6. 1.基础: 万丈高楼平地起——Redis基础数据结构 学习记录

    <Redis深度历险:核心原理和应用实践>1.基础: 万丈高楼平地起——Redis基础数据结构 学习记录http://naotu.baidu.com/file/b874e2624d3f37 ...

  7. nginx_mirror_module流量复制在项目中的应用

    参考文档:https://my.oschina.net/andChow/blog/2873870 https://blog.csdn.net/lancerh/article/details/88645 ...

  8. python3-使用__slots__

    正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性.先定义class: class Student(object): pa ...

  9. du df的用法

    1,两者区别 du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在 的,没有被删除的.他计算的大小就是当前他认为存在的所有文件大小的累加和. df, ...

  10. this 指向图