iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java Swing程序设计实战
  • 805
分享到

Java Swing程序设计实战

2024-04-02 19:04:59 805人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录一、按钮组件1.1 提交按钮组件1.2 复选框组件二、列表组件2.1 JComboBox类2.2 列表框组件三、文本组件3.1 文本框组件3.2 密码框3.3 文本域组件四、常用

一、按钮组件

1.1 提交按钮组件


package swing;

import java.awt.*;
import java.awt.event.*;
import java.net.*;

import javax.swing.*;

public class JButtonTest extends JFrame {
	
	private static final long serialVersionUID = 1L;

	public JButtonTest() {
		URL url = JButtonTest.class.getResource("imageButton.jpg");
		Icon icon = new ImageIcon(url);
		setLayout(new GridLayout(3, 2, 5, 5)); // 设置网格布局管理器
		Container c = getContentPane(); // 创建容器
		for (int i = 0; i < 5; i++) {
			// 创建按钮,同时设置按钮文字与图标
			JButton J = new JButton("button" + i, icon);
			c.add(J); // 在容器中添加按钮
			if (i % 2 == 0) {
				J.setEnabled(false); // 设置其中一些按钮不可用
			}
		}
		JButton jb = new JButton(); // 实例化一个没有文字与图片的按钮
		jb.setMaximumSize(new Dimension(90, 30)); // 设置按钮与图片相同大小
		jb.setIcon(icon); // 为按钮设置图标
		jb.setHideactionText(true);
		jb.setToolTipText("图片按钮"); // 设置按钮提示为文字
		jb.setBorderPainted(false); // 设置按钮边界不显示
		jb.addActionListener(new ActionListener() { // 为按钮添加监听事件
			public void actionPerfORMed(ActionEvent e) {
				// 弹出确认对话框
				JOptionPane.showMessageDialog(null, "弹出对话框");
			}
		});
		c.add(jb); // 将按钮添加到容器中

		setTitle("创建带文字与图片的按钮");
		setSize(350, 150);
		setVisible(true);
		setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
	}

	public static void main(String args[]) {
		new JButtonTest();
	}
}

在这里插入图片描述

1.2 复选框组件


import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class CheckBoxTest extends JFrame {

    
    private static final long serialVersionUID = 1L;
    private JPanel panel1 = new JPanel();
    private JPanel panel2 = new JPanel();
    private JTextArea jt = new JTextArea(3, 10);
    private JCheckBox jc1 = new JCheckBox("1");
    private JCheckBox jc2 = new JCheckBox("2");
    private JCheckBox jc3 = new JCheckBox("3");
    public CheckBoxTest() {
        Container c = getContentPane();

        c.setLayout(new BorderLayout());

        c.add(panel1, BorderLayout.NORTH);
        final jscrollPane scrollPane = new JScrollPane(jt);
        panel1.add(scrollPane);

        c.add(panel2, BorderLayout.SOUTH);
        panel2.add(jc1);
        jc1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                if (jc1.isSelected())
                    jt.append("复选框1被选中\n");
            }
        });

        panel2.add(jc2);
        jc2.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                if (jc2.isSelected())
                    jt.append("复选框2被选中\n");
            }
        });

        panel2.add(jc3);
        jc3.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                if (jc3.isSelected())
                    jt.append("复选框3被选中\n");
            }
        });

        setSize(200, 160);
        setVisible(true);
        setTitle("复选框的使用");
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {
        new CheckBoxTest();

    }

}

在这里插入图片描述

二、列表组件

2.1 JComboBox类


import java.awt.*;
import javax.swing.*;

public class JComboBoxModelTest extends JFrame {
	private static final long serialVersionUID = 1L;
	JComboBox<String> jc = new JComboBox<>(new MyComboBox());
	JLabel jl = new JLabel("请选择证件");

	public JComboBoxModelTest() {
		setSize(new Dimension(160, 180));
		setVisible(true);
		setTitle("在窗口中设置下拉列表框");
		setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
		Container cp = getContentPane();
		cp.setLayout(new FlowLayout());
		cp.add(jl);
		cp.add(jc);
	}

