那么今天,我们将整合基础班课程中所有的技术和知识,编写一 个带界面版的发红包案例。 小贴士:目前,我们尚未学习过任何与界面相关的类。所以,界面相关代码,已经给出。请运用所学技术分析并使用。...案例需求 分析并使用已给出的类,编写程序,设置红包类型。 小贴士 红包类型: 1.普通红包:金额均分。不能整除的,余额添加到最后一份红包中。 2.手气红包:金额随机。...案例分析 已知的类: RedPacketFrame : 一个抽象类,包含了一些属性,是红包案例的页面。...* * @param totalMoney 总金额为方便计算,已经转换为整数,单位为分。...导入已知类:在 src 下创建一个包,名字自定义,建议为known,将上面两个类拷贝进去 代码实现 1.定义RedPacket类,继承RedPacketFrame ,代码如下: ?
(二)界面的设计 1.显示的界面:创建JFrame实例、JPanel面板,然后把面板添加到JFrame中; 2.构造一个按钮组对象ButtonGroup,把JRadioButton类型的对象添加到该按钮组中...; public class testsystem extends JFrame{//变量 private JPanel panel01 =new JPanel(); private JLabel...label01=new JLabel("剩下时间"); private JLabel label_time=new JLabel("5:00"); 4.换壁纸,显示分数; private JPanel...panel04 = new JPanel(); private JLabel label_score = new JLabel(); private JLabel image = new JLabel...四、总结 1.本文主要介绍了JLabel、JButton、JPanel、ButtonGroup、JRadioButton单选框组件的基本使用,完成界面的窗口、题目和选项、显示进度、显示按钮和时间、显示总分和表情
而关于container容器我们应该有这样的认识:Swing组件中的窗体通常是与容器相关联的,所以在一般情况下,建立完JFrame窗体后,我们会调用getContentPane()方法将窗体转换为容器,...面板 在JPanel面板中我们可以添加一些组件来对该面板中的内容进行布局,之所以它具备这样的功能,是因为JPanel面板同样也继承了java.awt.Container类,因此它同样是具有Container...使用JScrollPane面板时需要注意以下两个问题: JScrollPane面板中只能布置一个控件, JScrollPane面板不能使用布局管理器 因此如果想要在JScrollPane面板中显示多个控件...,就需要首先将控件布局在JPanel面板中,之后将JPanel面板作为一个整体组件添加到JScrollPane面板中, 通过下面程序对JScrollPane面板进行实践: 以下程序是在JScrollPane...、南、西、北、中五个区域,在容器中添加组件时,我们可以设置组将放入到哪一个区域中,关于区域的控制可以使用BorderLayout类中的成员方法来确定,关于这些成员变量的具体含义可以参考下表: 成员变量
GridLayout布局管理器是以表格形式进行管理的,在使用此布局管理器时必须设置显示的行数和列数,GridLayout类的构造方法如表11.9所示。...例12-18运行结果 图12.20中,运行程序创建Frame窗体后,将布局设置为使用GridLayout布局管理器,设置以两行三列布局,并设置组件之间的水平和垂直间距都为10,之后添加6个按钮到Frame...例12-22运行结果 图12.22中,运行程序弹出Frame窗口,创建一个窗口对象和两个面板对象jPanel1、jPanel2,将面板jPanel2设置成1行4列的网格式页面布局,将面板jPanel1的页面布局设置为卡片式...jFrame调用add()方法将两个面板添加到窗口jFrame中,jPanel1调用add()方法将三个对象添加到面板jPanel1中,将名字为jTextField的文本框显示在卡片式布局的页面上,将4...个命令按钮分别添加到面板jPanel2中,然后将各组件显示在窗口中。
=new JLabel("密 码"); private JPasswordField tPassword=new JPasswordField(15); //按钮的JPanel private JPanel...pIcon=new JPanel(new FlowLayout(FlowLayout.LEFT)); //使用本地图片文件作为图标 private ImageIcon icon=new ImageIcon...2、View.java类 3、Student.java类 4、ConnectSQLServer类 5、LoginGUI类 五、调试分析 在一开始调试的时候,发现虽然没有错误,但无法运行...七、测试结果 测试数据和测试结果在用户使用说明选项中已经详细介绍过,这里不再重复介绍。...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
题目描述: 题目实现:做一个解析指定网址的内容小应用 解题思路 创建一个类:InternetContentFrame,继承JFrame窗体类 定义一个getURLCollection();方法用于解析网页内容...使用URLConnection类的getInputStream()方法 获取网页资源的输入流对象。...panel=new JPanel(); getContentPane().add(panel,BorderLayout.NORTH); final JLabel label...conn.getInputStream(); //获取流对象 InputStreamReader in=new InputStreamReader(is,"UTF-8"); //转换为字符流...=null){ urlCollection.add(nextline); //解析网页的全部信息,添加到集合中 nextline=br.readLine
// 新增了 焦点监听器 当用户名文本域失去焦点 时 进行提示!!!!...(); southPanel = new JPanel(); // 将面板添加到窗体 this.add(centerPanel,BorderLayout.CENTER...); southPanel.add(button_ok); southPanel.add(button_cancel); } //此焦点类的目的是判断当用户输完用户名时...,如果可用再次使用将 // 不再提示可用的标签!!...centerPanel; private JPanel southPanel; private JLabel label_user;
目录 核心功能 1、帮助类DBHelper 2、实体类entity 3、功能类dao 4、测试类 以上就是这个小案例的代码,下面是它的运行效果图 在这里面可以进行基本的增删改查以及其他的查询方式,需连接数据库一起使用...DatabaseName=Student"; private static String user = "sa"; private static String upwd = "、、; //静态代码块-加载类时自动执行...jp = new JPanel(); // 编号 JLabel bh = new JLabel("编号:"); jp.add(bh); // 编号框 JTextField...bu2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //强转..."查询成功"); } else { JOptionPane.showMessageDialog(null, "查询失败"); } } }); // 把画布添加到窗体
如果系统管理员想要删除某个用户(长期不登录,或者登陆异常)的用户信息,那么就需要在后台中写一个删除用户的功能,根据用户名进行删除(前提:数据库中对应字段设为唯一)。...(); cmbBookType.addItem("计算机类"); cmbBookType.addItem("外语类"); labName=new JLabel("书名...,用户名不能和存在过的一致。...insertBook(Book b,String typeName) { //稍微复杂:图书表中包括的是类型编号,界面设计时是类型的名称, //所以,在增加之前,需要先将类型名称转换成类型编号...11.用户增加功能实现 在文本框中输入用户名和密码,点击添加,将对应信息放到user类中,在插入到user表中。 用户名都是唯一的,不能输入已经存在过的用户名。
this.setLayout(new BorderLayout()); this.add(jP, BorderLayout.CENTER); // 将按钮面板添加到中间 // 用于显示当前时间的...// 将时间标签添加到右下角 this.add(jLTime, BorderLayout.SOUTH); // 调整时间标签的位置,使其右对齐 jLTime.setHorizontalAlignment...Time t = new Time(jLTime); // 将时间标签添加到右下角 this.add(jLTime, BorderLayout.SOUTH);...); // 将时间标签添加到右下角 this.add(jLTime, BorderLayout.SOUTH); // 调整时间标签的位置,使其右对齐...Time t = new Time(jLTime); // 将时间标签添加到右下角 this.add(jLTime, BorderLayout.SOUTH);
(); southPanel = new JPanel(); // 将面板添加到窗体 this.add(centerPanel,BorderLayout.CENTER);... ); southPanel.add(button_ok); southPanel.add(button_cancel); } //此焦点类的目的是判断当用户输完用户名时...{ label_result_t.setVisible(false); } // 由于reiteration (重复)是全局变量,如果没有下面那句当第一次输入时重复的用户名时...,如果可用再次使用将 // 不再提示可用的标签!!...centerPanel; private JPanel southPanel; private JLabel label_user; private JLabel
// 设置按钮的内边距 buttonConstraints.ipadx = 20; buttonConstraints.ipady = 10; // 将按钮添加到界面中...panel = new JPanel(new GridLayout(2, 2)); // 创建一个面板,使用网格布局 panel.add(new JLabel("收入来源:")); /...baseAmount += amount; // 更新基本金额 incomeList.add(new Income(source, amount)); // 将收入信息添加到收入列表...panel = new JPanel(new GridLayout(2, 2)); // 创建一个面板,使用网格布局 panel.add(new JLabel("支出类别:")); /...2.合理使用面向对象的设计思想:将收入和支出抽象为类,使得代码更具可读性和扩展性。 3.注意异常处理:对用户的输入进行合法性验证,避免出现异常情况。
其中,学籍更改和浏览模块将另外生成两个新窗口,其他模块均在原有窗口上操作进行。 角色分析 学生类(Student)记录了学生的基本信息,该类的设计由图2-2所示,类的介绍如表2-1所示。...String 专业 grade String 年级 borth String 入学时间 三、算法分析 1、使用try和catch捕捉异常处理 Java通过5个关键字来控制异常处理,通常在出现错误时用...2张图片文件组成,其中,src存放了8个Java类,res存放的是管理员登陆时的图片(login.jpg)和主框架的图片(home.jpg)。...平时练得少,程序算法先不说,光是一堆堆的类及其功能就不得而知,看了老师的视频,从网上找了一些源代码,他们都是使用了数据库和网络知识。...a = new JLabel("用户名:"); JLabel b = new JLabel("密码:"); JLabel word = new JLabel(""); JPanel admin
实现一个计算器(能实现加减乘除运算 ) 图片 2.实现界面上单选按钮中的事件 当按下某一单选按钮时将结果显示到最后一个输入框 3.当用户输入错误时提示。提示“请输入数字”,输入的值可以整数或小数。...不能是其它字符 捕获输入错误时的异常,给出相应提示到结果框。...实验步骤: 1.定义类显示窗口,标题为“计算器” 2.在类中添加窗口组件作为类的成员变量, JLabel文本, JRadioButton为单选按钮, JTextField为输入框, JPanel...为容器, ButtonGroup 为单选组按钮 3.在构造方法为每个组件及容器申请内存空间 4.设置窗口的布局为网格布局,有4行1列 5.将所有组件添加到容器中,将单选按钮再次添加到ButtonGroup....*; public class CaculateDemo extends JFrame implements ItemListener{ //在类中添加窗口组件作为类的成员变量 //JLabel文本
这些方法会弹出提醒人们的异常信息:不能把组件直接添加到包含一个JRootPane实例的Swing容器中,也不能为该容器设置布局管理器。 ...AddImpl()是最终把组件添加到容器中的方法。如果直接把组件添加到小应用程序中,那么JApplet.addImpl()将弹出一个异常信息。...缺省时,AWT组件将实现它们的update方法以便擦除背景,然后调用paint()。这种技术在组件反复更新时,会导致许多闪烁。...,既作为applet使用时,不能刷新,一旦刷新图就没了。 ...例2-5 GJApp类 class GJApp { static private JPanel statusArea = new JPanel(); static private JLabel
,第一种是在初始化按钮时赋予按钮图标与文字 * 这种初始化必须先获得图片路径,然后将路径实例化到Icon,然后在Button中加载出来 * 第二种方式是首先创建一个没有定义图标和文字的按钮对象,然后使用...container.add(jp);//将面板添加到容器中 //设置容器的特性 setTitle("单选按钮的简单练习");//容器的标题...jl1; private JLabel jl2; private JPanel jp1; private JPanel jp2; private JPanel...(); jp1.add(jl1); jp1.add(cb1);//将单选按钮添加到面板上面 jp1.add(cb2); jp1.add(cb3...(jr1);//将单选按钮添加到ButtonGroup中 bg1.add(jr2); jp2.add(jr1); jp2.add(jr2);
组件,将ArrayList中的内容通过循环显示JPanel中并布局在窗体的右边,在每当有人上线或者下线,刷新JPanel组件。...2.服务端能够强制用户下线 创建一个布局在窗体的下方的JPanel,在此JPanel中分别添加JLabel用于显示提示文字,添加JTextField用于获取服务端想要强制用户下线的ID,添加JButton...show_user), BorderLayout.CENTER); //设置用户显示区域为不可编辑 show_user.setEditable(false); //将显示用户的画布添加到整体布局的右侧...= new JPanel(); //创建标签 JLabel label = new JLabel("输入要踢下线用户的ID"); //创建输入框...panel_south.add(label); panel_south.add(out_area); panel_south.add(out_btn); //将踢下线用户的画布添加到整体布局的下侧
lable=new JLabel("lable就是一个文本"); //获取本窗口的内容窗格 Container c=getContentPane(); //将lable标签组件添加到内容窗格上...) 是一种中间层容器,它能容纳组件并将组件组合在一起,但它本身必须添加到其他容器中使用。...getText() 返回 JLabel 所显示的文本字符串 Component getLabelFor() 获得将 JLabel 添加到的组件 int getIconTextGap() 返回此标签中显示的文本和图标之间的间隔量...添加到JPanel容器中 add(jp); //将JPanel容器添加到JFrame容器中 setBackground(Color.pink); setSize...add(Component c,int index) 将指定组件添加到此容器的给定位置 add(JMenuItem menultem) 将某个菜单项追加到此菜单的末尾 add(String s) 创建具有指定文本的新菜单项
= new JLabel(icon); // 将JLabel添加到JFrame窗口中 frame.getContentPane().add(label);...l1 = new JLabel(i1); l1.setOpaque(true);//JLabel标签默认是透明的,设置为非透明 // 将JLabel添加到JFrame窗口中...它们都被添加到一个JPanel中,并且通过ButtonGroup对象进行分组,以确保只能选择一个选项。当选择一个选项时,会显示相应的信息在JLabel中。...而AWT中的 List在初始化列表时,不能添加列表选项;此外,JList 所创建的列表的选项可以是任何类型,不再局限于文本字符串。...当点击添加按钮时,会弹出一个对话框,要求用户输入新项目的名称,并将其添加到列表中。当点击删除按钮时,会删除选定的项目。整个界面使用JPanel来组织,并且使用了JFrame作为窗口容器。
文本域 把文本域添加到窗口中的常用办法是把它添加到面板或者其他容器中,这与添加按钮完全一样: JPanel panel = new JPanel( ); JTextField textField = new...当点击按钮时,可以用getValue方法读取用户输入的数值。这个方法将返回一个Object结果,需要将它强制类型转换为相应的类型。...当文本域失去焦点时,格式器使用带有String参数的构造器构造相同类的新对象作为当前值。如果构造器抛出了异常,编辑就是无效的。...如果格式器不能将对象转换为字符串,操作失败。 • void commitEdit( ) 用正在编辑的字符串设置文本域的有效值。如果格式器无法转换该字符串,操作可能失败。...如果value不适合这个格式器将抛出ParseException异常。 • abstract Object stringToValue(String s) 将一个字符串转换为值。
领取专属 10元无门槛券
手把手带您无忧上云