Java Swing程序界面设计的方法
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,今天小编给大家分享一下Java Swing程序界面设计的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面
千家信息网最后更新 2025年01月19日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安全错误
数据库的锁怎样保障安全
中化集团互联网科技公司
数据库技术及应用实验六报告
5g带来的网络安全问题
软件开发工具济南代理商
生命徽章数据库
网吧服务器自动死机是怎么回事
德宏州广电网络安全培训
有人说软件开发需要100人天
网络安全每年至少评估几次
sql数据库正常工作
武汉游龙互联网科技
网络安全经历的阶段
在数据库中删除元组用到的
山东大学生网络安全大赛获奖名单
嘉兴手机软件开发中心
aspx操作数据库
诺亚传说服务器
广电网络服务器起黄灯
保定APP软件开发招聘信息
信息技术的多媒体和网络技术
历代登科进士数据库使用
开学典礼日记软件开发
确保网络安全宣传
渝中区网络软件开发流程参考价
网络安全为国为民建设方案
象山一站式软件开发企业
ob9 数据库
计算机数据库知识
网络安全和隐私问题 英语
湖州物流软件开发费用