当前位置:中国星空学习网首页>Linux/DOS>Linux基础>正文  
开放系统世界·Java应用问答·6月号

 

问:怎么样限制在JTextField里面只能输入4个字母?











答:你可以参考以下例子:

import javax.swing.*;import java.awt.*;import javax.swing.event.*;import java.awt.event.*;import javax.swing.text.*; public class Text4 extends JFrame{ JTextField jtf=new JTextField(4); JLabel jl=new JLabel("请输入4个字母");  public static void main(String[] args) {Text4 t4=new Text4();  t4.setSize(300,300);  t4.setVisible(true); }  public Text4() {Container content=getContentPane();  content.setLayout(new FlowLayout());  content.add(jl);   jtf.setDocument(new newDocument());  content.add(jtf); }  class newDocument extends PlainDocument {  public void insertString(int offs,String str,    AttributeSet a)throws BadLocationException  {if (this.getLength() == 4)    str = "";   super.insertString(offs,str,a);  } }}


问:JTable可以合并Cell吗?

答:网站http://www2.gol.com/users/tame/swing/examples/JTableExamples4.html和http://www2.gol.com/users/tame/swing/examples/SwingExamples.html上有着大量参考实例。不过下载所有文件后需要将所有“jp.gr.java_conf.tame.swing”改成“javax.swing”。

问:我在Microsoft的站点下载了一个SQL Server 2000 的JDBC Driver,在Jbuilder 6.0进行相应的配置:

Driver:com.microsoft.jdbc.sqlserver. SQLServerDriver;

URL:jdbc:microsoft.sqlserver://servername:1433

Username:sa Password:****

完成之后点击ok按钮,报错为:The driver: com.microsoft.jdbc.sqlserver. SQLServerDriver could not be loaded. This could be a problem with the driver itself, or that the driver is not found on the classpath。怎样才能将它加入JBuilder 6.0的Classpath中呢?

答:你在JBuilder 6.0的tools→enterprise setup→database drivers中加入Microsoft的JDBC驱动就可以了。在这之前,最好先给JDBC驱动设置一个自定义的Library,方法为点击tools→configure libraries→new,任取一个名称,比如MS Sqlserver Driver,然后在Class中单击add按钮,将Microsoft JDBC的三个Jar文件加入,这三个Jar文件分别是mssqlserver.jar、msutil.jar、msbase.jar。

问:我每次产生EJB时都出现以下问题,怎么解决?

"myEJB.ejbgrp": C:\jbuilder5\jdk1.3\bin\javaw -classpath "C:\EJB\myEJB01\classes;C:\bea\wlserver6.0\lib\ weblogic_sp.jar;C:\bea\wlserver6.0\lib\weblogic.jar;C:\bea\wlserver6.0\lib\ cr_wls60f.jar;C:\jbuilder5\jdk1.3\DEMO\JFC\ Java2D\Java2Demo.jar;C:\jbuilder5\jdk1.3\JRE\LIB\ I18N.JAR;C:\jbuilder5\jdk1.3\JRE\LIB\ JAWS.JAR;C:\jbuilder5\jdk1.3\JRE\LIB \RT.JAR;C:\jbuilder5\jdk1.3\JRE\LIB\ sunrsasign.jar;C:\jbuilder5\jdk1.3\LIB\DT.JAR;C:\jbuilder5\jdk1.3\LIB\TOOLS.JAR"  weblogic.ejbc -keepgenerated -compiler C:/jbuilder5/bin/bcjW C:/EJB/myEJB01/myEJB.jar.jar C:/EJB/myEJB01/myEJB.jar "myEJB.ejbgrp": Spaces in the temporary directory path may cause WebLogic   EJBC utility to produce fatal compile errors."myEJB.ejbgrp": <2001-11-21 上午10时26分52秒> <Error> <EJB> <EJB Deployment: Enterprise1 has a class myejb01.Enterprise1Bean which is in the classpath. This class should only be located in the ejb-jar file.>……“myEJB.ejbgrp”: ERROR: ejbc found errors


答:在Windows 2000中,右击我的电脑→高级→环境变量,把临时目录的空格去掉。或者不修改临时目录,在Enterprise setup下配置Application Servers 中Weblogic 6.1的Compiler for EJBC Usage 也可以。

问:在使用CMP执行Select操作时,是不是只能按照固定方式来查询,就是说有多少种参数组合,就得做多少个findBy...() 呢?

