Java程序设计作业3.docx
《Java程序设计作业3.docx》由会员分享,可在线阅读,更多相关《Java程序设计作业3.docx(7页珍藏版)》请在冰豆网上搜索。
Java程序设计作业3
《Java程序设计》作业三
教师:
李家琦
学生:
2013级本科、电子13001-13004班
13.7
设计一个名为Colorable的接口,其中有名为howToColor()的void方法。
可着色对象的每个类必须实现Colorable接口。
设计一个扩展GeometricObject类并实现Colorable接口的名为Square的类。
实现howToColor方法,显示消息“Colorallfoursides”。
画出包括Colorable、Square和GeometricObject的UML图。
编写一个测试程序,创建有五个GeometricObject对象的数组。
对于数组中的每个对象而言,如果对象是可着色的,那就调用howToColor方法。
Colorable接口
publicinterfaceColorable{
}
场景类Main
publicclassMain{
publicstaticvoidmain(Stringargs[]){
GeometricObject[]gs={newGeometricObject(),newGeometricObject(),newSquare(),newGeometricObject(),newGeometricObject(),};
for(GeometricObjectgeometricObject:
gs){
if(geometricObjectinstanceofSquare){
Squares=(Square)geometricObject;
s.howToColor();
14.6
请写一个程序显示一个象棋棋盘,其中每个黑白单元格都是一个填充了黑色或者白色的Rectangle
importjava.awt.Color;
importjava.awt.Point;
importjavax.swing.BorderFactory;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
publicclassCh1_6
{
publicstaticvoidmain(String[]args)
JFramef=newJFrame("国际象棋棋盘");//创建窗口
//窗口设置大小
f.setSize(168,195);//边框的长和宽
//窗口设置位置
Pointpoint=newPoint(350,200);
f.setLocation(point);
intgrids=8;//行数和列数
intgridsize=20;//单元格的高和宽
for(inti=0;i{for(intj=0;j{JLabell=newJLabel();//生成标签实例l.setSize(gridsize,gridsize);//设置标签大小l.setLocation(i*gridsize,j*gridsize);//设置标签位置if((i+j)%2==0){//当小方格的坐标和刚好是偶数时,l.setBackground(Color.black);//设置方格为黑色l.setOpaque(true);//设置为不透明}else{l.setBackground(Color.white);//设置方格为白色l.setOpaque(true);//设置为不透明}l.setBorder(BorderFactory.createLineBorder(Color.black));//设置边界为黑色f.add(l);//添加标签}}f.setVisible(true);//显示窗口}}15.1编写java程序让用户通过点击Refresh按钮以显示52张卡牌选取的4张卡牌importjavax.swing.*;importjava.awt.*;publicclassExercise12_09extendsJFrame{privateImageIconaIcon;privateImageIconbIcon;privateImageIconcIcon;publicvoidassignName(){inta=(int)(Math.random()*(54-1)+1);System.out.println("a="+a);aIcon=newImageIcon("card/"+a+".png");intb=(int)(Math.random()*(54-1)+1);System.out.println("b="+b);bIcon=newImageIcon("card/"+b+".png");intc=(int)(Math.random()*(54-1)+1);System.out.println("c="+c);cIcon=newImageIcon("card/"+c+".png");}publicExercise12_09(){assignName();setLayout(newGridLayout(1,3,5,5));add(newJButton(aIcon));add(newJButton(bIcon));add(newJButton(cIcon));}/**Mainmethod*/publicstaticvoidmain(String[]args){Exercise12_09frame=newExercise12_09();frame.setTitle("TestImageIcon");frame.setSize(300,150);frame.setLocationRelativeTo(null);//Centertheframeframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);}}15.7编写一个程序显示一个圆的颜色,当按下鼠标键时颜色为黑色,释放鼠标垫时颜色为白色importjava.awt.BorderLayout;importjava.awt.Color;importjava.awt.event.MouseEvent;importjava.awt.event.MouseListener;importjavax.swing.JFrame;importjavax.swing.JPanel;publicclassB{/***@paramargs*/publicstaticvoidmain(String[]args){JFramef=newJFrame();finalJPanelp=newJPanel();f.add(p,BorderLayout.CENTER);p.addMouseListener(newMouseListener(){publicvoidmouseClicked(MouseEvente){}publicvoidmouseEntered(MouseEvente){}publicvoidmouseExited(MouseEvente){}publicvoidmousePressed(MouseEvente){p.setBackground(Color.black);}publicvoidmouseReleased(MouseEvente){p.setBackground(Color.white);}});f.setSize(200,300);f.setVisible(true);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}
for(intj=0;j{JLabell=newJLabel();//生成标签实例l.setSize(gridsize,gridsize);//设置标签大小l.setLocation(i*gridsize,j*gridsize);//设置标签位置if((i+j)%2==0){//当小方格的坐标和刚好是偶数时,l.setBackground(Color.black);//设置方格为黑色l.setOpaque(true);//设置为不透明}else{l.setBackground(Color.white);//设置方格为白色l.setOpaque(true);//设置为不透明}l.setBorder(BorderFactory.createLineBorder(Color.black));//设置边界为黑色f.add(l);//添加标签}}f.setVisible(true);//显示窗口}}15.1编写java程序让用户通过点击Refresh按钮以显示52张卡牌选取的4张卡牌importjavax.swing.*;importjava.awt.*;publicclassExercise12_09extendsJFrame{privateImageIconaIcon;privateImageIconbIcon;privateImageIconcIcon;publicvoidassignName(){inta=(int)(Math.random()*(54-1)+1);System.out.println("a="+a);aIcon=newImageIcon("card/"+a+".png");intb=(int)(Math.random()*(54-1)+1);System.out.println("b="+b);bIcon=newImageIcon("card/"+b+".png");intc=(int)(Math.random()*(54-1)+1);System.out.println("c="+c);cIcon=newImageIcon("card/"+c+".png");}publicExercise12_09(){assignName();setLayout(newGridLayout(1,3,5,5));add(newJButton(aIcon));add(newJButton(bIcon));add(newJButton(cIcon));}/**Mainmethod*/publicstaticvoidmain(String[]args){Exercise12_09frame=newExercise12_09();frame.setTitle("TestImageIcon");frame.setSize(300,150);frame.setLocationRelativeTo(null);//Centertheframeframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);}}15.7编写一个程序显示一个圆的颜色,当按下鼠标键时颜色为黑色,释放鼠标垫时颜色为白色importjava.awt.BorderLayout;importjava.awt.Color;importjava.awt.event.MouseEvent;importjava.awt.event.MouseListener;importjavax.swing.JFrame;importjavax.swing.JPanel;publicclassB{/***@paramargs*/publicstaticvoidmain(String[]args){JFramef=newJFrame();finalJPanelp=newJPanel();f.add(p,BorderLayout.CENTER);p.addMouseListener(newMouseListener(){publicvoidmouseClicked(MouseEvente){}publicvoidmouseEntered(MouseEvente){}publicvoidmouseExited(MouseEvente){}publicvoidmousePressed(MouseEvente){p.setBackground(Color.black);}publicvoidmouseReleased(MouseEvente){p.setBackground(Color.white);}});f.setSize(200,300);f.setVisible(true);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}
JLabell=newJLabel();//生成标签实例
l.setSize(gridsize,gridsize);//设置标签大小
l.setLocation(i*gridsize,j*gridsize);//设置标签位置
if((i+j)%2==0)
{//当小方格的坐标和刚好是偶数时,
l.setBackground(Color.black);//设置方格为黑色
l.setOpaque(true);//设置为不透明
else
l.setBackground(Color.white);//设置方格为白色
l.setBorder(BorderFactory.createLineBorder(Color.black));
//设置边界为黑色
f.add(l);//添加标签
}}
f.setVisible(true);//显示窗口
15.1
编写java程序让用户通过点击Refresh按钮以显示52张卡牌选取的4张卡牌
importjavax.swing.*;
importjava.awt.*;
publicclassExercise12_09extendsJFrame{
privateImageIconaIcon;
privateImageIconbIcon;
privateImageIconcIcon;
publicvoidassignName(){
inta=(int)(Math.random()*(54-1)+1);
System.out.println("a="+a);
aIcon=newImageIcon("card/"+a+".png");
intb=(int)(Math.random()*(54-1)+1);
System.out.println("b="+b);
bIcon=newImageIcon("card/"+b+".png");
intc=(int)(Math.random()*(54-1)+1);
System.out.println("c="+c);
cIcon=newImageIcon("card/"+c+".png");
publicExercise12_09(){
assignName();
setLayout(newGridLayout(1,3,5,5));
add(newJButton(aIcon));
add(newJButton(bIcon));
add(newJButton(cIcon));
/**Mainmethod*/
publicstaticvoidmain(String[]args){
Exercise12_09frame=newExercise12_09();
frame.setTitle("TestImageIcon");
frame.setSize(300,150);
frame.setLocationRelativeTo(null);//Centertheframe
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
15.7
编写一个程序显示一个圆的颜色,当按下鼠标键时颜色为黑色,释放鼠标垫时颜色为白色
importjava.awt.BorderLayout;
importjava.awt.event.MouseEvent;
importjava.awt.event.MouseListener;
importjavax.swing.JPanel;
publicclassB{
/**
*@paramargs
*/
JFramef=newJFrame();
finalJPanelp=newJPanel();
f.add(p,BorderLayout.CENTER);
p.addMouseListener(newMouseListener(){
publicvoidmouseClicked(MouseEvente){}
publicvoidmouseEntered(MouseEvente){}
publicvoidmouseExited(MouseEvente){}
publicvoidmousePressed(MouseEvente){
p.setBackground(Color.black);
publicvoidmouseReleased(MouseEvente){
p.setBackground(Color.white);
});
f.setSize(200,300);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1