	public static void main(String[] args) {
		new JComboBoxModelTest();

	}

}

class MyComboBox extends AbstractListModel<String> implements ComboBoxModel<String> {
	
	private static final long serialVersionUID = 1L;
	String selecteditem = null;
	String[] test = { "身份证", "军人证", "学生证", "工作证" };

	public String getElementAt(int index) {
		return test[index];
	}

	public int getSize() {
		return test.length;
	}

	public void setSelectedItem(Object item) {
		selecteditem = (String) item;
	}

	public Object getSelectedItem() {
		return selecteditem;
	}

	public int getIndex() {
		for (int i = 0; i < test.length; i++) {
			if (test[i].equals(getSelectedItem()))
				return i;
		}
		return 0;
	}
}

在这里插入图片描述

2.2 列表框组件


import java.awt.*;

import javax.swing.*;

public class JListTest extends JFrame {
	
	private static final long serialVersionUID = 1L;

	public JListTest() {
		Container cp = getContentPane();
		
		cp.setLayout(null);
		JList<String> jl = new JList<>(new MyListModel());
		JScrollPane js = new JScrollPane(jl);
		js.setBounds(10, 10, 100, 100);
		cp.add(js);
		setTitle("在这个窗体中使用了列表框");
		setSize(200, 150);
		setVisible(true);
		setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
	}
	
	public static void main(String args[]) {
		new JListTest();
	}
}

class MyListModel extends AbstractListModel<String> {
	
	private static final long serialVersionUID = 1L;
	private String[] contents = { "列表1", "列表2", "列表3", "列表4", "列表5", "列表6" };
	
	public String getElementAt(int x) {
		if (x < contents.length)
			return contents[x++];
		else
			return null;
	}
	
	public int getSize() {
		return contents.length;
	}
}

在这里插入图片描述

三、文本组件

3.1 文本框组件


import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class JTextFieldTest extends JFrame {

	
	private static final long serialVersionUID = 1L;

	public JTextFieldTest() {
		setSize(250, 100);
		setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
		Container cp = getContentPane();
		getContentPane().setLayout(new FlowLayout());
		final JTextField jt = new JTextField("aaa", 20);
		final JButton jb = new JButton("清除");
		cp.add(jt);
		cp.add(jb);
		jt.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				// TODO 自动生成方法存根
				jt.setText("触发事件");
			}
		});
		jb.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				jt.setText("");
				jt.requestFocus();
			}
		});
		setVisible(true);
	}

	public static void main(String[] args) {
		new JTextFieldTest();
	}
}

在这里插入图片描述

3.2 密码框


import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class JTextFieldTest extends JFrame {

	
	private static final long serialVersionUID = 1L;

	public JTextFieldTest() {
		setSize(250, 100);
		setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
		Container cp = getContentPane();
		getContentPane().setLayout(new FlowLayout());
//		final JTextField jt=new JTextField("aaa",20);
		JPassWordField jp = new JPasswordField("", 20);
		jp.setEchoChar('*');
		final JButton jb = new JButton("清除");

		cp.add(jp);
		cp.add(jb);
		jp.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				// TODO 自动生成方法存根
				jp.setText("触发事件");
			}
		});
		jb.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				jp.setText("");
				jp.requestFocus();
			}
		});
		setVisible(true);
	}

	public static void main(String[] args) {
		new JTextFieldTest();
	}
}

在这里插入图片描述

3.3 文本域组件


import java.awt.*;
import javax.swing.*;

public class JTextAreaTest extends JFrame {
	public JTextAreaTest() {
		setSize(200, 100);
		setTitle("定义自动换行的文本域");
		setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
		Container cp = getContentPane();
		JTextArea jt = new JTextArea("文本域", 6, 6);
		jt.setLineWrap(true);
		cp.add(jt);
		setVisible(true);
	}

	public static void main(String[] args) {
		new JTextAreaTest();

	}

}

在这里插入图片描述

四、常用时间监听器