答:一般来说,最终用户是不会和实体Bean直接打交道的,你可以通过会话Bean调用实体Bean。不过可以肯定的是,决不是有多少种组合就得做多少个findBy...()。在<ejb-ql></ejb-ql>这对元素里,可以指定查询条件的。如果用过JDBC的PreparedStatement,就会有助于你对这个问题的了解。因为它们的参数形式是差不多的,例如“SELECT DISTINCT o.col2 FROM table AS o WHERE o.col1 > ?1”。在 <ejb-ql></ejb-ql>这对元素里,使用这样的EJB查询语言应该算是能够达到你的要求了。

问:Java Interface是常量存放的最佳地点吗?

答:由于Java Interface中声明的字段在编译时会自动加上static final的修饰符,即声明为常量,因而Interface通常是存放常量的最佳地点。然而在Java的实际应用时却会产生一些问题。 问题的起因有两个,第一,所使用的常量并不是一成不变的,而是相对于变量不能赋值改变。例如在一个工程初期定义常量∏=3.14,而由于计算精度的提高可能会重新定义∏=3.14159,此时整个项目对此常量的引用都应该做出改变。第二,Java是动态语言。与C++之类的静态语言不同,Java对一些字段的引用可以在运行期动态进行,这种灵活性是Java这样动态语言的一大优势。这就使得Java工程中部分内容改变时不用重新编译整个项目,而只需编译改变的部分并重新发布就可以改变整个应用。

问:为什么在Weblogic中Beanshell可以执行一般的脚本语句,但是不能引用其它包中类的问题?

答:其实这不是Beanshell的问题,而是Weblogic本身已经内置了Beanshell类,只不过版本比较老一点。我们知道系统在引用类的时候是按照先找到先用的原理调用的,也就是说如果在Weblogic调用它自己内置的Beanshell类之前找到我们设置的Beanshell包即可。

问:快速开发时可以使用的Java文件工具方法有哪些?

答:Java I/O系统被设计为功能强大并便于扩展,但是当将一个简单的文件加载到一个字符串时,它有时候显得太强大了。你可以使用简单的文件加载和文件保存程序。首先创建一个静态(static)的方法,给出一个字符串的文件名,然后将文件的内容加载到一个字符串中,或者返回一个null表明什么也得不到。参考代码如下:

/*** 加载给定文件名的内容,如果文件不可加载返回null。*/static public String loadFile(String filename) { File file = new File( filename ); try {Reader rdr = new FileReader(file);  long sz = file.length();  // can only read in things of MAXINT length  char[] ch = newchar[(int)sz];  rdr.read(ch);  rdr.close();  return new String(ch); } catch(IOException ioe) {  return null; }}


(责任编辑:西门吹风)
j30B0j30B0j30B0

 

上一篇: 使用U盘的小型ADSL防火墙
下一篇: 对Linux体系结构的一个设想
站内公告
栏目导航
 Windows系统
 Linux/DOS
 办公应用
 工具软件
 图形图象
 网络应用
 安全防御
 网络编程
 软件教程
 实用技术
最新文章
中国星空图片网
·人体艺术
·性感美眉
·生活自拍
·幽默搞笑
·超级帅哥
·精彩万花筒
·梦幻景色
中国星空探索网
·神秘追踪 灵异接触
·鬼故事 灵异空间 图片
·未解之谜 探索宇宙
中国星空两性网
·两性图文 我的性事 情人 成人幽默
·性爱技巧 两性测试 性爱误区
·性事花边 生育避孕 性保健 性疾病
·两性生理 文化 讨论 心理 知识
·爱人同志 非常男女 一夜情
中国星空算网命
·手机吉凶 QQ号码吉凶 周公解梦
·塔罗牌测试 狗年运程
·关公灵签 紫薇斗数 八字排盘
·测试:你的成功指数有多少
·测验你的家庭是否美满?
·面相: 面型 眼睛 耳朵 口唇
·手相:拉你一把奶油桂花手
·测试:你能成为大富翁吗?
联系方式 设为首页
中国星空旗下---中国星空学习网    Copyright 2005-2050 Year   xx.happy369.com  Networks.All rights reserved
中国星空网所有内容均来源于网络,版权属于原作者,如侵犯到您的权益,请与我们联系,我们将尽快予以删除或处理。
中国星空不承担由于内容的合法性及健康性所引起的一切争议和法律责任。
陕ICP备05011765号 联系我们 
《女人如烟》--演唱:魏佳艺