WindowBuilder的使用----java前端的重要框架

在做一些小demo的时候,需要可视化界面,需要引用swing、awt等包,需要记忆的很多。安装windowsbuilder插件可以更简单的实现java的可视化编程,利用拖拽就可以实现界面分布,不需要记忆太多,只要记住组件的用途就好。
windowbuilder有两个界面,一个是sourse界面,用于编写代码和查看生成的代码。一个是design界面,可视化布局区域。
design界面有几个主要用户接口,structure和palette。
structure 分成 Components:组件之间的层次关系 和properties:显示组件事件和属性。
patelle : 提供了快速便捷的组件来拖拽使用,


进入design开始制作
1、做标签

2、只可读入的文本框

3、可输入的文本框

在代码区添加输入代码

4、密码输入

5、单项选择

6、多项选择

7、下划菜单

8、给按钮添加事件监听


点击之后,会自动跳到代码区

界面跳转需要在两个类的代码里实例化

9、添加背景
选择背景团片所在位置即可

运行结果

点击确定

结语 这是一款非常好用的插件,它可以节省大量的敲打代码的时间,而且修改非常方便。

代码
package firstday;
import java.awt.EventQueue;
import javax.swing.JRadioButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import java.awt.Font;
import java.awt.Color;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JPasswordField;
import javax.swing.ImageIcon;

public class FirstDay extends JFrame {
public static FirstDay firstday1 = new FirstDay();// 实例化

private JPanel contentPane;
private JTextField textField_1;
private JTextField textField_2;
private JTextField textField;
private JPasswordField passwordField;/*** Launch the application.*/
public static void main(String[] args) {EventQueue.invokeLater(new Runnable() {public void run() {try {FirstDay frame = new FirstDay();frame.setVisible(true);} catch (Exception e) {e.printStackTrace();}}});
}/*** Create the frame.*/
public FirstDay() {setFont(new Font("Bookman Old Style", Font.BOLD | Font.ITALIC, 12));setBackground(Color.LIGHT_GRAY);setTitle("\u5B66\u751F\u4FE1\u606F");setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 100, 450, 300);contentPane = new JPanel();contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));setContentPane(contentPane);contentPane.setLayout(null);JLabel label = new JLabel("学校");label.setBounds(10, 10, 37, 15);contentPane.add(label);JLabel label_1 = new JLabel("学号");label_1.setFont(new Font("宋体", Font.BOLD, 12));label_1.setBounds(10, 53, 54, 15);contentPane.add(label_1);textField_1 = new JTextField();textField_1.setBounds(82, 50, 107, 21);contentPane.add(textField_1);textField_1.setColumns(10);JLabel label_2 = new JLabel("姓名");label_2.setBounds(10, 93, 54, 15);contentPane.add(label_2);textField_2 = new JTextField();textField_2.setBounds(82, 90, 107, 21);contentPane.add(textField_2);textField_2.setColumns(10);JLabel label_3 = new JLabel("性别");label_3.setBounds(10, 131, 54, 15);contentPane.add(label_3);JRadioButton radioButton = new JRadioButton("男");radioButton.setBounds(83, 127, 73, 23);contentPane.add(radioButton);JRadioButton radioButton_1 = new JRadioButton("女");radioButton_1.setBounds(187, 127, 88, 23);contentPane.add(radioButton_1);JLabel label_4 = new JLabel("爱好");label_4.setFont(new Font("宋体", Font.BOLD, 12));label_4.setBounds(10, 166, 54, 15);contentPane.add(label_4);JCheckBox checkBox = new JCheckBox("游泳");checkBox.setBounds(84, 162, 54, 23);contentPane.add(checkBox);JCheckBox checkBox_1 = new JCheckBox("跑步");checkBox_1.setBounds(140, 162, 54, 23);contentPane.add(checkBox_1);JCheckBox checkBox_2 = new JCheckBox("唱歌");checkBox_2.setBounds(196, 162, 54, 23);contentPane.add(checkBox_2);JCheckBox checkBox_3 = new JCheckBox("篮球");checkBox_3.setBounds(252, 162, 49, 23);contentPane.add(checkBox_3);JComboBox comboBox = new JComboBox();comboBox.setModel(new DefaultComboBoxModel(new String[] {"计科", "软工", "智科", "信安", "信抗"}));comboBox.setBounds(83, 202, 72, 21);contentPane.add(comboBox);JLabel label_5 = new JLabel("专业");label_5.setFont(new Font("宋体", Font.BOLD, 12));label_5.setForeground(new Color(51, 51, 0));label_5.setBounds(10, 205, 37, 15);contentPane.add(label_5);JButton button = new JButton("\u767B\u5F55");button.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {//事件接听                                                                                                                                                                                                                                                                                       String id = textField_1.getText();String pass = passwordField.getText();System.out.println(id);System.out.println(pass);if (id.equals("1900300101") && pass.equals("1900300101")) {//没有连接数据库,直接定义账号密码均为1900300101JOptionPane.showMessageDialog(null, "登录成功");//提示框firstday1.setVisible(false);//实现界面跳转Enter.enter.setVisible(true);}else{JOptionPane.showMessageDialog(null, "登录失败");}}});button.setBounds(152, 233, 124, 23);contentPane.add(button);textField = new JTextField();textField.setText("桂林电子科技大学");textField.setBounds(72, 7, 107, 21);contentPane.add(textField);textField.setColumns(10);passwordField = new JPasswordField();passwordField.setBounds(306, 50, 118, 21);contentPane.add(passwordField);JLabel lblNewLabel = new JLabel("\u5BC6\u7801");lblNewLabel.setFont(new Font("宋体", Font.BOLD, 12));lblNewLabel.setBounds(258, 53, 37, 15);contentPane.add(lblNewLabel);JLabel lblNewLabel_1 = new JLabel("New label");lblNewLabel_1.setIcon(new ImageIcon("C:\\Users\\MeiMei\\Desktop\\2.jpg"));lblNewLabel_1.setBounds(0, 0, 434, 256);contentPane.add(lblNewLabel_1);
}

}

