10. 应用树结点构造一棵树,其根结点为 “M0407”,根结点下有三个结点 “C040701”, “C040702”, “C040703”,并且结点“C040701”又包括二个树叶结点 “R201”,“R202”。提示:结点类为DefaultMutableTreeNode。
import javax.swing.*;
import javax.swing.tree.*;
public class TreeTest extends JFrame{
public TreeTest(){
//(1)定义树的根结点
//定义“C040701”, “C040702”, “C040703”三个结点
DefaultMutableTreeNode r1 = new DefaultMutableTreeNode(“C040701”);
DefaultMutableTreeNode r2 = new DefaultMutableTreeNode(“M040702”);
DefaultMutableTreeNode r3 = new DefaultMutableTreeNode(“M040703”);
//(2) 定义“R201”,“R202”二个结点
//(3)使用根结点创建树
//(4)为根结点添加r1, r2, r3三个子结点
//为结点r1添加“R201”,“R202”二个子结点
getContentPane().add(tree);
setSize(200,200);
setVisible(true);
}
}
11. 处理树结点选择事件,事件类为TreeSelectionEvent,事件监听接口为TreeSelectionListener。
import javax.swing.*;
//(1)引入其它的相关包
public class TreeDemo{
public TreeDemo(){
DefaultMutableTreeNode root = new DefaultMutableTreeNode(“Room”);
DefaultMutableTreeNode r1 =new DefaultMutableTreeNode(“R1”);
DefaultMutableTreeNode r2 =new DefaultMutableTreeNode(“R2”);
//(2)创建树,其根结点为root, 根结点下有二个子结点r1和r2
//(3)为树注册监听器
JFrame fr = new JFrame();
fr.getContentPane().add(tree);
fr.setSize(300,300);
fr.setVisible(true);
}
//(4)声明内部类TreeHandler,实现监听
{
public void valueChanged(TreeSelectionEvent){
//得到事件源对象,并强制转换为JTree类型
JTree tree = (5);
TreeNode node = (TreeNode)tree.getLastSelectedPathComponent();
System.out.println(“You selected:” + node.toString());
}
}
}
12. 定义类ThdTest,其父类为Thread类;并在主方法中创建一个ThdTest的对象,同时启动该线程对象。
//声明类ThdTest,其父类为Thread类
(1)
{
public void run(){
for(int i = 0; i < 10; i++){
//输出当前线程的名字和i的值
(2)
try{
//让当前线程休眠100ms
(3)
}catch(Exception e){ e.printStackTrace ();}
}
}
}
public class Demo{
public static void main(String[] args){
//创建一个ThdTest的对象
(4)
//启动线程对象,使其进入就绪状态
(5)
}
}
13. 定义类ThdDemo,实现接口Runnable;并在主方法中创建一个ThdDemo的对象td,然后使用对象td创建一个线程对象,同时启动该线程对象。
//声明类ThdDemo,实现接口Runnable
(1)
class ThdDemo implements Runnable{
public void run(){
for(int i = 0; i < 10; i++){
//输出当前线程的名字和i的值
System.out.println(Thread.currentThread().getName() + “:” + i);
try{
//让当前线程休眠100ms
(2)
}catch(Exception e){ e.printStackTrace ();}
}
}
}
public class Demo{
public static void main(String[] args){
//创建一个ThdDemo的对象td
(3)
//使用td创建线程对象
(4)
//启动线程对象,使其进入就绪状态
(5)
}
}
14.制作一个窗体,包括一个带图标的按钮(JButton类对象),并设置边框,当用户点击按钮时,弹出一个确认对话框。
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
class ViewDemo{
JFrame fr;
public ViewDemo(){
//用ImageIcon类包装一张图片(java.gif),
//该图片在当前目录的img子目录下
(1)
//创建一个带有图标的按钮btn
(2)
/**使用线形边框类的构造方法LineBorder(Color c, int n),
*创建一个边框对象bd,其中c为边框的颜色,n为边框的粗细。
*/
(3)
btn.setBorder(bd);
//给按钮注册监听事件
(4)
fr = new JFrame();
Container c = fr.getContentPane();
c.add(btn);
fr.setSize(300,300);
fr.setVisible(true);
}
class BtnHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
String msg = "Are you sure?";
/*使用JOptionPane类的静态方法showConfirmDialog(Frame f, String s),其中f为对话框所属的窗体,s为对话框显示的信息,弹出一个确认对话框。*/
(5)
}
}
}
15.制作一个Applet小应用程序,设置其布局为BorderLayout,定义一个按钮和多行文本框并分别放到 “North” 区域和 “Center” 区域。创建网页文件运行这个Applet程序。
import java.applet.*;
import javax.swing.*;
//(1)声明AppletDemo类,其父类为Applet,并实现接口ActionListener
{
JButton btn;
JTextArea txt;
public void init(){
//设置其布局为BorderLayout
(2)
btn = new JButton(“Show Msg”);
txt = new JTextArea(3, 20);
//把按钮btn放到 “North” 区域,txt放到 “Center” 区域
(3)
//给按钮注册监听器
(4)
}
public void actionPerformed(ActionEvent e){
txt.append(btn.getText());
}
}
网页文件为:
<BODY>
<applet code="(5) " width="300" height="200"></applet>
</BODY>