首页编程java编程java+swing管理系统设计,java swing还有人用吗

java+swing管理系统设计,java swing还有人用吗

编程之家2026-06-041147次浏览

很多朋友对于java+swing管理系统设计和java swing还有人用吗不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

java+swing管理系统设计,java swing还有人用吗

用java设计一个数据库管理系统

import java.sql.*;

import java.awt.*;

import javax.swing.*;

import javax.swing.table.*;

//import java.awt.event.*;

public class DisplayDemo extends JFrame

java+swing管理系统设计,java swing还有人用吗

//implements ActionListener

{

// private String dbURL="jdbc:microsoft:sqlserver://202.115.26.181:1433";//数据库标识名

private String user="devon";//数据库用户

private String password="book";//数据库用户密码

private JTable table;

java+swing管理系统设计,java swing还有人用吗

private JButton ok,canel;

public DisplayDemo(){

super("显示数据库查询结果");//调用父类构造函数

String[] columnNames={"用户名","年龄","性别","Email"};//列名

Object[][] rowData=new Object[5][4];//表格数据

ok=new JButton("确定");

canel=new JButton("取消");

// ok.addActionListener(this);

// canel.addActionListener(this);

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection con=DriverManager.getConnection("jdbc:odbc:example","sa","");

// Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//加载驱动器

// Connection con=DriverManager.getConnection(dbURL,user,password);//获取连接

String sqlStr="select* from users";//查询语句

PreparedStatement ps=con.prepareStatement(sqlStr);//获取PreparedStatement对象

ResultSet rs=ps.executeQuery();//执行查询

String name,sex,email;//查询结果

int age;

int count=0;

while(rs.next()){//遍历查询结果

rowData[count][0]=rs.getString("name");//初始化数组内容

rowData[count][1]=Integer.toString(rs.getInt("age"));

rowData[count][2]=rs.getString("sex");

rowData[count][3]=rs.getString("email");

count++;

}

con.close();//关闭连接

}

catch(Exception ex){

ex.printStackTrace();//输出出错信息

}

Container container=getContentPane();//获取窗口容器

//container.setLayout(null);

container.add(ok);container.add(canel); ok.setBounds(10,120,70,20);

canel.setBounds(100,120,70,20);

table=new JTable(rowData,columnNames);//实例化表格

table.getColumn("年龄").setMaxWidth(25);//设置行宽

container.add(new JScrollPane(table),BorderLayout.CENTER);//增加组件

setSize(300,200);//设置窗口尺寸

setVisible(true);//设置窗口可视

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口时退出程序

}

public static void main(String[] args){

new DisplayDemo();

}

}

-----------------

这是其中一个例子你照着上面做就可以了

JavaSwing图形界面开发与案例详解的作品目录

第1章JavaSwing概述

1.1什么是JavaSwing

1.1.1Swing的发展史

1.1.2Swing的功能

1.1.3Swing的特性

1.2.1avaSwing的包结构

1.3一个JavaSwing程序实例

1.4本章小结

1.5本章习题

第2章如何使用IDE开发Swing程序

2.1如何利用Eclipse开发Swing程序

2.2如何利用JBuilder开发Swing程序

2.3如何利用NetBeans开发Swing程序

2.4本章小结

2.5本章习题

第3章JavaSwirlg组件基础

3.1Swing组件类的层次

3.2Window类

3.2.1顶层容器类和包含层次

3.2.2在顶层容器中添加组件

3.2.3在顶层容器中添加菜单栏

3.3JComponent类

3.4本章小结

3.5本章习题

第4章如何使用标签和按钮组件

4.1如何使用标签

4.2如何使用按钮

4.2.1如何使用普通按钮

4.2.2如何使用单选按钮

4.2.3如何使用复选框

4.2.4按钮组件的实例应用

4.3本章小结

4.4本章习题

第5章如何使用布局管理器组件

5.1布局管理器概述

5.2布局管理器的种类

5.2.1BorderLayout

5.2.2FlowLayout

5.2.3GridLayout

5.2.4GridBagLayout

5.2.5CardLayout

5.2.6BoxLayout

5.2.7SpringLayout

5.2.8GroupLayout

5.3自定义布局管理器的创建

5.4本章小结

5.5本章习题

第6章如何使用面板组件

6.1如何使用JPanel

6.2如何使用JScrollPane

6.3如何使用JSplitPane

6.4如何使用JTabbedPane

6.5如何使用JIntemalFrame

6.6如何使用JLayeredPane

6.7如何使用JRootPane

6.8本章小结

6.9本章习题

第7章Swirlg事件处理机制

7.1Swing事件处理机制概述

7.2Swing中的监听器

7.2.1事件处理的过程与步骤

7.2.2匿名类方式处理事件

7.2.3适配器类

7.2.4Swing所支持的事件监听器

7.2.5窗口事件的处理

7.2.6动作事件的处理

7.2.7焦点事件的处理