4.1 动作事件监听器


import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class SimpleEvent extends JFrame {

	
	private static final long serialVersionUID = 1L;
	private JButton jb = new JButton("我是按钮,点击我");

	public SimpleEvent() {
		setLayout(null);
		setSize(200, 100);
		setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
		Container cp = getContentPane();
		cp.add(jb);
		jb.setBounds(10, 10, 100, 30);
		jb.addActionListener(new jbAction());
		setVisible(true);
	}

	class jbAction implements ActionListener {
		public void actionPerformed(ActionEvent arg0) {
			jb.setText("我被单击了");
		}
	}

	public static void main(String[] args) {
		new SimpleEvent();
	}
}

在这里插入图片描述

在这里插入图片描述

4.2 焦点事件监听器


import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class FocusEventTest extends JFrame {

	
	private static final long serialVersionUID = 1L;

	public FocusEventTest() {
		setSize(250, 100);
		setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
		Container cp = getContentPane();
		getContentPane().setLayout(new FlowLayout());

		final JLabel label = new JLabel();
		getContentPane().add(label);
		JTextField jt = new JTextField("请单击其他文本框", 10);
		JTextField jt2 = new JTextField("请单击我", 10);
		cp.add(jt);
		cp.add(jt2);
		jt.addFocusListener(new FocusListener() {
			// 组件失去焦点时调用的方法
			public void focusLost(FocusEvent arg0) {
				JOptionPane.showMessageDialog(null, "文本框失去焦点");
			}

			// 组件获取键盘焦点时调用的方法
			public void focusGained(FocusEvent arg0) {
			}
		});
		setVisible(true);
	}

	public static void main(String[] args) {
		new FocusEventTest();
	}

}

在这里插入图片描述
在这里插入图片描述

到此这篇关于JavaSwing实现程序界面设计的文章就介绍到这了,更多相关JavaSwing程序界面设计内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java Swing程序设计实战