package firstday;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import java.awt.Font;
import javax.swing.ImageIcon;

public class Enter extends JFrame {
public static Enter enter = new Enter();// 实例化

private JPanel contentPane;/*** Launch the application.*/
public static void main(String[] args) {EventQueue.invokeLater(new Runnable() {public void run() {try {Enter frame = new Enter();frame.setVisible(true);} catch (Exception e) {e.printStackTrace();}}});
}/*** Create the frame.*/
public Enter() {setTitle("\u767B\u5F55\u7ED3\u679C");setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 100, 450, 300);contentPane = new JPanel();contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));setContentPane(contentPane);contentPane.setLayout(null);JLabel lblNewLabel = new JLabel("\u606D\u559C\u4F60\u767B\u5F55\u6210\u529F\uFF01\uFF01\uFF01");lblNewLabel.setFont(new Font("宋体", Font.PLAIN, 20));lblNewLabel.setBounds(151, 23, 200, 36);contentPane.add(lblNewLabel);JLabel lblNewLabel_1 = new JLabel("New label");lblNewLabel_1.setIcon(new ImageIcon("C:\\Users\\MeiMei\\Desktop\\1.jpg"));lblNewLabel_1.setBounds(0, 0, 434, 261);contentPane.add(lblNewLabel_1);
}

}

