Java编程练习题(五)

1. 创建一用户界面窗口有两栏,其中一栏显示"北京","大连","武汉","上海","杭州","南京","广州","昆明",您可以从中选择您最喜欢的城市,另一栏显示六种品牌的电脑"宏基 ""NEC""联想""北大方正""DELL""Applet"。这两个列表可以实现单选和多选,Shift+鼠标点击项可以进行列表数据项的连续选择,Ctrl+鼠标点击项可以进行列表数据项的不连续选项。


Java编程练习题(五)
 

import java.awt.*;

 import java.awt.event.*;

 import javax.swing.*;

 import java.util.Vector;

 

 public class Eg_1 {

       JFrame  f;   

     

    public  Eg_1(){

           f=new JFrame();

           Container  con=f.getContentPane();

           con.setLayout(new GridLayout(1,2)); 

           ////1.

           String  s[]={"11111","22222","33333","44444","55555",

                                 "66666666","77777","888","9999999"};

           JList  list1=new JList(s);    

           con.add(new JScrollPane(list1));

          

           //////2

           Vector  v=new Vector();//向量----可变长度的数组

           v.addElement("aaaaaaaa");

           v.addElement("bbbba");

           v.addElement("ccccccccc");

           v.addElement("ddddddd");

                  v.addElement("aaaaaaaa");

           v.addElement("bbbba");

           v.addElement("ccccccccc");

           v.addElement("ddddddd");

          

           JList  list2=new JList(v);

           con.add(new JScrollPane(list2));

          

           f.setSize(400,300);

           f.setVisible(true);       

    } 

 

    public static void main(String args[]) {

        new Eg_1();

    }

}

 

 

 

 

2设计一个库存查询窗口,要求能够在选择商品种类的同时,在窗口中显示该商品的价格和数量。商品有"色拉油","齐心汽水","米酒","冰淇淋","蛋糕",相对应的价格和数量是:{"56""8""10""20""90"}{"232""50""109""48""30"}


Java编程练习题(五)
 

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.util.Vector;

 

public class Eg_2 extends JApplet implements ItemListener{

 //声明类,因为是小应用程序,故需要继承父类JApplet,并声明接口

 

    Container ctp;

    //容器

 

    JTextField      tf1;

     JTextField      tf2=new JTextField(5);//创建两个文本框类实例tf1

    JLabel lb1=new JLabel("单价:"),

               lb2=new JLabel("库存量:");//创建两个标签类实例tf2

 

 

    String      obj[]={"色拉油","齐心汽水","米酒","冰淇淋","蛋糕"},//定义三个数组,并付初始值

                  price[]={"56","8","10","20","90"},

                  num[]={"232","50","109","48","30"};

    ////////////////

    JComboBox cbx=new JComboBox();     //创建弹出式列表实例cbx

 

    public void init(){                //写小应用程序的初始化方法init()

        ctp=this.getContentPane();

        ctp.setLayout(new FlowLayout());   //设置布局管理器-流布局管理器

 

        tf1=new JTextField(5);

 

        for(int n=0;n<obj.length;n++)    //用循环将数组的值加到JcomboBox实例中

        cbx.addItem(obj[n]);

        ctp.add(cbx);

        cbx.addItemListener(this);          //cbx安装监视器,this是指类自己本身

        ctp.add(lb1);

        ctp.add(tf1);

        ctp.add(lb2);

        ctp.add(tf2);

    } //将标签、文本框、加到内容面板上

 

    public void itemStateChanged(ItemEvent e){

        int x=0,y;

        String ko=(String)e.getItem();

        for(y=0;y<obj.length;y++)

            if(ko==obj[y])

                x=cbx.getSelectedIndex();

        tf1.setText(price[x]);

        tf2.setText(num[x]);

    }

}

 

3 请你为单位设计一个图书资料借用系统。系统要求:借用图书资料的科室人员必须详细填写职工编号、图书资料名称、借书日期、还书日期、备注。(该例题形式常在网络问卷或会员注册中见到)。


Java编程练习题(五)
 

 

import javax.swing.*;

import javax.swing.border.*;

import java.awt.*;

