当前位置: 首页 > news >正文

成都网站建设推广公司网站建设劳伦

成都网站建设推广,公司网站建设劳伦,主机屋免费网站空间,建设银行辽宁招聘网站GUI(Graphical User Interface,简称 GUI,图形用户界面)是指采用图形方式显示的计算机操作用户界面,与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。Java GUI主要有两个核心库&…

GUI(Graphical User Interface,简称 GUI,图形用户界面)是指采用图形方式显示的计算机操作用户界面,与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。

Java GUI主要有两个核心库,分别是AWT(java.awt:Abstract Windows ToolKit(抽象窗口工具包))和Swing(javax.swing:AWT的扩展)
AWT需要调用本地系统方法来实现功能,属重量级控件,
Swing是在AWT的基础上,建立的一套图像界面系统,其中提供了更多的组件,而且完全由Java实现,增强了移植性,属轻量级组件。

AWT:

1.包含了很多类和接口2.元素:窗口、

核心类:

组件Component

  • 可以直接用的基本组件:button、TextArea、Label

  • 容器:有窗口Window【分为Frame和Dialog】和面板Panel【Applet】

基本组件存放在容器中,用add操作

窗口frame

Frame类用于创建一个具有标题栏的框架窗口作为程序的主要界面,它不依赖其他容器可以单独存在。运行后可以看到一个弹窗

    public static void main(String[] args) {//frame窗口Frame frame = new Frame("java图形化界面窗口");//设置可见性 与 窗口大小frame.setVisible(true);frame.setSize(400,400);//设置背景颜色frame.setBackground(new Color(145, 36, 44));//设置弹出的初始位置  0,0 在左上角frame.setLocation(0,0);//设置窗口是否可拉伸frame.setResizable(false);}

面板Panel

特性:面板不能单独存在,必须在容器里面,可以看成一个空间。在程序中通常会使面板来实现一些特殊的布局。

    public static void main(String[] args) {//frame窗口Frame frame = new Frame("java图形化界面窗口");//设置可见性 与 窗口大小frame.setVisible(true);frame.setSize(400,400);//设置背景颜色frame.setBackground(new Color(145, 36, 44));//设置弹出的初始位置  0,0 在左上角frame.setLocation(0,0);//设置窗口是否可拉伸frame.setResizable(false);//设置布局frame.setLayout(null);//pannel面板Panel panel = new Panel();panel.setBounds(0,0,100,400);panel.setBackground(new Color(83, 169, 56));frame.add(panel);}

布局管理器LayOut

流式布局(默认)

FlowLayout,流式布局管理器,按水平方向依次排列放置组件,排满一行,换下一行继续排列。排列方向(左到右 或 右到左)取决于容器的componentOrientation属性(该属性属于Component),它可能的值如下:

  • ComponentOrientation.LEFT_TO_RIGHT(默认)

  • ComponentOrientation.RIGHT_TO_LEFT

    public static void main(String[] args) {//frame窗口Frame frame = new Frame("java图形化界面窗口");//设置可见性 与 窗口大小frame.setVisible(true);frame.setBounds(0,0,400,400);//文本框组件TextField num1 = new TextField();TextField num2 = new TextField();TextField num3 = new TextField();//一个按钮Button button = new Button("=");//一个标签Label label = new Label("+");//设置流式布局FlowLayout flowLayout = new FlowLayout();frame.setLayout(flowLayout);frame.add(num1);frame.add(label);frame.add(num2);frame.add(button);frame.add(num3);}

东西南北中

    public static void main(String[] args) {//frame窗口Frame frame = new Frame("java图形化界面窗口");//设置可见性 与 窗口大小frame.setVisible(true);frame.setSize(400,400);//设置背景颜色frame.setBackground(new Color(145, 36, 44));//设置弹出的初始位置  0,0 在左上角frame.setLocation(0,0);//设置窗口是否可拉伸frame.setResizable(false);//按钮组件Button east = new Button("east");Button west = new Button("west");Button south = new Button("south");Button north = new Button("north");Button center = new Button("center");frame.add(east,BorderLayout.EAST);frame.add(west,BorderLayout.WEST);frame.add(south,BorderLayout.SOUTH);frame.add(north,BorderLayout.NORTH);frame.add(center,BorderLayout.CENTER);}

网格布局

GridLayout,网格布局管理器,它以矩形网格形式对容器的组件进行布置,把容器按行列分成大小相等的矩形网格,一个网格中放置一个组件,组件宽高自动撑满网格。

    public static void main(String[] args) {//frame窗口Frame frame = new Frame("java图形化界面窗口");//设置可见性 与 窗口大小frame.setVisible(true);frame.setSize(400,400);//设置背景颜色frame.setBackground(new Color(145, 36, 44));//设置弹出的初始位置  0,0 在左上角frame.setLocation(0,0);//设置窗口是否可拉伸frame.setResizable(false);//按钮组件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");Button button6 = new Button("button6");//设置表格3行2列GridLayout gridLayout = new GridLayout(3, 2);//设置布局frame.setLayout(gridLayout);frame.add(button1);frame.add(button2);frame.add(button3);frame.add(button4);frame.add(button5);frame.add(button6);}

事件监听

关闭窗口

        //监听窗口关闭事件frame.addWindowListener(new WindowAdapter() {//适配器模式@Overridepublic void windowClosing(WindowEvent e) {//结束程序System.exit(0);}});

按钮点击事件

public static void main(String[] args) {//frame窗口Frame frame = new Frame("java图形化界面窗口");//设置可见性 与 窗口大小frame.setVisible(true);frame.setSize(400,400);//设置背景颜色frame.setBackground(new Color(145, 36, 44));//设置弹出的初始位置  0,0 在左上角frame.setLocation(0,0);//设置窗口是否可拉伸frame.setResizable(false);//按钮组件Button button1 = new Button("button1");//显示设置按钮上的信息button1.setActionCommand("button1-11");button1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {System.out.println("eee");System.out.println(e.getActionCommand());}});frame.add(button1,BorderLayout.CENTER);
}

点击按钮后,控制台打印。setActionCommand是为了在多个按钮的监听写在一个监听器,用if判断


文本框回车事件

    public static void main(String[] args) {
//frame窗口
Frame frame = new Frame("java图形化界面窗口");
//设置可见性 与 窗口大小
frame.setVisible(true);
frame.setSize(400,400);
//设置背景颜色
frame.setBackground(new Color(145, 36, 44));
//设置弹出的初始位置  0,0 在左上角
frame.setLocation(0,0);
//设置窗口是否可拉伸
frame.setResizable(false);
//文本框组件
TextField textField = new TextField();
//按下回车键,会触发这个监听
textField.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//获取资源
TextField field = (TextField) e.getSource();
//打印文本框内容System.out.println(field.getText());
}
});
frame.add(textField,BorderLayout.CENTER);
}

鼠标监听

监听鼠标按压、鼠标释放、鼠标点击

    public static void main(String[] args) {//frame窗口Frame frame = new Frame("java图形化界面窗口");//设置可见性 与 窗口大小frame.setVisible(true);frame.setBounds(0,0,400,400);frame.addMouseListener(new MouseAdapter() {@Overridepublic void mouseEntered(MouseEvent e) {System.out.println("鼠标进入组件区域");}@Overridepublic void mouseExited(MouseEvent e) {System.out.println("鼠标离开组件区域");}@Overridepublic void mousePressed(MouseEvent e) {// 获取按下的坐标(相对于组件)System.out.println("相对组件" + e.getPoint() + ",横坐标:" + e.getX() + ", 纵坐标:" + e.getY());// 获取按下的坐标(相对于屏幕)System.out.println("相对屏幕" + e.getLocationOnScreen() + ",横坐标:" + e.getXOnScreen() + ", 纵坐标:" + e.getYOnScreen());}@Overridepublic void mouseReleased(MouseEvent e) {System.out.println("鼠标释放");}@Overridepublic void mouseClicked(MouseEvent e) {// 鼠标在组件区域内按下并释放(中间没有移动光标)才识别为被点击System.out.println("鼠标点击");}});}

鼠标拖动、鼠标移动、鼠标滚轮滚动

    public static void main(String[] args) {//frame窗口Frame frame = new Frame("java图形化界面窗口");//设置可见性 与 窗口大小frame.setVisible(true);frame.setBounds(0,0,400,400);/*** 鼠标移动/拖动监听器*/frame.addMouseMotionListener(new MouseMotionAdapter() {@Overridepublic void mouseDragged(MouseEvent e) {// 鼠标保持按下状态移动即为拖动System.out.println("鼠标拖动");}@Overridepublic void mouseMoved(MouseEvent e) {System.out.println("鼠标移动");}});/*** 鼠标滚轮监听器*/frame.addMouseWheelListener(new MouseWheelListener() {@Overridepublic void mouseWheelMoved(MouseWheelEvent e) {// e.getWheelRotation() 为滚轮滚动多少的度量System.out.println("mouseWheelMoved: " + e.getWheelRotation());}});}

键盘监听

上下左右键和空格键:KeyEvent.VK_UP

public static final int VK_LEFT = 0x25;
public static final int VK_UP = 0x26;
public static final int VK_RIGHT = 0x27;
public static final int VK_DOWN = 0x28;
public static final int VK_SPACE = 0x20;
     public static void main(String[] args) {//frame窗口Frame frame = new Frame("java图形化界面窗口");//设置可见性 与 窗口大小frame.setVisible(true);frame.setBounds(0,0,400,400);/*** 键盘监听事件*/frame.addKeyListener(new KeyAdapter() {@Overridepublic void keyPressed(KeyEvent e) {// 获取键值,和 KeyEvent.VK_XXXX 常量比较确定所按下的按键System.out.println("按下: " + e.getKeyChar() + ",键值为:" + e.getKeyCode());}@Overridepublic void keyTyped(KeyEvent e) {// e.getKeyChar() 获取键入的字符System.out.println("键入: " + e.getKeyChar());}@Overridepublic void keyReleased(KeyEvent e) {System.out.println("释放: " + e.getKeyCode());}});}

窗口监听

    public static void main(String[] args) {//frame窗口Frame frame = new Frame("java图形化界面窗口");//设置可见性 与 窗口大小frame.setVisible(true);frame.setBounds(0, 0, 400, 400);/*** 窗口监听事件*/frame.addWindowListener(new WindowAdapter() {@Overridepublic void windowClosing(WindowEvent e) {System.out.println("窗口被关闭了");System.exit(0);}@Overridepublic void windowActivated(WindowEvent e) {System.out.println("窗口被激活了");}});}

画笔Paint

public class MyPaint extends Frame {public void loadFrame(){setBounds(0,0,600,400);setVisible(true);}@Overridepublic void paint(Graphics g) {//设置画笔的颜色g.setColor(Color.RED);//设置画一个圆圈g.drawOval(50,100,50,50);//画实心圆g.fillOval(100,100,50,50);//重新设置画笔的颜色g.setColor(Color.GREEN);//画实心矩形g.fillRect(150,100,100,50);}
}

在别的类中,启动

    public static void main(String[] args) {new MyPaint().loadFrame();}

Swing

Jframe

http://www.15wanjia.com/news/183241.html

相关文章:

  • 英国网站后缀wordpress借贷
  • 苏州哪家做网站好些什么是响应网站设计
  • 景区网站建设 现状百度ai智能写作工具
  • 网站 配色方案软件制作过程
  • 建设高校实验室教学网站的作用html5网站后台页面设计
  • 图片上传 网站建设教学视频教程旅游网站开发需求分析
  • 阿里云网站域名证书wordpress标签标题
  • 正规漫画网站开发流程网站建设一定要买数据盘吗
  • 网站开发软件是什么专业哈尔滨模板自助建站
  • 网站服务器可以做家用电脑备案资料 网站建设方案书
  • 做网站制作怎么样小制作大全简单又漂亮
  • 建设一个网站得多少钱自己做app难吗
  • 跨境电商网站制作建筑设计公司职位有哪些
  • 基本的网站开发技术建立了公司网站
  • asp网站助手成品影视app开发制作
  • 注册做网站的营业执照开发一个微信小程序多少费用
  • 做海报的网站有哪些内容网站建设完整步骤
  • 三只松鼠网站谁做的怎么区分用vs和dw做的网站
  • 视频解析网站怎么做美食网站建设的必要性
  • 图片展示型网站模板下载建设淘宝客网站.lc和ev
  • 青岛企业建设网站企业怎么做提卡密网站
  • 单位网站建设实施方案wordpress 文件地址
  • 室内设计网站源码下载优秀网站评析
  • 太原cms模板建站如何做电影网站挣钱
  • 六盘水做网站如何做亚马逊备案的网站
  • 网站建设设计公司哪家好火车头wordpress发布模块4.9
  • 云南省建设厅专家注册网站手动安装wordpress主题
  • 济南资海网站建设公司广州市南沙区基本建设办公室网站
  • 网站系统怎么做的招聘网站开发价格
  • 帝国cms的手机网站百度推广关键词排名在哪看