问: 编写Java application时,如何设置proxy的信息,以便访问外部网站? 答: 若在java application中访问外部网站,首先应设置proxy信息,样例代码如下:
| import java.util.properties; ..... Properties sys = System.getProperties(); sys.put("proxySet","true"); sys.put("proxyHost","myHTTP.proxyserver.com"); sys.put("proxyPort","80"); System.setProperties(sys); u = new URL(website); connect = (HttpURLConnection)u.openConnection(); ..... |
问: Swing组件JList的列表数据修改了,如何通知JList改变显示? 答: JList组件有一个单独的显示模式ListModel来表示JList的显示数据. JList创建以后,JList数据元素的值及数据元素的数量可以动态地改变. JList在它的数据模式ListModel中观察数据的改变.因此,一个ListModel 的正确实现应当在每次数据发生改变时,通知事件的监听者. 当使用构造函数JList(Object[])创建一个JList的实例时,系统将自动 创建一个DefaultListModel的实例来存储JList的显示数据, 可以调用 DefaultListModel中定义的简便方法来动态地修改JList的数据,如 removeElementAt(index),addElement(Object)等. DefaultListModel 在修改数据的同时,将通知JList关于数据的改变. 问: 在Java applet中如何实现一个模式对话框? 答: 在Java applet中实现模式对话框的关键就是在创建一个对话框的时候 要为该对话框指定一个正确的父窗口.因为Applet是Panel类的子类,不 可以作为对话框的父窗口,所以首先要获得applet所在的窗口,作为模式 对话框的父窗口. 样例代码如下:
| ..... Dialog d = new Dialog( getParentWindow(comp),title); // comp为applet上的任意一个组件 .... public void getParentWindow(Component compOnApplet,String title){ Container c = compOnApplet.getParent(); while (c != null) { if (c instanceof Frame) return (Frame) c; c = c.getParent(); } return null; } |
|