热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MyEclipse8.5中的可视化界面JTable和JComboBox应用,及常用方法

MyEclipse8.5中的可视化界面JTable和JComboBox应用,及常用方法。一、可视化界面的创建创建项目(Java):因为比较简单就不详

MyEclipse8.5中的可视化界面JTable和JComboBox应用,及常用方法。


一、可视化界面的创建

  • 创建项目(Java):因为比较简单就不详细介绍。
  • 创建一个可视化界面。
         (1)右键src下的一个包(用于保存可视化界面)->new->Matisse Form.
         (2)此时就会来到这个界面,在Name框中输入类名。然后在Select template:点击JFrame后,点击Finish即可。
    在这里插入图片描述
         (3)此时来到了在MyEclipse右侧出现这个窗口,点击SwingControls即可在会出现组件,双击拉到左侧界面即可将其添加到界面中。
    在这里插入图片描述
    在这里插入图片描述
         (4)功能区:点击组件,在右下侧可以出现功能区,Properites区主要是组件的样式,Event主要是点击事件。其他俩个区很少使用。

在这里插入图片描述


二、JTable点击事件

  • 添加点击事件
         在界面中添加表格后,点击表格后,在功能区选择mouseClicked
    在这里插入图片描述
         此时来到该函数下,添加具体事件,这里主要是如何获取表格中的被鼠标点击后如何获取表格的内容,以及获取被编辑后的值,如何将数据显示在表格中,最后设置表格的特定单元格可以编辑

  • 将数据显示在表格