import java.awt.event.*;

 

 public class Eg_3 implements ActionListener{

 

    JFrame f = null;

 

    public void actionPerformed(ActionEvent e) {  //实现ActionListener类接口的方法

       String cls = e.getActionCommand(); //获得事件按钮的内容赋给字符串变量cls

                           //得到按钮上的名称

       if (cls.equals("借阅图书资料")) {  //cls的内容与字符串"借阅图书资料"比较

           new LendingSystem(f);  //如果相同,就创建LendingSystem类的匿名实例

       }

       else if (cls.equals("关闭系统")) {  //否则就关闭系统窗口

           System.exit(0);

        }

    }

 

    public Eg_3(){    // 构建BookdataDialog类的构造方法

        f = new JFrame("图书资料借阅系统");

        Container contentPane = f.getContentPane();

 

        JPanel buttonPanel = new JPanel();

 

        JButton b = new JButton("借阅图书资料");

        b.addActionListener(this);  //为按钮实例b安装监视器

        buttonPanel.add(b);       //将按钮实例b加到面板容器中

 

        b = new JButton("关闭系统");

        b.addActionListener(this);

        buttonPanel.add(b);

 

        buttonPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.red,8),

                                          "图书资料借阅系统",TitledBorder.CENTER,TitledBorder.TOP));

 

       contentPane.add(buttonPanel,BorderLayout.CENTER);

 

       f.pack();

       f.setVisible(true);

    }

 

 

    public static void main(String[] args){

        new Eg_3();

    }

}

 

 

 

 class LendingSystem implements ActionListener{  //声明LendingSystem类和接口

    JTextField staffField,

                     objectField,

                     borrowDateField,

                     returnDateField,

                     reasonField;

 

    JDialog dialog; //声明对话框对象

 

    public void actionPerformed(ActionEvent e) {  //实现接口的方法

      String cmd = e.getActionCommand();

      if (cmd.equals("确定")) { }

         else if(cmd.equals("取消")){

             dialog.dispose();

       }}

 

 

    LendingSystem(JFrame f){     // 实现LendingSystem类的构造方法

     dialog = new JDialog(f,"借用图书资料",false);  //创建对话框实例

 

     GridBagConstraints c;     //创建容器对象c

     //往袋布局限制类

     int gridx,gridy,//网格坐标

          gridwidth,gridheight,//所占网格的个数

          anchor,//锚点

          fill,//填充

          ipadx,ipady;//定义整型数据变量

     double weightx,weighty;   //是否可以放大---------不为0

 

     Insets inset;             //创件插件类对象

     GridBagLayout gridbag = new GridBagLayout(); //创建网袋布局管理器实例

     Container dialogPane = dialog.getContentPane();

     dialogPane.setLayout(gridbag);

 

     ///////////////////////L1

     JLabel label = new JLabel("图书资料编号 : "); //创建标签实例

     gridx=0;               //0

     gridy=0;               //0

     gridwidth = 1;         //占一个单位宽度

     gridheight = 1;        //占一个单位高度

     weightx = 0;           //窗口增大时组件宽度增大比率0

     weighty = 0;           //窗口增大时组件高度增大比率0

     anchor = GridBagConstraints.CENTER; //容器大于组件size时将组件置于容器中央

     fill = GridBagConstraints.BOTH;     //窗口拉大时会填满水平与垂直空间

     inset = new Insets(0,0,0,0);        //组件间间距

     ipadx = 0;                          //组件内水平宽度

     ipady = 0;                          //组件内垂直高度

 

 

     c = new GridBagConstraints(gridx,gridy,gridwidth,gridheight,

                                                  weightx,weighty,anchor,fill,inset,ipadx,ipady);

     gridbag.setConstraints(label,c);

     dialogPane.add(label);

 

     ///////////////////////L2

     label = new JLabel("图书资料名称 : ");

     gridx=3;

     gridy=0;

     c = new GridBagConstraints(gridx,gridy,gridwidth,gridheight,

                                                weightx,weighty,anchor,fill,inset,ipadx,ipady);

 

     gridbag.setConstraints(label,c);

     dialogPane.add(label);

 

     ////////////////////////L3

 

 

 

你可能感兴趣的:(java,编程,c,swing,F#)