本文链接: https://www.lsjlt.com/news/126263.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java Swing程序设计实战
    目录一、按钮组件1.1 提交按钮组件1.2 复选框组件二、列表组件2.1 JComboBox类2.2 列表框组件三、文本组件3.1 文本框组件3.2 密码框3.3 文本域组件四、常用...
    99+
    2024-04-02
  • Java Swing实战指南:创建交互式应用程序
    Java Swing 是一个健壮且可扩展的 GUI 库,用于创建跨平台的桌面应用程序。本指南将指导您使用 Swing 创建交互式且用户友好的应用程序。 1. Swing 组件简介 容器: 容纳其他组件的组件,如 JFrame、JPane...
    99+
    2024-04-02
  • Java程序设计基础实验一Java简单程序设计
    实验一 JAVA简单程序设计 一、实验目的 1.掌握Java应用程序的三个步骤:编写源文件、编译源文件和运行应用程序。 2.掌握同时编译多个Java文件。 3.掌握char型数据和int型数据之间的相互转换,同时了解Unicode字符表。 ...
    99+
    2023-10-11
    java
  • Java Swing实现坦克大战游戏
    目录一、引言二、效果图三、实现四、完成一、引言 90坦克大战,很经典的一款游戏,当年与小伙伴一人一个手柄,搬上小板凳坐在电视机前,身体时不时跟随手柄摇晃着,时而表情严肃、眉头紧锁,时...
    99+
    2024-04-02
  • C语言实现飞机大战程序设计
    本文实例为大家分享了C语言实现飞机大战的具体代码,供大家参考,具体内容如下 作业要求: 1.游戏当中出现多类型敌人2.游戏中能进行存档和读档3.玩家控制的飞机由多字符组成4.游戏过程...
    99+
    2024-04-02
  • java实现日历应用程序设计
    本文实例为大家分享了java实现日历应用程序设计的具体代码,供大家参考,具体内容如下 1、效果和要求 *在文本框inputYear中输入年份,验证年份的有效性;按回车键后,显示输入...
    99+
    2024-04-02
  • Java+swing实现抖音上的表白程序详解
    目录1.准备工作2.界面窗体的设计与实现3.对按钮加上监听事件4.设置滚按钮的层级为最上面5.为界面添加一首背景音乐6.源代码带你手把手,用 java swing实现抖音上的表白程序...
    99+
    2024-04-02
  • JAVA实验二 面向对象程序设计
    一、实验目的 通过编程和上机实验,掌握类和构造方法的定义及创建对象的方法,掌握类的封装及继承原则,正确使用重载和覆盖等多态概念设计可复用方法,熟悉包、接口的使用方法,掌握面向对象的程序设计方法。 ...
    99+
    2023-10-25
    java jvm 开发语言
  • Java实战之用Swing实现通讯录管理系统
    一、系统介绍  1.系统功能 登录系统 查询信息 新增信息 修改信息 删除信息 2.环境配置 JDK版本:1.8 Mysql:8...
    99+
    2024-04-02
  • 超市购物程序设计(java)
    编写一个超市购物程序,在一家超市有牙刷、毛巾、水杯、苹果和香蕉五种商品,用户输入商品序列号进行商品购买,用户输入购买数量后计算出所需要花费的钱,一次购买结束后,需要用户输入“Y”或“N”,“Y”代表继续购买,“N”代表购物结束。商品价格如下...
    99+
    2023-10-24
    java jvm servlet
  • Java分支结构程序设计实例详解
    1.从键盘输入三个整数分别存入num1,num2,num3,对他们进行排序,并且从小到大输出。 import java.util.Scanner; public class Comp...
    99+
    2024-04-02
  • 怎么用Java+swing实现抖音上的表白程序
    本篇内容介绍了“怎么用Java+swing实现抖音上的表白程序”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.准备工作a.需要下载一个带着...
    99+
    2023-07-02
  • java如何实现日历应用程序设计
    这篇“java如何实现日历应用程序设计”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“java如何实现日历应用程序设计”文章吧...
    99+
    2023-07-02
  • java设计模式(实战)-责任链模式
    目录一:模式说明二:项目实战三:源代码一:模式说明 模式定义:使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,...
    99+
    2024-04-02
  • Java多线程程序设计入门(转)
    Java多线程程序设计入门(转)[@more@]在Java语言产生前,传统的程序设计语言的程序同一时刻只能单任务操作,效率非常低,例如程序往往在接收数据输入时发生阻塞,只有等到程序获得数据后才能继续运行。随着Internet的迅猛发展,这种...
    99+
    2023-06-03
  • Java Swing设计模式之美:创建可扩展的GUI
    模型-视图-控制器 (MVC) MVC 模式将应用程序逻辑分解为三个独立组件: 模型:表示应用程序的数据和状态。 视图:以图形方式呈现模型的数据。 控制器:处理用户输入并更新模型。 MVC 分离了表示和逻辑,允许轻松更新 GUI 而不...
    99+
    2024-04-02
  • java swing怎么实现简单计算器界面
    这篇文章主要介绍“java swing怎么实现简单计算器界面”,在日常操作中,相信很多人在java swing怎么实现简单计算器界面问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java&...
    99+
    2023-06-30
  • Java实战之基于swing的QQ邮件收发功能实现
    目录一、电子邮件详解二、邮件发送三、邮件接收四、导包一、电子邮件详解 假设自己的电子邮件是me@163.com,对方的邮件是you@163.com 我们编写好文件填写好对...
    99+
    2024-04-02
  • Java实战项目之毕业设计管理系统的实现流程
    一、项目简述 功能包括: 该系统不错分为学生,教师,管理员,教导主任四种角 色,包括学生管理,教师管理,学生选题,教师选题,主 任审核,管理员审核,开题报告,中期检查,论文提交, 文...
    99+
    2024-04-02
  • python3.5程序设计
    Python语言的特点有:易于学习:语法和结构简单,学习起来更加简单。易于阅读:Python代码定义更清晰。易于维护:源代码是相当容易维护的。广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Ma...
    99+
    2023-01-30
    程序设计
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作