精华内容
下载资源
问答
  • 图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口) 是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比, 图形界面对于用户来说更为简便易用。然而这界面若要通过...

    图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)

    是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,

    图形界面对于用户来说更为简便易用。然而这界面若要通过在显示器的特定位置,

    以“各种美观、而不单调的视觉消息”提示使用者“状态的改变”,势必得比简单的文本消息体现,

    花上更多的计算能力,计算“要改变显示器哪些光点,变成哪些颜色”。

    Java写GUI比较麻烦,而且不容易写得比较好看。如果要写的好看的话,布局很麻烦。
    常见的库有awt,swing,swt等。现在有不错的可视化编辑器,但感觉还是不是很好用。

    展开全文
  • Java-GUI快速入门

    万次阅读 多人点赞 2018-08-31 17:16:24
    1.2Java提供了三个主要包做GUI开发: 2.Swing组件 2.1顶层容器介绍 2.2中间容器 2.3基本组件 3.API介绍 3.1Jframe组件 3.2Panel组件 3.3功能组件 4.案例代码 4.1UI介绍 4.2代码 5.插件介绍WindowBuilder...

    目录

    1.GUI的介绍

    1.1GUI概述

    1.2Java提供了三个主要包做GUI开发:

    2.Swing组件

    2.1顶层容器介绍

    2.2中间容器

    2.3基本组件

    3.API介绍

    3.1Jframe组件

    3.2Panel组件

    3.3功能组件

    4.案例代码

    4.1UI介绍

    4.2代码

    5.插件介绍WindowBuilder

    5.1搜索WindowBuilder

    5.2.在eclipse的中安装

    5.3WindowBuilder插件的使用


    1.GUI的介绍

    1.1GUI概述

      早期,电脑向用户提供的是单调、枯燥、纯字符状态的“命令行界面(CLI)”。就是到现在,我们还可以依稀看到它们的身影:在Windows中开个DOS窗口,就可看到历史的足迹。后来,Apple公司率先在电脑的操作系统中实现了图形化的用户界面(Graphical User Interface,简称GUI),但由于Apple公司封闭的市场策略,自己完成电脑硬件、操作系统、应用软件一条龙的产品,与其它PC不兼容。这使得Apple公司错过了一次一统全球PC的好机会。
      后来,Microsoft公司推出了风靡全球的Windows操作系统,它凭借着优秀的图形化用户界面,一举奠定了操作系统标准的地位。这也造就了世界首富---比尔.盖茨和IT业的泰山北斗微软公司。
      在这图形用户界面风行于世的今天,一个应用软件没有良好的GUI是无法让用户接受的。而Java语言也深知这一点的重要性,它提供了一套可以轻松构建GUI的工具。在本章和下一章中,我们将向你充分证明这一点。

    1.2Java提供了三个主要包做GUI开发:

    java.awt 包 – 主要提供字体/布局管理器

    javax.swing 包[商业开发常用] – 主要提供各种组件(窗口/按钮/文本框)

    java.awt.event 包 – 事件处理,后台功能的实现。

     

    2.Swing组件

    如图所示:swing组件主要可分为三个部分,后面会详细介绍

    (1)顶层容器::常用有JFrame,JDialog

    (2)中间容器:JPanel,JOptionPane,JScrollPane,JLayeredPane 等,主要以panel结尾。

    (3)基本组件:JLabel,JButton,JTextField,JPasswordField,JRadioButton 等。

    2.1顶层容器介绍

    #         

    组件         

    描述

    1         

    JFrame         

    一个普通的窗口(绝大多数 Swing 图形界面程序使用 JFrame 作为顶层容器

    2         

    JDialog         

    对话框

    2.2中间容器

    #         

    组件         

    描述

    1         

    JPanel (相当于div)

    一般轻量级面板容器组件(作为JFrame中间容器)

    2         

    JScrollPane         

    带滚动条的,可以水平和垂直滚动的面板组件

    3         

    JSplitPane         

    分隔面板

    4         

    JTabbedPane         

    选项卡面板

    5         

    JLayeredPane         

    层级面板

     

    2.3基本组件

    #         

    组件         

    描述

    1         

    JLabel

    标签

    2         

    JButton         

    按钮

    3         

    JRadioButton         

    单选按钮

    4         

    JCheckBox         

    复选框

    5         

    JToggleButton         

    开关按钮

    6         

    JTextField         

    文本框

    7         

    JPasswordField         

    密码框

    8         

    JTextArea         

    文本区域

    9         

    JComboBox         

    下拉列表框

    10         

    JList         

    列表

    11         

    JProgressBar         

    进度条

    12         

    JSlider         

    滑块

     

    3.API介绍

    3.1Jframe组件

    JFrame frame = new JFrame("HelloWorldSwing");

      // 创建及设置窗口

    frame.setDefaultLookAndFeelDecorated(true);

     // 确保一个漂亮的外观风格

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    设置默认的关闭窗口

    frame.pack();

       // 显示窗口

    frame.setVisible(true);

    //这个最好放在最后,不然会出现视图看不到的情况

    frame.setBounds(600, 300, 500, 400);

    设置窗口的x,y位置,窗口大小x,y.

    frame.add(panel)

    添加panel面板到容器

    frmIpa.getContentPane().add(panel, BorderLayout.NORTH);

    添加面板到主窗口,布局在北面

    frmIpa.getContentPane().add(scrollPane, BorderLayout.CENTER);

    添加可滚动面板到主窗口,布局在中间

     

     

    3.2Panel组件

    Jpanel

    JPanel panel = new JPanel();

    创建面板容器

    panel.add(button);

    添加按钮到面板

    JOptionPane

    JOptionPane.showMessageDialog(panel3, "没有选中任何文件", "提示", JOptionPane.WARNING_MESSAGE);

    弹出提示框到panel容器

    JScrollPane

    JScrollPane scrollPane = new JScrollPane();

    创建可滚动面板

    scrollPane.setViewportView(textArea);

    设置面板内容

     

    3.3功能组件

    JLabel

     JLabel label = new JLabel("Hello World");

    添加标签

    Jbutton

    JButton button = new JButton("选择文件");

    创建按钮

    button.addActionListener(new ActionListener() {}

    添加操作按钮后的事件监听器

    JFileChooser

     jfc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES );

    // 设置文件对话框

    jfc.showSaveDialog(frmIpa);

    // 显示打开的文件对话框

    jfc.getSelectedFile();

    // 获取选择器选择的文件

    JTextArea

    JTextArea textArea = new JTextArea();

    创建文本区域

    textArea.setText(content);

    设置内容

    4.案例代码

    这个UI是用来读取ipa文件info.plist中的信息,有需要的朋友可以去下面链接看看

    https://blog.csdn.net/qq_42035966/article/details/82086462

    4.1UI介绍

    主窗口Jframe,

        Jframe添加2个Jpanel面板,

             北面Jpanel添加JButton,JButton打开JFileChooser文件对话框。

             中间JScrollPane添加JTextArea文本区域,文本区域按各自业务逻辑来处理。

     

    4.2代码

    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.File;
    import javax.swing.JButton;
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTextArea;
    
    public class IpaUI {
    	public static JFrame frmIpa;
    	public JTextArea textArea;
    
    	public IpaUI() {
    		// 窗口框架
    		frmIpa = new JFrame();
    		frmIpa.setTitle("ipa工具类");
    		frmIpa.setBounds(600, 300, 500, 400);
    		frmIpa.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
    		// 面板1
    		JPanel panel = new JPanel();
    		frmIpa.getContentPane().add(panel, BorderLayout.NORTH);
    		JButton button = new JButton("选择文件");
    		// 监听button的选择路径
    		button.addActionListener(new ActionListener() {
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				// 显示打开的文件对话框
    				JFileChooser jfc = new JFileChooser();
    				jfc.showSaveDialog(frmIpa);
    				try {
    					// 使用文件类获取选择器选择的文件
    					File file = jfc.getSelectedFile();//
    					//这里是我的业务需求,各位不必照抄
    //					String content = IpaService.getIpaInfoMap(file.toString());
    //					textArea.setText(content);
    				} catch (Exception e2) {
    					JPanel panel3 = new JPanel();
    					JOptionPane.showMessageDialog(panel3, "没有选中任何文件", "提示", JOptionPane.WARNING_MESSAGE);
    				}
    			}
    		});
    		panel.add(button);
    
    		// 可滚动面板
    		JScrollPane scrollPane = new JScrollPane();
    		frmIpa.getContentPane().add(scrollPane, BorderLayout.CENTER);
    		textArea = new JTextArea();
    		scrollPane.setViewportView(textArea);
    		//这个最好放在最后,否则会出现视图问题。
    		frmIpa.setVisible(true);
    	}
    
    }
    ​

     

    5.插件介绍WindowBuilder

        总算骗大家看完文章,其实最方便的方法是用插件制作,当然大家先了解完代码原理是最好的哈哈。eclispe安装windowbuilder有两种方式,一种是离线安装,一种是在线安装。

    5.1搜索WindowBuilder

    找到http://www.eclipse.org/windowbuilder/download.php

    根据自己的eclipse版本选择,因为我的是4.8版本了,所以只能在线安装。

     

    5.2.在eclipse的中安装

    (1)选择Help - Eclipse MarketPlace

    (2) 在商店中搜索windowbuilder ,会出现WindowBuilder插件

    (3)一路下一步,进行安装,等待安装结束重启eclipse即可。

     

    5.3WindowBuilder插件的使用

    (1)在Eclipe菜单中File - New -Other ,选中WindowBuilder - Swing Designer - JFrame。

    (2)打开文件,点击左下角的Design进入视图模式,左边对应代码模式

    左上是整个视图结构,左下是单个结构的属性,可以在这里修改窗口的一些属性,

    中间是整个swing的界面按钮,前面第二点介绍过的,这里就不说了,

    右边就是视图了,可以点击按钮往视图里面添加,如下图。

    展开全文
  • Java GUI做一个简单的管理系统

    万次阅读 多人点赞 2017-04-17 16:07:41
    教师学生信息管理系统、java初学者,利用Java语言的GUI完成

    1.先完成主页面MainUI(代码如下)

    package com.pag_1;  
    import javax.swing.*;  
    import java.awt.*;  
    import java.awt.event.ActionEvent;  
    import java.awt.event.ActionListener;  
    
    public class MainUI extends JFrame implements ActionListener {  
      
        //定义组件   
        JButton jb1,jb2,jb3=null;  
        JRadioButton jrb1,jrb2=null;  
        JPanel jp1,jp2,jp3,jp4=null;  
        JTextField jtf=null;  
        JLabel jlb1,jlb2,jlb3=null;  
        JPasswordField jpf=null;  
        ButtonGroup bg=null;  
              
        //设定用户名和密码  
        final String stu_name="王小明";  
        final String stu_pwd="1"; 
        final String stu_num="14140301"; 
        final String tea_name="王老师";  
        final String tea_pwd="1";  
        final String tea_num="00001"; 
          
        public static void main(String[] args) {  
           
            MainUI mUI=new MainUI();  
        }  
        public MainUI()  
        {  
             //创建组件  
            jb1=new JButton("登录");  
            jb2=new JButton("重置"); 
            jb3=new JButton("退出");
            
            //设置监听  
            jb1.addActionListener(this);  
            jb2.addActionListener(this);  
            jb3.addActionListener(this);  
              
            jrb1=new JRadioButton("教师");  
            jrb2=new JRadioButton("学生");  
            bg=new ButtonGroup();  
            bg.add(jrb1);  
            bg.add(jrb2);  
            jrb2.setSelected(true);  //初始页面默认选择权限为 学生
              
            jp1=new JPanel();  
            jp2=new JPanel();  
            jp3=new JPanel();  
            jp4=new JPanel();                 
              
            jlb1=new JLabel("用户名:");  
            jlb2=new JLabel("密    码:");  
            jlb3=new JLabel("权    限:");  
              
            jtf=new JTextField(10);  
            jpf=new JPasswordField(10);  
            //加入到JPanel中  
            jp1.add(jlb1);  
            jp1.add(jtf);  
              
            jp2.add(jlb2);  
            jp2.add(jpf);  
              
            jp3.add(jlb3);  	//添加标签
            jp3.add(jrb1);  
            jp3.add(jrb2);  
              
            jp4.add(jb1);  		//添加按钮
            jp4.add(jb2);  
            jp4.add(jb3);
              
            //加入JFrame中  
            this.add(jp1);  
            this.add(jp2);  
            this.add(jp3);  
            this.add(jp4);  
           
            this.setLayout(new GridLayout(4,1));  			//选择GridLayout布局管理器        
            this.setTitle("学生成绩管理系统");          
            this.setSize(300,200);         
            this.setLocation(400, 200);           
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    //设置当关闭窗口时,保证JVM也退出 
            this.setVisible(true);  
            this.setResizable(true);  
              
        }  
        
        public void actionPerformed(ActionEvent e) {  			//事件判断
              
            if(e.getActionCommand()=="登录")  
            {  
                //如果选中教师登录  
                if(jrb1.isSelected())  
                {  
                      tealogin();  								//连接到教师的方法 页面
                }else if(jrb2.isSelected()) //学生在登录系统  
                {  
                      stulogin();  								//连接到学生的方法 页面
                }  
                  
            }else if(e.getActionCommand()=="重置")  
            {  
                      clear();  
            }             
              
        }  
          
         //学生登录判断方法  
        public void stulogin()  
        {  
            if(stu_name.equals(jtf.getText())&&stu_pwd.equals(jpf.getText()))  
            {         	 
                JOptionPane.showMessageDialog(null,"登录成功!","提示消息",JOptionPane.WARNING_MESSAGE);           
                dispose();        
                clear();            
                StdUI ui=new StdUI();		//创建新界面  
            }else if(jtf.getText().isEmpty()&&jpf.getText().isEmpty())  
            {  
                JOptionPane.showMessageDialog(null,"请输入用户名和密码!","提示消息",JOptionPane.WARNING_MESSAGE);  
            }else if(jtf.getText().isEmpty())  
            {  
                JOptionPane.showMessageDialog(null,"请输入用户名!","提示消息",JOptionPane.WARNING_MESSAGE);  
            }else if(jpf.getText().isEmpty())  
            {  
                JOptionPane.showMessageDialog(null,"请输入密码!","提示消息",JOptionPane.WARNING_MESSAGE);  
            }else  
            {  
                JOptionPane.showMessageDialog(null,"用户名或者密码错误!\n请重新输入","提示消息",JOptionPane.ERROR_MESSAGE);  
                //清空输入框  
                clear();  
            }  
        }  
        //教师登录判断方法  
        public void tealogin()  
        {  
            if(tea_name.equals(jtf.getText())&&tea_pwd.equals(jpf.getText()))  
            {  
     
                 JOptionPane.showMessageDialog(null,"登录成功!","提示消息",JOptionPane.WARNING_MESSAGE);  
                 clear();         
                 dispose();             
                 TerUI ui=new TerUI();  //创建一个新界面  
            }else if(jtf.getText().isEmpty()&&jpf.getText().isEmpty())  
            {  
                JOptionPane.showMessageDialog(null,"请输入用户名和密码!","提示消息",JOptionPane.WARNING_MESSAGE);  
            }else if(jtf.getText().isEmpty())  
            {  
                JOptionPane.showMessageDialog(null,"请输入用户名!","提示消息",JOptionPane.WARNING_MESSAGE);  
            }else if(jpf.getText().isEmpty())  
            {  
                JOptionPane.showMessageDialog(null,"请输入密码!","提示消息",JOptionPane.WARNING_MESSAGE);  
            }else  
            {  
                JOptionPane.showMessageDialog(null,"用户名或者密码错误!\n请重新输入","提示消息",JOptionPane.ERROR_MESSAGE);  
                clear();  //清空输入框  
            }  
        }  
        //清空文本框和密码框  
        public  void clear()  
        {  
            jtf.setText("");  
            jpf.setText("");  
        }  
              
    } 
    

    运行图1
    用户名和密码如下:
    用户名和密码

    2.完成学生界面StuUI,这个页面在MainUI界面设置了按钮连接(代码如下)

    package com.pag_1;
    import java.awt.*;  
    import java.awt.event.*;  
    import javax.swing.*;  
    import javax.swing.JButton;
    import java.awt.color.*;
    import javax.swing.JOptionPane;
    import com.pag_1.MainUI;  
    public class StdUI extends JFrame implements ActionListener  
    {  
     
             //定义组件  
            JButton jb1=new JButton();
            JButton jb2=new JButton(); 
            JPanel jp1,jp2,jp3,jp4=null;  
            JLabel jlb1,jlb2,jlb3,jlb4,jlb5,jlb6=null;  
              
            public static void main(String[] args)
            {  
              StdUI  ui=new StdUI();  
            }  
            
            
            //****************************事件判断**********************
    
            //构造函数  
            public  StdUI()    //不能申明为void!!!!!否则弹不出新界面  
            {  
            	 
                //创建组件  
                jb1=new JButton("课程表");  
                jb1.setForeground(Color.BLUE);
                jb2=new JButton("成绩查询");  
                jb2.setForeground(Color.BLUE);
                  
                jp1=new JPanel();  
                jp2=new JPanel();  
                jp3=new JPanel();  
                  
                jlb1=new JLabel("姓名:");  
                jlb2=new JLabel("学号:");  
                jlb3=new JLabel("最新公告:"); 
                jlb3.setForeground(Color.red);
                jlb4=new JLabel("我院举行学生体测通知");  
                jlb5=new JLabel(new MainUI().stu_name);
                jlb6=new JLabel(new MainUI().stu_num);
                  
                jp1.add(jlb1); 
                jp1.add(jlb5);
                jp1.add(jlb2);  
                jp1.add(jlb6);
                
                  
                jp2.add(jb1);  
                jp2.add(jb2);  
                  
                jp3.add(jlb3);
                jp3.add(jlb4); 
             
                this.add(jp1);  
                this.add(jp2);  
                this.add(jp3);  
                  
                
                //设置布局管理器  
                this.setLayout(new GridLayout(4,3,50,50));  
                this.setTitle("学生成绩管理系统");  
                this.setSize(400,300);  
                this.setLocation(200, 200);       
                
                this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
          
                this.setVisible(true); 
                jb1.addActionListener(this);
                jb2.addActionListener(this);
               
            
            }
           
            public void actionPerformed(ActionEvent e) {  
            	 if(e.getSource() == jb1){
            		//关闭当前界面  
                     dispose();  
                     new KeChengBiaoUI();
                	}else if(e.getSource() == jb2){
                		//关闭当前界面  
                        dispose();  
                        new ChengJiBiaoUI();
                	}
                  
            }  
    } 
    

    运行MainUI输入用户学生,会出现下面学生界面,其中界面中的 课程表和成绩查询是两个可以点击的按钮,会连接到下个页面再后面步骤。
    学生页面

    3.完成教师界面TerUI,这个和学生页面一样,在MainUI页面有设置按钮事件,连接到MainUI页面.(代码如下)

    package com.pag_1;
    import java.awt.*;  
    import java.awt.event.*;  
    import javax.swing.*;  
    import javax.swing.JButton;
    import com.pag_1.MainUI;  
    public class TerUI extends JFrame implements ActionListener  
    {   
             //定义组件  
            JButton jb1,jb2=null;  
            JPanel jp1,jp2,jp3,jp4=null;  
            JLabel jlb1,jlb2,jlb3,jlb4,jlb5,jlb6=null;  
              
            public static void main(String[] args) {            
              TerUI  ui=new TerUI();  
            }    
            public  TerUI()  
            {  
                //创建组件  
                jb1=new JButton("课程管理");
                jb1.setForeground(Color.BLUE);
                jb2=new JButton("学生名单");  
                jb2.setForeground(Color.BLUE);
                  
                jp1=new JPanel();  
                jp2=new JPanel();  
                jp3=new JPanel();  
                  
                jlb1=new JLabel("姓名:");  
                jlb2=new JLabel("工号:");  
                jlb3=new JLabel("最新公告:"); 
                jlb3.setForeground(Color.red);
                jlb4=new JLabel("我院举行体测的通知");  
                jlb5=new JLabel(new MainUI().tea_name);
                jlb6=new JLabel(new MainUI().tea_num);
                  
                jp1.add(jlb1); 
                jp1.add(jlb5);
                jp1.add(jlb2);  
                jp1.add(jlb6);
                 
                jp2.add(jb1);  
                jp2.add(jb2);  
                  
                jp3.add(jlb3);
                jp3.add(jlb4); 
                
                this.add(jp1);  
                this.add(jp2);  
                this.add(jp3);          
                this.setLayout(new GridLayout(4,3,50,50));  //设置布局管理器  
                this.setTitle("学生成绩管理系统");  
                this.setSize(400,300);  
                this.setLocation(200, 200);       
                this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
                this.setVisible(true);            
                jb1.addActionListener(this);
                jb2.addActionListener(this);
    }  
            public void actionPerformed(ActionEvent e) {  
            	 if(e.getSource() == jb1){        		
                      dispose();  
                      new KeChengGuanLiUI();        		//创建一个新界面  
                 	}else if(e.getSource() == jb2){
                 	  dispose();  
                      new XueShengMingDanUI();				//创建一个新界面  
                 	}
                  
            }  
    } 
    

    运行MainUI输入用户教师,会出现下面教师界面,其中界面中的 课程管理和学生名单是两个可以点击的按钮,会连接到下个页面再后面步骤。
    教师界面

    4.完成学生界面的课程表界面(代码如下)

    package com.pag_1;
    
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.table.TableColumn;
    
    public class KeChengBiaoUI extends JFrame  
    {  
      
        public KeChengBiaoUI()  
        {  
            intiComponent();  
        }  
     
        private void intiComponent()  
        {        
            String[] columnNames =  
            { "课节数","星期一", "星期二", "星期三", "星期四", "星期五", "星期六","星期日" };  
            
            Object[][] obj=new Object[8][8];  
            for (int i=0;i<8;i++)  
            {  
                for(int j=0;j<8;j++)  
                {  
                    switch (j)  
                    {  
                    case 0:  
                        obj[0][0] = "第一节课";
                        obj[0][1] = "光纤通信"; 
                        obj[0][2] = "电磁场"; 
                        obj[0][3] = "物联网"; 
                        obj[0][4] = "DSP实验"; 
                        obj[0][5] = " "; 
                        obj[0][6] = "手机维修"; 
                        obj[0][7] = " "; 
                        break;  
                    case 1:  
                    	obj[1][0] = "第二节课";
                        obj[1][1] = "光纤通信"; 
                        obj[1][2] = "电磁场"; 
                        obj[1][3] = "物联网"; 
                        obj[1][4] = "DSP实验"; 
                        obj[1][5] = " "; 
                        obj[1][6] = "手机维修"; 
                        obj[1][7] = " ";  
                        break;  
                    case 2:  
                    	obj[2][0] = "第三节课";
                        obj[2][1] = "Android"; 
                        obj[2][2] = " "; 
                        obj[2][3] = " "; 
                        obj[2][4] = "DSP实验"; 
                        obj[2][5] = "手机维修"; 
                        obj[2][6] = "手机维修"; 
                        obj[2][7] = " ";   
                        break;  
                    case 3:  
                    	obj[3][0] = "第四节课";
                        obj[3][1] = "Android"; 
                        obj[3][2] = " "; 
                        obj[3][3] = " "; 
                        obj[3][4] = " "; 
                        obj[3][5] = "手机维修"; 
                        obj[3][6] = "手机维修"; 
                        obj[3][7] = "光纤通信";   
                        break;  
                    case 4:  
                    	obj[4][0] = "第五节课";
                        obj[4][1] = "Android实验"; 
                        obj[4][2] = " "; 
                        obj[4][3] = " "; 
                        obj[4][4] = " "; 
                        obj[4][5] = " "; 
                        obj[4][6] = " "; 
                        obj[4][7] = " ";  
                        break;  
                    case 5:  
                    	obj[5][0] = "第六节课";
                        obj[5][1] = "Android实验"; 
                        obj[5][2] = " "; 
                        obj[5][3] = " "; 
                        obj[5][4] = " "; 
                        obj[5][5] = " "; 
                        obj[5][6] = " "; 
                        obj[5][7] = " ";   
                        break;  
                    case 6:  
                    	obj[6][0] = "第七节课";
                        obj[6][1] = "Android实验"; 
                        obj[6][2] = " "; 
                        obj[6][3] = " "; 
                        obj[6][4] = " "; 
                        obj[6][5] = " "; 
                        obj[6][6] = " "; 
                        obj[6][7] = " ";   
                        break;  
                    case 7:  
                    	obj[7][0] = "第七节课";
                        obj[7][1] = ""; 
                        obj[7][2] = " "; 
                        obj[7][3] = " "; 
                        obj[7][4] = " "; 
                        obj[7][5] = " "; 
                        obj[7][6] = " "; 
                        obj[7][7] = " ";   
                        break;  
                    case 8:  
                    	obj[8][0] = "第八节课";
                        obj[8][1] = " "; 
                        obj[8][2] = " "; 
                        obj[8][3] = " "; 
                        obj[8][4] = " "; 
                        obj[8][5] = " "; 
                        obj[8][6] = " "; 
                        obj[8][7] = " ";   
                        break;  
                    }  
                }  
            }  
                           
            JTable table=new JTable(obj, columnNames);        
            TableColumn column=null;  
            int colunms = table.getColumnCount();  
            for(int i=0;i<colunms;i++)  
            {  
                column = table.getColumnModel().getColumn(i);             
                column.setPreferredWidth(100);  
            }        
            table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);      
            JScrollPane scroll = new JScrollPane(table);  
            scroll.setSize(300, 50);  
                
            add(scroll); 
            
            this.setLocation(450, 200); 
            this.setVisible(true);  
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
            this.pack();  
        }  
      
        public static void main(String[] args)  
        {  
            new KeChengBiaoUI();  
        }  
    }  
    

    课程表界面

    5.完成学生的成绩查询界面(代码如下)

    package com.pag_1;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.table.TableColumn;
    
    public class ChengJiBiaoUI extends JFrame  
    {  
      
        public ChengJiBiaoUI()  
        {  
            intiComponent();  
        }  
      
        //初始化窗体组件  
        private void intiComponent()  
        {  
    
            String[] columnNames =  
            { "课程数目","课程名称", "学分", "绩点", "分数", "补考" };  //设置JTable的列名 
            Object[][] obj=new Object[7][7];  
            for (int i=0;i<7;i++)  
            {  
                for(int j=0;j<7;j++)  
                {  
                    switch (j)  
                    {  
                    case 0:  
                        obj[0][0] = "              1";
                        obj[0][1] = "          光纤通信"; 
                        obj[0][2] = "              2"; 
                        obj[0][3] = "		      1.5"; 
                        obj[0][4] = "	       	   75"; 
                        obj[0][5] = "              否"; 
                      
                        
                        break;  
                    case 1:  
                    	obj[1][0] = "              2";
                        obj[1][1] = "          Android"; 
                        obj[1][2] = "              2"; 
                        obj[1][3] = "		      1.8"; 
                        obj[1][4] = "	       	   5"; 
                        obj[1][5] = "              否"; 
                 
                        break;  
                    case 2:  
                    	obj[2][0] = "              3";
                        obj[2][1] = "          物联网"; 
                        obj[2][2] = "              1.5"; 
                        obj[2][3] = "		      1.2"; 
                        obj[2][4] = "	       	   70"; 
                        obj[2][5] = "              否"; 
                 
                        break;  
                    case 3:  
                    	obj[3][0] = "              4";
                        obj[3][1] = "          电磁场"; 
                        obj[3][2] = "              2"; 
                        obj[3][3] = "		      1.6"; 
                        obj[3][4] = "	       	   78"; 
                        obj[3][5] = "              否"; 
                       
                        break;  
                    case 4:  
                    	obj[4][0] = "              5";
                        obj[4][1] = "         手机维修"; 
                        obj[4][2] = "              1.0"; 
                        obj[4][3] = "		      1.0"; 
                        obj[4][4] = "	       	   优秀"; 
                        obj[4][5] = "              否"; 
                   
                        break;  
                    case 5:  
                    	obj[5][0] = "              6";
                        obj[5][1] = "             DSP"; 
                        obj[5][2] = "             1.0"; 
                        obj[5][3] = "		      1.0"; 
                        obj[5][4] = "	       	   良好"; 
                        obj[5][5] = "              否"; 
                        break;  
                    case 6:  
                    	obj[6][0] = "              7";
                        obj[6][1] = "       通信原理实验"; 
                        obj[6][2] = "             1.0"; 
                        obj[6][3] = "		      1.0"; 
                        obj[6][4] = "	       	   良好"; 
                        obj[6][5] = "              否"; 
                        break;  
                    
                    }  
                }  
            }  
    
            JTable table=new JTable(obj, columnNames);  //JTable的其中一种构造方法 
            TableColumn column=null;  					//设置JTable的列默认的宽度和高度 
            int colunms = table.getColumnCount();  
            for(int i=0;i<colunms;i++)  
            {  
                column = table.getColumnModel().getColumn(i);  
                column.setPreferredWidth(100);  		//将每一列的默认宽度设置为100
            }  
            table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); //设置JTable自动调整列表的状态,此处设置为关闭  
            JScrollPane scroll = new JScrollPane(table);  //用JScrollPane装载JTable,这样超出范围的列就可以通过滚动条来查看
            scroll.setSize(300, 50);  
          
            add(scroll); 
            
            this.setLocation(450, 200); 
            this.setVisible(true);  
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
            this.pack();  
        }  
      
        public static void main(String[] args)  
        {  
            new ChengJiBiaoUI();  
        }  
    }  
    

    学生成绩表界面

    6.完成教师的课程管理界面(代码如下)

    package com.pag_1;
    
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.table.TableColumn;
    
    public class KeChengGuanLiUI extends JFrame  
    {   
        public KeChengGuanLiUI()  
        {  
            intiComponent();  
        }    
        private void intiComponent()  
        {         
            String[] columnNames =  
            { "课节数","星期一", "星期二", "星期三", "星期四", "星期五", "星期六","星期日" };           
            Object[][] obj=new Object[8][8];  
            for (int i=0;i<8;i++)  
            {  
                for(int j=0;j<8;j++)  
                {  
                    switch (j)  
                    {  
                    case 0:  
                        obj[0][0] = "  第一节课";
                        obj[0][1] = "      有课"; 
                        obj[0][2] = " "; 
                        obj[0][3] = " "; 
                        obj[0][4] = "      有课"; 
                        obj[0][5] = " "; 
                        obj[0][6] = ""; 
                        obj[0][7] = " "; 
                        break;  
                    case 1:  
                    	obj[1][0] = "  第二节课";
                        obj[1][1] = "      有课"; 
                        obj[1][2] = ""; 
                        obj[1][3] = ""; 
                        obj[1][4] = "      有课"; 
                        obj[1][5] = " "; 
                        obj[1][6] = ""; 
                        obj[1][7] = " ";  
                        break;  
                    case 2:  
                    	obj[2][0] = "  第三节课";
                        obj[2][1] = ""; 
                        obj[2][2] = " "; 
                        obj[2][3] = "     有课"; 
                        obj[2][4] = ""; 
                        obj[2][5] = ""; 
                        obj[2][6] = ""; 
                        obj[2][7] = " ";   
                        break;  
                    case 3:  
                    	obj[3][0] ="  第四节课";
                        obj[3][1] = ""; 
                        obj[3][2] = " "; 
                        obj[3][3] = "     有课"; 
                        obj[3][4] = " "; 
                        obj[3][5] = ""; 
                        obj[3][6] = ""; 
                        obj[3][7] = "";   
                        break;  
                    case 4:  
                    	obj[4][0] ="  第五节课";
                        obj[4][1] = ""; 
                        obj[4][2] = " "; 
                        obj[4][3] = " "; 
                        obj[4][4] = " "; 
                        obj[4][5] = " "; 
                        obj[4][6] = " "; 
                        obj[4][7] = " ";  
                        break;  
                    case 5:  
                    	obj[5][0] ="  第六节课";
                        obj[5][1] = ""; 
                        obj[5][2] = "   开会"; 
                        obj[5][3] = " "; 
                        obj[5][4] = " "; 
                        obj[5][5] = " "; 
                        obj[5][6] = " "; 
                        obj[5][7] = " ";   
                        break;  
                    case 6:  
                    	obj[6][0] ="  第七节课";
                        obj[6][1] = ""; 
                        obj[6][2] = "  有课"; 
                        obj[6][3] = " "; 
                        obj[6][4] = "    开会"; 
                        obj[6][5] = " "; 
                        obj[6][6] = " "; 
                        obj[6][7] = " ";   
                        break;  
                    case 7:  
                    	obj[7][0] ="  第八节课";
                        obj[7][1] = ""; 
                        obj[7][2] = "  有课 "; 
                        obj[7][3] = " "; 
                        obj[7][4] = " "; 
                        obj[7][5] = " "; 
                        obj[7][6] = " "; 
                        obj[7][7] = " ";   
                        break;   
                    }  
                }  
            }          
                  
            JTable table=new JTable(obj, columnNames);   
            TableColumn column=null;  
            int colunms = table.getColumnCount();  
            for(int i=0;i<colunms;i++)  
            {  
                column = table.getColumnModel().getColumn(i);             
                column.setPreferredWidth(100);  
            }         
            table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);        
            JScrollPane scroll = new JScrollPane(table);  
            scroll.setSize(300, 50);  
      
            add(scroll); 
            
            this.setLocation(450, 200); 
            this.setVisible(true);  
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
            this.pack();  
        }  
      
        public static void main(String[] args)  
        {  
            new KeChengGuanLiUI();  
        }  
    }  
    

    教师课程管理

    7.完成教师页面的学生名单页面(代码如下)

    package com.pag_1;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.table.TableColumn;
    
    public class XueShengMingDanUI extends JFrame  
    {  
      
        public XueShengMingDanUI()  
        {  
            intiComponent();  
        }  
     
         //初始化窗体组件 
        private void intiComponent()  
        {  
        	// 设置JTable的列名   
            String[] columnNames =  
            { "学号","姓名",  "专业", "班级"};  
            Object[][] obj=new Object[7][7];  
            for (int i=0;i<7;i++)  
            {  
                for(int j=0;j<7;j++)  
                {  
                    switch (j)  
                    {  
                    case 0:  
                        obj[0][0] = "       14140301";
                        obj[0][1] = "          		王小明"; 
                        obj[0][2] = "         通信工程"; 
                        obj[0][3] = "		             2";    
                        break;  
                    case 1:  
                    	obj[1][0] = "       14140302";
                        obj[1][1] = "            王雷"; 
                        obj[1][2] = "         通信工程"; 
                        obj[1][3] = "		             2"; 
                        break;  
                    case 2:  
                    	obj[2][0] = "       14140303";
                        obj[2][1] = "            李芳"; 
                        obj[2][2] = "         通信工程"; 
                        obj[2][3] = "		             2"; 
                        break;  
                    case 3:  
                    	obj[3][0] = "       14140304";
                        obj[3][1] = "            张三"; 
                        obj[3][2] = "         通信工程"; 
                        obj[3][3] = "		             2";                  
                        break;  
                    case 4:  
                    	obj[4][0] = "       14140305";
                        obj[4][1] = "            李四"; 
                        obj[4][2] = "         通信工程"; 
                        obj[4][3] = "		             2"; 
                        break;  
                    case 5:  
                    	obj[5][0] = "       14140306";
                        obj[5][1] = "            文宇"; 
                        obj[5][2] = "         通信工程"; 
                        obj[5][3] = "             2"; 
                        break;  
                    case 6:  
                    	obj[6][0] = "       14140307";
                        obj[6][1] = "            王飞"; 
                        obj[6][2] = "         通信工程"; 
                        obj[6][3] = "		             2";                 
                        break;  
                    
                    }  
                }  
            }  
              
            JTable table=new JTable(obj, columnNames);  //JTable的其中一种构造方法 
            TableColumn column=null;  					//设置JTable的列默认的宽度和高度 
            int colunms = table.getColumnCount();  
            for(int i=0;i<colunms;i++)  
            {  
                column = table.getColumnModel().getColumn(i);  
                column.setPreferredWidth(100);		 	 //将每一列的默认宽度设置为100
            }   
            table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);  //设置JTable自动调整列表的状态,此处设置为关闭                 
            JScrollPane scroll = new JScrollPane(table);  //用JScrollPane装载JTable,这样超出范围的列就可以通过滚动条来查看 
            scroll.setSize(300, 50);         
              
            add(scroll); 
            
            this.setLocation(450, 200); 
            this.setVisible(true);  
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
            this.pack();  
        }  
      
        public static void main(String[] args)  
        {  
            new XueShengMingDanUI();  
        }  
    }  
    

    教师学生名单页面


    欢迎
    关注
    CSDN Github
    博客园 个人网站
    此博客内容是本人在平时工作、学习中,写下这些小总结,其中内容多为初次接触,不能保证完全正确、最优,如有疑问或不足之处,望评论指出。谢谢!
    展开全文
  • GUITools Java写的GUI工具
  • Java Decompiler-GUI

    2013-04-11 08:39:42
    Java Decompiler-GUI
  • Java Gui ppt课件

    2010-06-02 14:13:18
    java gui java gui java gui java gui java gui java gui java gui java gui java gui java gui
  • Java GUI做的课程设计

    2011-06-18 22:35:14
    Java GUI做的课程设计,以前的,放出来共享下,只适合初学者看看
  • Java教程之GUI编程

    2013-05-26 07:26:44
    Java教程之GUI编程
  • Java中的GUI编程

    2011-04-25 13:30:09
    Java中的GUI编程.ppt Java中的GUI编程
  • java 员工管理系统 gui

    2018-06-30 10:26:00
    java 员工管理系统 gui java 员工管理系统 gui java 员工管理系统 gui java 员工管理系统 gui java 员工管理系统 gui java 员工管理系统 gui java 员工管理系统 gui java 员工管理系统 gui java 员工管理系统 gui
  • Java GUI Development

    2010-11-19 10:17:23
    Java GUI Development Java GUI Development
  • java实验 排序GUI

    2013-06-05 10:22:32
    java实验 内容是有关排序的GUI 欢迎下载修改
  • java swing开发学生选课系统 数据库使用MySQL 该系统主要包括学生和管理员两个用户角色 以学生角色登陆进去 学生可以查看自己的选修课情况 修改自己的个人信息 以管理员的角色登陆进去,管理员可以查看选修课的选修...

    java swing开发学生选课系统 数据库使用MySQL
    该系统主要包括学生和管理员两个用户角色 以学生角色登陆进去 学生可以查看自己的选修课情况 修改自己的个人信息
    以管理员的角色登陆进去,管理员可以查看选修课的选修情况 增加选修课,查看学生的个人情况

     

    数据库创建代码:

    /*
     Navicat Premium Data Transfer
    
     Source Server         : localhost
     Source Server Type    : MySQL
     Source Server Version : 50527
     Source Host           : localhost:3306
     Source Schema         : chenji
    
     Target Server Type    : MySQL
     Target Server Version : 50527
     File Encoding         : 65001
    
     Date: 13/10/2019 11:34:33
    */
    
    SET NAMES utf8mb4;
    SET FOREIGN_KEY_CHECKS = 0;
    
    -- ----------------------------
    -- Table structure for stu
    -- ----------------------------
    DROP TABLE IF EXISTS `stu`;
    CREATE TABLE `stu`  (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `Chinese` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `Math` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `English` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `class` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      PRIMARY KEY (`id`) USING BTREE
    ) ENGINE = InnoDB AUTO_INCREMENT = 789457 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
    
    -- ----------------------------
    -- Records of stu
    -- ----------------------------
    INSERT INTO `stu` VALUES (123456, '清明', '80', '90', '100', '1203班');
    INSERT INTO `stu` VALUES (789456, '史蒂夫', '100', '100', '80', '1203班');
    
    -- ----------------------------
    -- Table structure for teacher
    -- ----------------------------
    DROP TABLE IF EXISTS `teacher`;
    CREATE TABLE `teacher`  (
      `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `course` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `class` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `time` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `age` int(11) NULL DEFAULT NULL
    ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
    
    -- ----------------------------
    -- Records of teacher
    -- ----------------------------
    INSERT INTO `teacher` VALUES ('天明', '语文', '1203班', '8', 18);
    INSERT INTO `teacher` VALUES ('王老师', '数学', '123456班', '60', 30);
    
    SET FOREIGN_KEY_CHECKS = 1;
    

     

    展开全文
  • java gui源代码
  • Java GUI

    2007-10-23 22:00:48
    图形程序设计所用类层次结构图,使你能更好地从整体去把握java GUI
  • java-实验室-gui java 实验室程序 gui / #sqlite #database
  • java GUI计算器

    2019-01-03 19:42:48
    一个Java GUI计算器,可以输入带括号的多项式并求解。
  • java gui layout API

    2018-06-02 20:46:50
    java gui layout API, java gui layout API,java gui layout API
  • JAVA实现单机GUI斗地主

    2018-01-18 10:16:36
    新手上路,自己来玩玩,技术比较菜,喜欢的可以下来看看.纯JAVA实现GUI版单机斗地主,自带电脑AI出牌,可以直接运行
  • java GUI做的抽奖转盘

    2014-02-24 12:30:21
    项目源码 java GUI 效果很炫
  • java GUI例子

    2019-04-24 21:41:44
    这是关于java GUI 简单例子,刚学的看看就行了,很简单的小例子
  • Java GUI钟表

    2019-02-28 21:58:49
    Java GUI编程代码简单实现钟表,时分秒三指针旋转,获取系统时间实时刷新指针位置。
  • java简单GUI

    2012-11-03 10:06:46
    简单的javaGUI界面。基本上就是java课上老师的实验内容,可以参考。
  • Java计算器GUI

    2007-12-30 11:28:04
    简单JAVA 计算器GUI
  • java高级组件GUI设计

    2013-08-19 19:25:56
    java高级组件GUI设计,详细介绍各种控件,响应事件等
  • 文档JAVA-GUI

    2016-02-19 11:50:09
    java基础,GUI基础,自己总结的笔记。
  • JAVA-GUI_Project 这是我的第一个具有Java Gui基础的GUI ATM Java项目
  • java做GUI启动界面详解

    2013-06-07 18:10:26
    关于如何生成进度条的一些demo 当一个应用程序启动需要较长时间时,往往在等待过程中让人明显感到速度 慢,难免产生厌烦的心理,怎样可以缓解这种心情呢? 方案: 在应用程序启动耗费...java中如何实现进度条的效果
  • Java swing开发的GUI图书馆后台管理系统,可做为java毕业设计.zip
  • Java GUI 练习

    2013-08-30 13:51:50
    practice make perfects, 练习java GUI 的基础。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 177,392
精华内容 70,956
关键字:

为什么java不做gui

java 订阅