7.3本章小结

7.4本章习题

第8章如何使用列表框和下拉列表框组件

8.1如何使用列表框JList

8.1.1使用数组方式创建列表框

8.1.2使用Vector方式创建列表框

8.1.3使用ListModel方式创建列表框

8.1.4列表框选取事件的处理

8.1.5列表框双击事件的处理

8.2如何使用下拉列表框JComboBox

8.2.1使用数组和Vector创建下拉列表框

8.2.2使用ComboBoxModel创建下拉列表框

8.2.3下拉列表框的事件处理

8.3本章小结

8.4本章习题

第9章如何使用进度条、时间、滑块和分隔条组件

9.1如何使用进度条组件JProgressBar

9.2如何使用时间组件Timer

9.3如何使用滑块组件JSlider

9.4如何使用分隔条组件JSeparator

9.5本章小结

9.6本章习题

第10章如何使用选取器组件

10.1如何使用文件选取器JFileChooser

10.1.1如何创建JFileChooser组件

10.1.2如何创建JFileChooser对话框

10.2如何使用颜色选取器JColorChooser

10.3本章小结

10.4本章习题

第11章如何使用文本组件

11.1文本组件概述

11.2如何使用普通文本组件

11.2.1如何使用JTextField

11.2.2如何使用JPasswordField

11.2.3如何使用JFormattedTextField

11.3如何使用文本区组件

11.4如何打印文本组件

11.5本章小结

11.6本章习题

第12章如何使用窗口、对话框和JApplet组件

12.1如何使用窗口组件

12.2如何使用对话框组件

12.3如何使用JApplet组件

12.4本章小结

12.5本章习题

第13章如何使用菜单和工具条组件

13.1如何使用菜单组件

13.1.1菜单组件的类层次

13.1.2如何创建菜单

13.1.3如何处理菜单事件

13.1.4如何响应键盘操作

13.1.5如何使用弹出式菜单

13.1.6如何使用菜单项的启用和禁用功能

13.1.7如何创建复选框菜单项

13.1.8如何创建单选按钮菜单项

13.1.9如何定义个性化菜单

13.1.10菜单组件的常用API

13.2如何使用工具条组件

13.2.1如何创建工具条

13.2.2如何定义个性化工具条

13.2.3工具条组件的常用API

13.3本章小结

13.4本章习题

第14章如何使用表格组件

14.1如何创建一个表格

14.2如何把表格加入容器

14.3如何设置表格列宽

14.4如何创建表格模型

14.5如何监听数据变化

14.6如何使用选择器

14.7如何使用编辑器和渲染器

14.8如何使用自定义渲染器

14.9如何为单元格指定文字说明

14.10如何为表头指定文字说明

14.11如何使用排序和过滤

14.12如何使用组合框作为编辑器

14.13如何使用其他编辑器

14.14如何使用编辑器验证文本

14.15如何打印表格

14.16本章小结

14.17本章习题

第15章如何使用树组件

15.1如何创建树

15.2如何创建数据模型

15.3如何处理节点事件

15.3.1如何处理TreeModelEvent事件

15.3.2如何处理TreeSelectionEvent事件

15.4如何定义个性化树

15.5树组件的常用API

15.6本章小结

15.7本章习题

第16章如何使用Swing观感器

16.1如何设置程序的观感

16.2如何自定义观感器

16.3本章小结

16.4本章习题

第17章Swing与并发

17.1多线程问题

17.2初始线程

17.3事件分派线程

17.4工作线程

17.4.1简单的背景任务

17.4.2拥有临时结果的任务

17.4.3取消背景任务

17.4.4绑定属性和状态方法

17.5本章小结

17.6本章习题

第18章Swing模型架构

18.1传统的MVC设计模式

18.2可分离的模型架构

18.3本章小结

18.4本章习题

第19章Swing的其他特性

19.1如何在Swing组件中使用HTML

19.2如何使用边框

19.2.1如何使用Swing中的边框

19.2.2如何创建自定义边框

19.2.3边框组件的常用API

19.3如何使用图标

19.4如何使用动作

19.5如何支持辅助技术

19.6如何使用焦点子系统

19.7如何使用键绑定

19.8如何在对话框中使用Modality

19.9如何创建SplashScreen

19.10如何使用SystemTray

19.11如何使用Swing拖曳功能和数据传输

19.12本章小结

19.13本章习题

第20章Swirlg实现通讯录系统

20.1通讯录系统的软件框架

20.2通讯录系统的登录系统

20.3通讯录系统的主菜单系统

20.3.1数据库模块的设计

20.3.2信息界面模块的设计

20.3.3功能模块的设计

20.3.4其他模块的设计

20.3.5TabbedPane容器框架的设计

20.3.6主菜单的设计

20.4本章小结

……

java swing界面设计

GUI图形界面设计的重点是布局

SWING也是采用AWT的布局方式,进行布局管理的。(实现LayoutManager接口的方法,来进行管理布局,API中已有实现类,我们通常只需要指定实现类,而不需要自己重写方法)

