黑马程序员技术交流社区

标题: GUI练习中使用JFrame,有点问题需要解决 [打印本页]

作者: 孟浩然    时间: 2012-6-27 21:22
标题: GUI练习中使用JFrame,有点问题需要解决
本帖最后由 孟浩然 于 2012-6-28 17:31 编辑

书上的一个学生信息管理系统,貌似很老了,我用继承JFrame类做的,对这个类的方法不是太熟悉,但方法貌似和Frame用起来差不多,结合api把基本功能都实现了,但是出点问题,不知道怎么解决:我点击浏览后,会把我数据库(sql2000)里的学生信息都显示在下方的JTextArea里面,但是问题是这时那个文本域里面的所有文本都可以修改,这太不靠谱了,这个不知道怎么解决;还有一个就是怎么在文本域里单击的时候选择的是一行,刚开始以为应该是JTextArea里有设置一行文本的,但是没有找到,不知道是哪一个,这时是不是要监听鼠标来确定是否选择一行呢?就这两个疑问,窗口的主要布局就是上面五个按钮,下面一个文本域,下面代码是读取数据库信息并写入JTextArea里面的代码,代码太长了就贴这点吧,我觉得应该是改这里的
  1. //浏览功能实现
  2.         public void listRecord()
  3.         {
  4.                 try
  5.                 {
  6.                         Connection con=getConnection();
  7.                         Statement st=con.createStatement();
  8.                         String qurey,id,name,data="学号"+"\t"+"姓名"+"\t"+"年龄"+"\n";
  9.                         int age;
  10.                         qurey="select*from table1";
  11.                         ResultSet rs=st.executeQuery(qurey);
  12.                         while(rs.next())
  13.                         {
  14.                                 id=rs.getString("id");
  15.                                 name=rs.getString("name");
  16.                                 age=rs.getInt("age");
  17.                                 data+=id+"\t"+name+"\t"+age+"\n";
  18.                         }
  19.                         ta.setText(data);
  20.                         rs.close();
  21.                         st.close();
  22.                         con.close();
  23.                 }
  24.                 catch (Exception e)
  25.                 {
  26.                         System.out.println(e.toString());
  27.                 }
  28.         }
复制代码

作者: 黑马_张伟    时间: 2012-6-28 10:25
public void setEditable(boolean b)设置指定的 boolean 变量,以指示此 TextComponent 是否应该为可编辑的。当状态更改时,将激发 PropertyChange 事件("editable")。

参数:
b - 要设置的 boolean

作者: 黑马_张伟    时间: 2012-6-28 10:27
至于单击选择一行,我不太明白你的意思。没见过文本域要单击选一行的,直接鼠标拖选不行吗?
作者: 刘蕴学    时间: 2012-6-28 15:34
单选一行,一个是鼠标事件,你最好把监听器加到顶层容器里,在一个就是选中的问题,这个可以通过文本组件内的document对象来解决
作者: 孟浩然    时间: 2012-6-28 17:30
刘蕴学 发表于 2012-6-28 15:34
单选一行,一个是鼠标事件,你最好把监听器加到顶层容器里,在一个就是选中的问题,这个可以通过文本组件内 ...

有了思路和方法就ok了,多谢!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2