java程序设计教程部分答案3Word格式.docx
《java程序设计教程部分答案3Word格式.docx》由会员分享,可在线阅读,更多相关《java程序设计教程部分答案3Word格式.docx(30页珍藏版)》请在冰豆网上搜索。
}
importjava.awt.BorderLayout;
importjava.awt.Color;
importjava.awt.Component;
importjava.awt.FlowLayout;
importjava.awt.Graphics;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.Box;
importjavax.swing.BoxLayout;
importjavax.swing.JButton;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
importjavax.swing.JTextField;
publicclassAeiouPanelextendsJPanel{
privateJLabelinput,label1,label2,label3,label4,label5,label6;
privateJTextFieldtext;
privateJButtonsure,exit;
privateJPanelpanel,panel1;
privatefinalintN=60,WITH=30;
publicAeiouPanel(){
input=newJLabel("
InputCharacter:
"
text=newJTextField(15);
sure=newJButton("
确定"
exit=newJButton("
退出"
panel=newJPanel();
panel1=newJPanel();
label1=newJLabel("
a:
label2=newJLabel("
e:
label3=newJLabel("
i:
label4=newJLabel("
o:
label5=newJLabel("
u:
label6=newJLabel("
其它字符:
AeiouListenerlistener=newAeiouListener();
sure.addActionListener(listener);
exit.addActionListener(listener);
panel.setLayout(newFlowLayout());
panel.setBackground(Color.cyan);
panel.add(input);
panel.add(text);
panel.add(sure);
panel.add(exit);
panel1.setLayout(newBoxLayout(panel1,BoxLayout.Y_AXIS));
panel1.setBackground(Color.cyan);
panel1.add(label1);
panel1.add(Box.createRigidArea(newDimension(0,20)));
panel1.add(label2);
panel1.add(label3);
panel1.add(label4);
panel1.add(label5);
panel1.add(label6);
setLayout(newBorderLayout());
add(panel,BorderLayout.NORTH);
add(panel1,BorderLayout.EAST);
setBackground(Color.cyan);
setPreferredSize(newDimension(500,500));
privateclassAeiouListenerimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==sure)
repaint();
if(e.getSource()==exit){
System.exit(0);
}
}
publicvoidpaintComponent(Graphicspage){
super.paintComponent(page);
Stringa=text.getText();
intj=0,l=0,m=0,n=0,k=0,p=0;
for(inti=0;
i<
a.length();
i++){
switch(a.charAt(i)){
case'
a'
:
j++;
break;
e'
l++;
i'
m++;
o'
n++;
u'
p++;
default:
k++;
label1.setText("
+j);
label2.setText("
+l);
label3.setText("
+m);
label4.setText("
+n);
label5.setText("
+p);
label6.setText("
+k);
intx=50,y=50,x1=75;
page.setColor(Color.black);
page.drawLine(x,400,450,400);
page.drawLine(x,y,x,400);
page.setColor(Color.red);
page.fillRect(x1,400-10*j,WITH,10*j);
page.setColor(Color.blue);
page.fillRect(x1+N,400-10*l,WITH,10*l);
page.setColor(Color.green);
page.fillRect(x1+2*N,400-10*m,WITH,10*m);
page.setColor(Color.yellow);
page.fillRect(x1+3*N,400-10*n,WITH,10*n);
page.setColor(Color.gray);
page.fillRect(x1+4*N,400-10*p,WITH,10*p);
page.setColor(Color.pink);
page.fillRect(x1+5*N,400-10*k,WITH,10*k);
运行界面截图:
输入前界面:
输入后界面:
Pp5.22画100个随机圆。
packageDrawCircle;
publicclassDrawCircle{
Circles"
frame.setSize(350,375);
CirclePanelpanel=newCirclePanel();
importjava.util.Random;
importDrawCircle1.CirclePanel1.CircleListner;
publicclassCirclePanelextendsJPanel{
privatestaticfinallongserialVersionUID=1L;
privatefinalintNUMCIRCLES=100,MAXRADIOUS=100;
privatefinalintMAX_X=250,MAX_Y=250;
privateRandomgenerator;
privateJButtonagain,exit;
privateJPanelpanel;
publicCirclePanel(){
generator=newRandom();
again=newJButton("
again"
exit=newJButton("
exit"
panel=newJPanel();
panel.setLayout(newBoxLayout(panel,BoxLayout.X_AXIS));
panel.add(again);
panel.add(Box.createHorizontalGlue());
panel.setBackground(Color.green);
add(panel,BorderLayout.SOUTH);
CircleListnerlistener=newCircleListner();
again.addActionListener(listener);
setBackground(Color.green);
setPreferredSize(newDimension(350,375));
publicclassCircleListnerimplementsActionListener{
publicvoidactionPerformed(ActionEventevent){
if(event.getSource()==again){
if(event.getSource()==exit){
intx,y,radious;
for(intcount=0;
count<
NUMCIRCLES;
count++){
x=generator.nextInt(MAX_X)+1;
y=generator.nextInt(MAX_Y)+1;
radious=generator.nextInt(MAXRADIOUS)+1;
if(radious<
=35){
page.setColor(Color.blue);
page.drawOval(x,y,radious,radious);
else
=70){
page.setColor(Color.yellow);
{
page.setColor(Color.red);
运行界面截图
Pp5.29画点。
packageDrawDots;
publicclassDrawDots{
JFrameframe=newJFrame();
DotPanelpanel=newDotPanel();
publicclassDotPanelextendsJPanel{
/**
*
*/
privatefinalintMAXDOTS=20000,BOUNDARY=250,MAXSIDE=500,WIDTH=1;
publicDotPanel(){
DotListnerlistener=newDotListner();
publicclassDotListnerimplementsActionListener{
intx,y;
MAXDOTS;
x=generator.nextInt(MAXSIDE)+1;
y=generator.nextInt(MAXSIDE)+1;
if(x<
=BOUNDARY){
page.fillRect(x,y,WIDTH,WIDTH);
page.setColor(Color.green);
Pp5.30画10个随机圆。
packageDrawCircle1;
publicclassDrawCircle1{
frame.setSize(350,450);
CirclePanel1panel=newCirclePanel1();
f