Java Swing程序界面设计的方法
发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,今天小编给大家分享一下Java Swing程序界面设计的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面
千家信息网最后更新 2025年11月12日Java Swing程序界面设计的方法
今天小编给大家分享一下Java Swing程序界面设计的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
一、按钮组件
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被选中"); } }); panel2.add(jc2); jc2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (jc2.isSelected()) jt.append("复选框2被选中"); } }); panel2.add(jc3); jc3.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (jc3.isSelected()) jt.append("复选框3被选中"); } }); 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 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 implements ComboBoxModel { /** * */ 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 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 { /** * */ 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(); }}以上就是"Java Swing程序界面设计的方法"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。
按钮
组件
方法
事件
复选框
图片
文字
文本
焦点
知识
篇文章
监听
容器
监听器
本域
界面
界面设计
程序
设计
内容
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
sql数据库的安全性是指
服务器内置高速线缆
php pc软件开发
桂阳学it软件开发学校
网络安全法 证券
服务器 股
团队软件开发域模式
便宜软件开发哪家好
数据库多字段排序时的优先级
网络安全等级7级
全椒县网络安全学费
服务器中标价
软件开发人员工时评估
书籍 数据库
石家庄网络技术价格
数据库指定pfile文件
孽子下载软件开发
教材选购数据库 mysql
信息网络安全分析评估的方法
复垣互联网科技
飞鸿App数据库是骗子吗
美国租服务器怎么样
安卓软件开发技术
永久服务器
服务器联赛冠军奖励
php导入数据库网页不显示
软件开发需求量化评估案例
数据库计数加锁
数据库sql怎么导入工程项目
网络安全班会的心得体会