作者:mobiledu2502930533 | 来源:互联网 | 2023-08-30 12:44
MyEclipse8.5中的可视化界面JTable和JComboBox应用,及常用方法。
一、可视化界面的创建
- 创建项目(Java):因为比较简单就不详细介绍。
- 创建一个可视化界面。
(1)右键src下的一个包(用于保存可视化界面)->new->Matisse Form.
(2)此时就会来到这个界面,在Name框中输入类名。然后在Select template:点击JFrame后,点击Finish即可。
(3)此时来到了在MyEclipse右侧出现这个窗口,点击SwingControls即可在会出现组件,双击拉到左侧界面即可将其添加到界面中。
(4)功能区:点击组件,在右下侧可以出现功能区,Properites区主要是组件的样式,Event主要是点击事件。其他俩个区很少使用。
二、JTable点击事件
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();String grade&#61;(String)this.jTable1.getValueAt(current_row, 4);System.out.println(grade); }
- 设置表格的特定单元格可以编辑
这里需要覆写isCellEditable()方法
this.jTable1.setModel(new DefaultTableModel(detail, title){public boolean isCellEditable(int row, int column) {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);
欢迎访问我的个人博客