private void init() throws Exception {st_course &#61; Admin_Impl.get_Courselist();//获取数据Object title[] &#61; { "序号", "课程", "学分", "教师", "上课地点", "课程数量" };//表格开头内容Object detail[][] &#61; new Object[st_course.size()][6];//数据部分for (int i &#61; 0; i < st_course.size(); i&#43;&#43;) {detail[i][0] &#61; Integer.toString(st_course.get(i).getCo_id());detail[i][1] &#61; st_course.get(i).getCourse();detail[i][2] &#61; Integer.toString(st_course.get(i).getCredit());detail[i][3] &#61; st_course.get(i).getName();detail[i][4] &#61; st_course.get(i).getCo_time();detail[i][5] &#61; st_course.get(i).getNumber();}this.jTable1.setModel(new DefaultTableModel(detail, title));//将数据添加到表格中}

在这里插入图片描述


  • 如何获取表格中的被鼠标点击后如何获取表格的内容
         在系统自动生成的函数下写具体事件

private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {if (evt.getClickCount() &#61;&#61; 1) {//判断鼠标点击一次//获取表格被点击的行以及列的单元格的值(可以根据具体需要更换格子)int co_id &#61; Integer.valueOf(((String) this.jTable1.getValueAt(this.jTable1.getSelectedRow(), 0)));System.out.println(co_id);}}

  • 获取被编辑后的值
         这里是通过按钮来控制获取被编辑后的数值

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//取消鼠标光标(最重要)this.jTable1.getCellEditor().stopCellEditing();//获取被编辑后的数值 current_row是鼠标点击的编辑的行数String grade&#61;(String)this.jTable1.getValueAt(current_row, 4);System.out.println(grade); }

  • 设置表格的特定单元格可以编辑
         这里需要覆写isCellEditable()方法

//在第一个例子中只要改写 this.jTable1.setModel(new DefaultTableModel(detail, title));即可
this.jTable1.setModel(new DefaultTableModel(detail, title){public boolean isCellEditable(int row, int column) {//通过返回布尔值来控制是否被编辑,true可编辑,false不可编辑if (column &#61;&#61; 4) {return true;}else {return false;}}
});this.jTable1.isCellEditable(0, 4);//控制只有第四列可以被编辑

三、JComboBox点击事件

      这里主要讲以下几个事件&#xff08;1&#xff09;如何设置下拉框中的内容 &#xff08;2&#xff09;如何获取下拉框的内容


  • 如何获取下拉框的内容
          在界面点击下拉框后&#xff0c;在功能区点击itemStateChanged 此时将会跳转到该函数下。
    在这里插入图片描述

private void jComboBox1ItemStateChanged(java.awt.event.ItemEvent evt) {if (evt.getStateChange() &#61;&#61; ItemEvent.SELECTED) {current_course &#61; (String) this.jComboBox1.getSelectedItem();//获取点击的内容}}

  • 如何设置下拉框中的内容
         方法一:直接在功能区的组件样式添加内容
    点击model 添加内容在这里插入图片描述
    缺点&#xff1a;添加的内容是固定的&#xff0c;不能修改

     方法二&#xff1a;通过动态的方法添加内容

private void init2() {courselist &#61; Teacher_Impl.get_courselist(teacher.getId());//下拉框内容this.jComboBox1.addItem("请选择课程");for (String course : courselist) {this.jComboBox1.addItem(course);//添加到下拉框}}

this.jComboBox1.removeAllItems();//清空下拉款原来的内容(重要)

四、一些常用的方法

//在界面添加背景图片
ImageIcon bk &#61; new ImageIcon(this.getClass().getResource("../背景.jpg"));jLabel2.setIcon(bk);jLabel2.setBounds(0, 0, 910, 550);this.getLayeredPane().add(jLabel2, new Integer(Integer.MIN_VALUE));Container panel &#61; this.getContentPane();((JPanel) panel).setOpaque(false);//界面在电脑居中
this.setLocationRelativeTo(null);
//界面大小不能修改
this.setResizable(false);
//设置密码框的显示形式
this.jPasswordField1.setEchoChar(&#39;*&#39;);
//弹出框
JOptionPane.showMessageDialog(this, "密码或者姓名错误");
//判断单选项是否被点击
this.jRadioButton1.isSelected();
//将界面睡眠(关闭)
this.dispose();
//跳转到下一个界面
new Teacher_Menus(tea).setVisible(true);
//显示密码
this.jPasswordField1.setEchoChar((char) 0);
//设置文本框不能被修改
this.jTextField1.setEditable(false);

欢迎访问我的个人博客


推荐阅读
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • 深入解析 Android 中 EditText 的 getLayoutParams 方法及其代码应用实例 ... [详细]
  • 在使用SSH框架进行项目开发时,经常会遇到一些常见的问题。例如,在Spring配置文件中配置AOP事务声明后,进行单元测试时可能会出现“No Hibernate Session bound to thread”的错误。本文将详细探讨这一问题的原因,并提供有效的解决方案,帮助开发者顺利解决此类问题。 ... [详细]
  • 本文探讨了 TypeScript 中泛型的重要性和应用场景,通过多个实例详细解析了泛型如何提升代码的复用性和类型安全性。 ... [详细]
  • WPF项目学习.一
    WPF项目搭建版权声明:本文为博主初学经验,未经博主允许不得转载。一、前言记录在学习与制作WPF过程中遇到的解决方案。使用MVVM的优点是数据和视图分离,双向绑定,低耦合,可重用行 ... [详细]
  • 本文整理了一份基础的嵌入式Linux工程师笔试题,涵盖填空题、编程题和简答题,旨在帮助考生更好地准备考试。 ... [详细]
  • Vue 实现表格分页功能详解
    本文将详细介绍如何在 Vue 中实现表格的分页功能,包括代码示例和具体实现步骤,帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 一个建表一个执行crud操作建表代码importandroid.content.Context;importandroid.database.sqlite.SQLiteDat ... [详细]
  • Spring Data JdbcTemplate 入门指南
    本文将介绍如何使用 Spring JdbcTemplate 进行数据库操作,包括查询和插入数据。我们将通过一个学生表的示例来演示具体步骤。 ... [详细]
  • Android 自定义 RecycleView 左滑上下分层示例代码
    为了满足项目需求,需要在多个场景中实现左滑删除功能,并且后续可能在列表项中增加其他功能。虽然网络上有很多左滑删除的示例,但大多数封装不够完善。因此,我们尝试自己封装一个更加灵活和通用的解决方案。 ... [详细]
  • 本文将带你快速了解 SpringMVC 框架的基本使用方法,通过实现一个简单的 Controller 并在浏览器中访问,展示 SpringMVC 的强大与简便。 ... [详细]
  • Flutter 2.* 路由管理详解
    本文详细介绍了 Flutter 2.* 中的路由管理机制,包括路由的基本概念、MaterialPageRoute 的使用、Navigator 的操作方法、路由传值、命名路由及其注册、路由钩子等。 ... [详细]
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • 在Java项目中,当两个文件进行互相调用时出现了函数错误。具体问题出现在 `MainFrame.java` 文件中,该文件位于 `cn.javass.bookmgr` 包下,并且导入了 `java.awt.BorderLayout` 和 `java.awt.Event` 等相关类。为了确保项目的正常运行,请求提供专业的解决方案,以解决函数调用中的错误。建议从类路径、依赖关系和方法签名等方面入手,进行全面排查和调试。 ... [详细]
  • 本文介绍了如何利用 Delphi 中的 IdTCPServer 和 IdTCPClient 控件实现高效的文件传输。这些控件在默认情况下采用阻塞模式,并且服务器端已经集成了多线程处理,能够支持任意大小的文件传输,无需担心数据包大小的限制。与传统的 ClientSocket 相比,Indy 控件提供了更为简洁和可靠的解决方案,特别适用于开发高性能的网络文件传输应用程序。 ... [详细]
author-avatar
mobiledu2502930533
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有