资源描述:
《新编java实用教程_史斌星_史佳_习题1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、习题1212.1为什么要在JFrame窗口添加内容面板?怎样添加内容面板?答:由于不能直接在JFrame窗口设置布局管理和添加组件,所以需要先在JFrame窗口添加内容面板,再在内容面板上设置布局管理和添加组件。在JFrame窗口调用getContentPane方法,可返回JFrame窗口一个Container类型的对象,这就是JFrame窗口的内容面板。12.2程序smp121.java中类smp121a是JPanel的子类,试将它换成JButton的子类,写出修改后的程序代码。答:以下程序xt122.java符合题意:importjav
2、ax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassxt122extendsJFrame{xt122(){super("通过JPanel对象绘图");setSize(280,200);setVisible(true);1Containercp=getContentPane();JButtonjp=newxt122a();cp.add(jp);addWindowListener(newWindowAdapter(){publicvoidwindowClosing(Wind
3、owEvente){System.exit(0);}});}classxt122aextendsJButton{publicvoidpaintComponent(Graphicsg){g.setColor(Color.blue);g.drawLine(20,40,240,40);g.drawRect(20,75,66,50);g.drawRoundRect(100,75,50,50,8,8);g.drawOval(160,75,80,50);}}publicstaticvoidmain(Stringargs[]){xt122frm=newx
4、t122();}}12.3按照以下要求创建一个带滚动条的文本区。打开的窗口中有一个文本区和一个按钮,文本区具有水平、垂直两个方向滚动条的。程序启动时展示一个空白文本区。单击一次按钮,文本区中便显示文字:“这是一个具有水平和垂直两个方向滚动条的文本区。”并自动换行。答:先创建一个文本区对象,再以该对象为参量调用过JScrollPane类的构造方法,便创建了一个带滚动条文本区对象,如以下程序xt123.java所示:importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publi
5、cclassxt123extendsJFrameimplementsActionListener{JTextAreata;JButtonbt;Stringstr;xt123(){Containercp=getContentPane();cp.setLayout(newFlowLayout());bt=newJButton("显示");ta=newJTextArea("",8,20);str="这是一个具有水平和垂直两个方向滚动条的文本区。"+"";JScrollPanesp=newJScrollPane(ta,ScrollPaneCon
6、stants.VERTICAL_SCROLLBAR_ALWAYS,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);cp.add(sp);cp.add(bt);setVisible(true);setSize(260,240);bt.addActionListener(this);addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});}publicvoidact
7、ionPerformed(ActionEvente){if(e.getSource()==bt){ta.append(str);}}publicstaticvoidmain(Stringargs[]){xt123frm=newxt123();}}12.4按照以下要求编写一个JFrame程序。界面上有一个JWindow窗口和一个“关闭”按钮。JWindow窗口中有“这是一个JWindow窗口”一行文字。单击“关闭”按钮便关闭了JWindow窗口,但是不关闭程序。要求采用无宿主的JWindow构造方法,界面布局应合理美观。答:以下程序xt124
8、.java符合本题目要求:importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassxt124