Java 编程练习题(三)



 1.
设计一GUI程序,在窗口中制作一个按钮,当将鼠标的光标移到按钮上时显示图一,按下按钮时显示图二,离开按钮时显示图三。




 
        

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

   

public class Eg_1{

    public static void main(String args[]){

        JFrame f = new JFrame("myRollover");

        Container contentPane = f.getContentPane();

        Icon rollover = new ImageIcon(".\\1.gif"); //创建icon对像实例rollover

        Icon general = new ImageIcon(".\\2.gif");//创建icon对像实例 general

        Icon press = new ImageIcon(".\\3.gif"); //创建icon对像实例 press

        Icon disable = new ImageIcon(".\\4.gif");//创建icon对像实例 disable

        JButton b = new JButton();                      //创建按钮对像实例 b

        b.setRolloverEnabled(true);              //设按钮b的标示具有翻滚的功能

        b.setIcon(general);       //icon实例general加载到按钮上,按钮上就显示该图形

        b.setRolloverIcon(rollover);  //按钮翻滚后显示的图形是rollover

        b.setPressedIcon(press);      //鼠标按下时显示press图形

        contentPane.add(b);           //将按钮加到内容面板上

        f.pack();                     //显示窗口

        f.show();                     //显示窗口中的组件

        f.addWindowListener(new WindowAdapter() {//处理窗口关闭

                public void windowClosing(WindowEvent e) {

                    System.exit(0);

                }

            });

     }

}

 

 

 

 

 

2. 设计一程序,要求在图形用户界面中输入产品的说明书,输入内容有产品名称、产品规格、产品编号、产品说明。



 

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

   

public class Eg_2{

    public static void main(String args[]){  

        JFrame f = new JFrame("JTextArea例题");  //创建JFrame窗口容器类对象f

        Container contentPane = f.getContentPane();//创建内容面板对象实例

        contentPane.setLayout(new BorderLayout()); //设置内容面板采用边界布局管理器

        JPanel p1 = new JPanel();                  //创建面板容器实例。

        p1.setLayout(new GridBagLayout());         //设置面板采用网袋布局管理器

        GridBagConstraints gbc = new GridBagConstraints();//创建网袋格布局对象gbc

        gbc.anchor = GridBagConstraints.WEST; //确定网袋格布局管理器对象gbc的位置

        gbc.insets = new Insets(2,2,2,2);         //gbc与边界的距离(,,,)

        p1.setBorder(BorderFactory.createTitledBorder("建构一般的JTextArea"));

                                               //设置边界框和说明文字       

        JLabel l1 = new JLabel("产品名称:");    //创建4个标签实例

        JLabel l2 = new JLabel("产号编号:");   

        JLabel l3 = new JLabel("产品规格:");       

        JLabel l4 = new JLabel("产品说明:");       

        JTextArea t1 = new JTextArea(2,8);      //创建4个文本域实例

        JTextArea t2 = new JTextArea(10,2);//书有错,请改正                    

        JTextArea t3 = new JTextArea("TravelMate 372 系列",3,10);       

        JTextArea t4 = new JTextArea("采用因特尔迅驰移动技术,因特尔@奔腾M处理器1.5GHz",5,10);               //以最合适的长度存放字符串

        t1.setText("宏基笔记本电脑");   //向文本域t1写入文字数据,清除以前的内容

        t2.append("A19345-by3874534-34345"); //在文本域t2中已有文字后写入该字符串,

        t4.setLineWrap(true); /*激活自动换行功能,当文字输入长度大于文本域提供的宽

                           度时,会自动换行。*/

        gbc.gridy=1;gbc.gridx=0;p1.add(l1,gbc);/*29-36行将4个标签和4个文本域按指定

                     的位置加到面板容器中。*/

        gbc.gridx=1;p1.add(t1,gbc);

        gbc.gridy=2;gbc.gridx=0;p1.add(l2,gbc);                     

        gbc.gridx=1;p1.add(t2,gbc);

        gbc.gridy=3;gbc.gridx=0;p1.add(l3,gbc);

        gbc.gridx=1;p1.add(t3,gbc);

        gbc.gridy=4;gbc.gridx=0;p1.add(l4,gbc);

        gbc.gridx=1;p1.add(t4,gbc);       

        contentPane.add(p1); //把面板容器加到内容面板里。

        f.pack();           //使窗口可见

        f.show();           //使窗口中的组件可见

        f.addWindowListener(new WindowAdapter() {

                public void windowClosing(WindowEvent e) {                   

                    System.exit(0);           

                }

            });

     }

}

 

 

 

 

 

3. 设计一程序,在窗口中显示一个名为JEditorPane.html文件.

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.io.*;

 //开始编写文本显示类,给类起一个好名字,别忘了在类名前加上public class

public class Eg_3 {

 

    public static void main(String args[]) {       //在类体中写主方法main()

        JEditorPane editPane = null; //定义一个JEditorPane 的对象editPane,并初始化为null

        //

        try{                    

            File file = new File ("d:\\w618\\index.htm");//先创建一文件类的实例。

            String str = file.getAbsolutePath();/*通过文件类对象调用方法getAbsolutePath()获的

                      文件所在的路径,并将该路径支付给字符串变量str*/

            str = "file:"+str; //给一字符串变量赋值。----书错

            editPane = new JEditorPane();//创建JEditorPane类的实例。

            editPane.setPage(str);

         }      //由该实例对象负责将字符串显示在窗口面板上。

         catch(IOException ioe) {      /*捕捉文件打不开或不存在等异常事件,然后对异

                           常事件进行处理,关闭窗口。*/

            ioe.printStackTrace(System.err);//打印发生异常的信息        

            System.exit(0);

         }

        

        JFrame f = new JFrame("文本显示窗口");

        f.setContentPane(new JScrollPane(editPane));/* 由类对象f 调用方法

                         setContentPane,设置窗口容器面板为滚动式面板.*/

        f.pack();               //设置窗口面板的大小;

        f.show();     

     } //主方法main()结束

    

}   //JEditPane1类结束

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值