WindowBuilder的使用----java前端的重要框架相关推荐

  1. java前端长连接框架_Java中Spring Boot+Socket实现与html页面的长连接实例详解

    Spring Boot+Socket实现与html页面的长连接,客户端给服务器端发消息,服务器给客户端轮询发送消息,附案例源码 功能介绍 客户端给所有在线用户发送消息客户端给指定在线用户发送消息服务器 ...

  2. java前端长连接框架_Java如何实现长连接

    实现原理: 长连接的维持,是要客户端程序,定时向服务端程序,发送一个维持连接包的. 如果,长时间未发送维持连接包,服务端程序将断开连接. 客户端: Client通过持有Socket的对象,可以随时(使 ...

  3. Java后端以及web前端及echarts框架词云分析

    运用Java后端以及web前端及echarts框架词云分析做出数据分析统计可视化展示. 以下为我的项目展示截图: 开发环境: 集成开发环境(IDE):IntelliJ IDEA 2021 服务器:To ...

  4. java前端框架有哪些( 目前java主流开发框架是哪个)

    1 SpringMVC 基本原理流程,3个线程以及之间的关联:Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想 ...

  5. 开源至上:java前端框架排行

    java基础 1.1java的8种基本数据类型装箱拆箱 1.2重写重载封装继承多态 1.3 Stack Queue 1.7 Concurrent包 1.8面向对象 1.9 String StringB ...

  6. 前端那么多框架,我们到底学哪一个

    不知道从何时开始,前端居然被框架统治了.这是一个不太好的现象,这会让很多学生直接忽略掉前端经典三板斧HTML+CSS+JS,毕竟说到底,基本所有前端框架都是由这个三个知识扩展的. 我也不否认,运用框架 ...

  7. Day 30: Play Framework —— Java开发者的梦想框架

    今天是最后一天,我决定学习一下 Play 框架.原本是想写关于Scala的,学习了几个小时之后发现在一天之内是不可能完成Scala的,所以今天会介绍一下Play框架的基本知识,然后学习如何用它开发应用 ...

  8. Java面试之五大框架的理解

    五大框架(springMVC,struts2,spring,mybatis,hibernate) 说说你对springMVC框架的理解? 简要口述(如果感觉说的少可以在完整答案里面挑几条说) Spri ...

  9. Web前端三大主流框架是什么?Web前端前景与就业形势

    近十年以来,IT行业发展火热,衍生了很多新职业,例如UI设计师.开发工程师.软件测试工程师等等,在众多备受瞩目的新生职业中,Web前端工程师是其中的一员.那么Web前端三大主流框架是什么呢? 一.We ...

  10. java毕业设计基于spring框架的论坛网站项目设计和源码

    一.主题 榴莲社区--java开发基于spring框架的论坛网站,基于spring框架的论坛网站项目设计和项目 源 码 免 费下 载 链 接 如 下:  毕业设计项目基于spring框架的论坛网站源码 ...

最新文章

  1. 一文读懂如何通过设计模式学习创建对象?
  2. File类 读取文件
  3. 简单超级组计划 打造强悍手臂
  4. java 检测ip网速_java心跳测网速Demo
  5. SpringCloud微服务:Sentinel哨兵组件,管理服务限流和降级
  6. liunx下NetworkManager导致网卡不能启动
  7. 函数用法r语言_R语言中的apply函数族
  8. liux环境下配置jdk
  9. php自学笔记四扫雷完成
  10. Day002-2021-07-30 String常用API
  11. cacti graphs new.php,Cacti /graphs_new.php SQL Injection Vulnerability
  12. hibernate数据检索策略
  13. 纸小墨ink简洁主题story爱上你的故事
  14. surface pro5双系统(ubuntu)的适配问题大全
  15. 重新定义公司:谷歌是如何运营的
  16. C#编写自定义Excel公式计算非均匀现金流的NPV与IRR
  17. 防伪防窜货追溯系统解决方案 定制开发
  18. Wordpress文章内容的各种调用
  19. c2000 电阻采样_采样电阻选型
  20. ZK的currentElapsedTime

热门文章

  1. 飞行堡垒FX80GM热键无反应与触摸板无法使用
  2. mysql数据库基础知识--入门必看
  3. 数学建模13种常见方法
  4. 【毕业设计】基于单片机的指纹识别考勤系统 - 物联网 stm32
  5. SoapUI测试webservice接口
  6. 基于PHP+MySQL的物流配送管理系统平台
  7. HTML简单的网页代码编写
  8. 一份好的商业计划书该怎么写
  9. 9、网友问答----有关清零问题------------------labview宝典
  10. 网络安全问题及防护措施有哪些