常用的布局有绝对布局,边界布局BorderLayout,流布局FlowLayout,表格布局GridLayout。

JFrame等重量级组件,默认布局是边界布局,JPanel轻量级组件,默认布局是流布局

绝对布局:布局的特点,需要指定每个组件的大小,和具体位置。

优点:充分的自定义,充分的自由,可以写出漂亮的,细致的界面

缺点:绝对布局在不同的操作系统下,会有一些不同程度的变化,导致界面变形,甚至组件重叠等。在同一操作系统下,窗口放大缩小,界面也会变形

绝对布局的范例

importjavax.swing.JButton;

importjavax.swing.JFrame;

publicclassFrame1extendsJFrame{

JButtonjb1;

publicFrame1(){

setLayout(null);//指定窗口的布局管理器为空,也就是绝对布局

jb1=newJButton("按钮");

jb1.setLocation(100,50);//指定组件的位置

jb1.setSize(80,30);//指定组件的大小

//jb1.setBounds(100,50,80,30);//上面两句代码等同于这句代码

add(jb1);

setSize(300,200);

setLocationRelativeTo(null);

setDefaultCloseOperation(EXIT_ON_CLOSE);

}

publicstaticvoidmain(String[]args){

newFrame1().setVisible(true);

}

}边界布局BorderLayout:它可以对容器组件进行安排,并调整其大小,使其符合下列五个区域:北、南、东、西、中。每个区域最多只能包含一个组件

优点:比较常用的布局,简单易掌握,放大缩小,不影响组件的位置

缺点:组件位置不够灵活。每个区域如果添加多个组件,那么后面的组件会覆盖前面的组件。(因为可以嵌套其他组件使用,所以这些缺点基本都能克服)

3.代码参考

importjavax.swing.*;

importjava.awt.*;

publicclassP004_BorderLayout{

JFramejframe;

JButtonjb1,jb2,jb3,jb4,jb5;

publicP004_BorderLayout(){

jframe=newJFrame();

jframe.setTitle("边界布局");

jframe.setBounds(300,200,180,180);

jb1=newJButton("东");

jframe.add(jb1,BorderLayout.EAST);

jb2=newJButton("西");

jframe.add(jb2,BorderLayout.WEST);

jb3=newJButton("南");

jframe.add(jb3,BorderLayout.SOUTH);

jb4=newJButton("北");

jframe.add(jb4,BorderLayout.NORTH);

jb5=newJButton("中");

jframe.add(jb5);//BorderLayout.CENTER可以省略

jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

jframe.setVisible(true);

}

publicstaticvoidmain(String[]args){

newP004_BorderLayout();

}

}

流布局FlowLayout:像一排文字一个挨着一个的布局。流布局用于安排有向流中的组件,这非常类似于段落中的文本行。流的方向可以指定。

优点:可以快速添加组件,不用指定位置,也不用指定边界

缺点:线性排列,外观单调。(嵌套其他布局,可以忽略缺点)

代码参考

importjava.awt.FlowLayout;

importjavax.swing.*;

publicclassP003_FlowLayout{

JFramejframe;

publicP003_FlowLayout(){

jframe=newJFrame("流式布局");

for(inti=1;i<=5;i++){

jframe.add(newJButton(i+""));

}

jframe.setLocation(380,260);

jframe.setLayout(newFlowLayout(FlowLayout.LEFT));//窗口指定位流式布局,方向从左往右

jframe.pack();

jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

jframe.setVisible(true);

}

publicstaticvoidmain(String[]args){

newP003_FlowLayout();

}

}

表格布局GridLayout:它以矩形网格形式对容器的组件进行布置。容器被分成大小相等的矩形,一个矩形中放置一个组件。

优点:组件整齐排列,

缺点:如果添加的组件数量,和指定的数量不一致,容易导致缺失等

参考代码

importjavax.swing.*;

importjava.awt.*;

publicclassP005_GridLayout{

JFramejframe;

publicP005_GridLayout(){

jframe=newJFrame("表格布局");

jframe.setLayout(newGridLayout(3,4));//表格布局,3行4列

for(inti=0;i<=12;i++){

jframe.add(newJButton(i+""));

}

jframe.setLocation(300,200);

jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

jframe.pack();

jframe.setVisible(true);

}

publicstaticvoidmain(String[]args){

newP005_GridLayout();

}

}

最后:布局是一种灵活的东西。你可以一个布局里嵌套另外一个布局。

比如边界布局的窗口的中间,加入按表格布局的组件,表格布局里面是流式布局。

很多的复杂的界面,通过细分,都能拆分成常用布局的嵌套

OK,关于java+swing管理系统设计和java swing还有人用吗的内容到此结束了,希望对大家有所帮助。

chatai(chatai中文版好用吗)学生信息管理系统java课程设计(java图书馆管理系统课程设计)