问答题本题的功能是将文件java2.java复制为文件java2.java.bak。 import java.io.*; public class java2 public static void main(String sarg[])( tryFile file=new File("java2.java.bak"); ______; FilelnputStream rfile=new FileInputStream("java2.java"); FileOutputStream wfile=new FileOutputStream("java2.java.bak"); int c; while( ) wfile.write((char)c); rfile.close(); wfile.close(); catch(Exception e)System.out.println("读取文件的时候发生错误!");) System.out.println("复制操作完成!");
问答题请完成下列Java程序:建一个数组中的整数按依序重新存放,如果原来的次序为1,2,3,则改为3,2,1。数组大小为10,直接初始化方法进行初始化,
注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。
程序运行结果如下:
初始数组:
2 4 6 10 8 1 7 5 12 33
交换后的数组:
33 12 5 7 1 8 10 6 4 2
public class ex29_2 {
public static void main(String[] args) {
int i,temp;
System.out.println("初始数组:");
int a[]={2,4,6,10,8,1,7,5,12,33};
for(i=0;i<10;i++)
System.out.print(Integer.toString(a[i])+ " ");
for(_____________________){
temp=a[i];
a[i]=a[10-i-1];
_________________;
}
System.out.println();
System. out.println ("交换后的数组: ");
for(i=0;i<10;i++)
System.out.print(Integer.toString(a[i])+ " ");
}
}
问答题注意:下面出现的“考生文件夹”均为%USER%。在考生文件夹中存有文件名为Java_1.java文件,清完善Java_1.java文件,并进行调试,使程序运行输出窗口如下:由于Java_1.java文件不完整,请在注释行“//*********Found*********”下一行语句的下画线地方填入正确内容,然后删除下画线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。给定源程序:importjavax.swing.JOptionPane;publicclassJava_1{//*********Found**********public______voidmain(Stringargs[]){PackageDatad=newPackageData();Stringoutput;output="实例化后:/n"+d.toString();d.x=77;//修改包访问的数据//*********Found**********="祝您成功!";//修改包访问的数据output+="/n修改数据后的访问结果:/n"+d.toString();//*********Found**********JOptionPane.______(null,output,"对包的访问示范",JOptionPane.INFORMATION_MESSAGE);System.exit(0);}}classPackageData{intx;//访问包的实例变量Strings;//访问包的实例变量//构造方法publicPackageData(){x=0;s="Hello";}publicStringtoString(){return"x:"+x+"s:"+s;}}
问答题本程序的功能是对图形进行操作,包括旋转、移位、放大和剪切。窗口中有四个单选按钮和一个图形面板,图形面板中有一个矩形和该矩形移位操作后的图形,任选其中一个单选按钮,则图形面板中将显示该操作后的图形,如图所示。importjava.awt.*;importjava.awt.event.*;importjava.awt.geom.*;importjava.util.*;importjavax.swing.*;publicclassexam_30{publicstaticvoidmain(String[]args){JFrameframe=newTransformTestFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.show();}}classTransformTestextendsJFrame{publicTransformTestFrame(){setTitle("exam_30");setSize(WIDTH,HEIGHT);ContainercontentPane=getContentPane();canvas=newTransformPanel();contentPane.add(canvas,BorderLayout.CENTER);JPanelbuttonPanel=newJPanel();ButtonGroupgroup=newButtonGroup();JRadioButtonrotateButton=newJRadioButton("旋转",true);buttonPanel.add(rotateButton);group.add(rotateButton);rotateButton.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevent){canvas.setRotate();}});JRadioButtontranslateButton=newJRadioButton("移位",false);buttonPanel.add(translateButton);group.add(translateButton);translateButton.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevent){canvas.setTranslate();}});JRadioButtonscaleButton=newJRadioButton("放大",false);buttonPanel.add(scaleButton);group.add(scaleButton);scaleButton.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevent){canvas.setScale();}});JRadioButtonshearButton=newJRadioButton("剪切",false);buttonPanel.add(shearButton);group.add(shearButton);shearButton.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevent){canvas.setShear();}});contentPane.add(buttonPanel,BorderLayout.NORTH);}privateTransformPanelcanvas;privatestaticfinalintWIDTH=300;privatestaticfinalintHEIGHT=300;}classTransformPanelextendJPanel{publicTransformPanel(){square=newRectangle2D.Double(-50,-50,100,100);t=newAffineTransform();setRotate();}publicvoidpaintComponent(){super.paintComponent(g);Graphics2Dg2=(Graphics2D)g;g2.translate(getWidth()/2,getHeight()/2);g2.setPaint(Color.gray);g2.draw(square);g2.transform(t);g2.setPaint(Color.black);g2.draw(square);}publicvoidsetRotate(){t.setToRotation(Math.toRadians(30));repaint();}publicvoidsetTranslate(){t.setToTranslation(20,15);repaint();}publicvoidsetScale(){t.setToScale(2.0,1.5);repaint();}publicvoidsetShear(){t.setToShear(-0.2,0);repaint();}privateRectangle2Dsquare;privateAffineTransformt;}
问答题本程序中数组arr中存储了学生的成绩,分别为56、91、78、67、56、87、45、62、82、63,程序的功能是计算低于平均分的人数,并打印输出结果。请将程序空缺部分填写适当内容,使程序能正确运行。
public class exam_87{
public static void main(String[] args) {
int arr[]={56,91,78,67,56,87,45,62,82,63};
int num=arr.length;
int i=0;
int sumScore=0;
int sumNum=0;
double average;
while(i<num){
sumScore=sumScore+arr[i];
______;
}
average=______;
i=0;
do{
if(arr[i]<average)
sumNum++;
i++;
}while(______);
System.out.println("average:"+average+",belows average:"+sumNum);
}
}
问答题下面是一个Applet程序,其功能是建立两个文本区域,一个为编辑区,一个为只读区;建立两个按钮,一个实现将编辑区中被鼠标选定的文本内容复制到只读区中,一个实现将只读区的全部文本内容清空。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
源程序文件代码清单如下:
import java.awt.*;
import java.applet.*;
/*
<applet code="ex14_3.class" width=800 height=400>
</applet>
*/
public class ex14_3 extends Applet
{
private Button okBtn, clearBtn;
private String strMessage;
private TextArea tArea1, tArea2;
public void init()
{
strMessage = "Hello! Welcome to the test! /n" +
"This is the NCR Examination! /n" +
"Wish you good luck!";
tArea1 = new TextArea( 10, 25 );
tArea1.setText(strMessage);
tArea2 = new TextArea( 10, 25 );
{{U}}tArea2.setEditable( true ){{/U}};
okBtn = new Button( "Copy" );
clearBtn = new Button( "Clear" );
add( tArea1 );
add( tArea2 );
add( okBtn );
add( clearBtn );
}
public boolean action( Event e, Object o )
{
if( e.target == okBtn )
{{U}}tArea1.setText(tArea2.getSelectedText() ){{/U}};
else if( e.target == clearBtn )
{{U}}tArea1.setText( " "){{/U}};
return true;
}
}
{{B}}ex14_3.html{{/B}}
<HTML>
<HEAD>
<TITLE>ex14_3</TITLE>
</HEAD>
<BODY>
<applet code="ex14_3.class" width=800 height=400>
</applet>
</BODY>
</HTML>
问答题本程序的功能是监听单选按钮的选择。窗口中有三个单选按钮:“红”、“绿”和“蓝”,以及三个不同颜色的画板,选中其中一个单选按钮后,就在对应颜色的画板上画一个黑色实心圆。如果用鼠标在某种颜色的画板上单击,则对应选中该颜色的单选按钮,并在该画板上画黑色实心圆,如图所示。importjava.awt.*;importjava.awt.event.*;classexam_50extendsFrameandItemListener{Color[]cbColor={Color.red,Color.green,Color.blue};String[]cbName={"红","绿","蓝"};MainCanvas[]cbCanvas=newMainCanvas[3];CheckboxGroupcgroup=newCheckboxGroup();exam_50(){super("exam_50");addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});Panelp=newPanel(newGridLayout(0,1)),colorPanel=newPanel(newGridLayout(1,0));for(inti=0;i<cbColor.length;i++){Checkboxcb=newCheckbox(cbName[i],cgroup,i==0);p.add(cb);cb.addItemListener(this);colorPanel.add(cbCanvas[i]=newMainCanvas(cbColor[i],cb));cbCanvas[i].setSize(70,70);}add(p,BorderLayout.WEST);add(colorPanel,BorderLayout.CENTER);pack();show();}publicvoiditemStateChanged(ItemEventevt){for(inti=0;i<cbCanvas.length;i++){cbCanvas.repaint();}}staticpublicvoidmain(String[]args){newexam_50();}}classMainCanvasextendsCanvas{Checkboxcb;MainCanvas(Colorcolor,Checkboxcb){setBackground(color);this.cb=cb;addMouseListener(newMouseAdapter());}publicvoidpaint(Graphicsg){if(cb.getCheckboxGroup().getSelectedCheckbox()==cb){Dimensiond=getSize();g.setColor(Color.black);g.fillOval(d.width/3,d.height/3,d.width/3,d.height/3);}}classMouseListenerextendsMouseAdapter{publicvoidmousePressed(MouseEventevt){cb.getCheckboxGroup().setSelectedCheckbox(cb);for(inti=0;i<getParent().getComponentCount();i++){getParent().getComponent(i).repaint();}}}}
问答题本程序生成一个大小为200×200的窗口,并将窗口的背景色设为黑色。
import java.awt.*;
public class exam_66______{
public static void main(String[] args) {
exam 66 fr=new exam_66();
______;
______;
fr.setVisible(true);
}
}
问答题本程序中,主窗口中有一个按钮,按钮的长和宽每200毫秒增加1,当达到100时又恢复原来大小重新进行增加,如图所示。importjava.awt.*;importjava.awt.event.*;publicclassexam_94{publicstaticvoidmain(Stringargs[]){Mywinwin=newMywin();}}classMywinextendsFrame______{Buttonb=newButton("按钮");intx=5;Threadbird=null;Mywin(){setBounds(100,100,400,400);setLayout(newFlowLayout());setTitle("exam_94");setVisible(true);add(b);b.setBackground(Color.green);addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});bird=newThread(this);bird.start();}public______(){while(true){x=x+1;if(x>100)x=5;b.setBounds(40,40,x,x);try{bird.sleep(200);}catch(InterruptedExceptione){}}}}
问答题本程序是一个Applet,功能是计算前n个自然数的和,程序中用进度条来表示计算的进程。页面中有两个文本框、两个按钮和一个进度条,在第一个文本框中输入要计算的自然数的个数,单击“开始”按钮开始进行计算,进度条同步显示计算完成的情况,如图所示。importjavax.swing.*;importjavax.swing.border.*;importjava.awt.*;importjava.awt.event.*;publicclassexam_74extendsJApplet{Containercontainer=null;JButtonstartButton,stopButton;JTextFieldinputTextField,outputTextField;JProgressBarpBar=null;Timertimer=null;staticintsum=0;staticintcounter=0;publicvoidinit(){container=this.getContentPane();container.setLayout(newGridLayout(3,1));Boxhbox1=Box.createHorizontalBox();container.add(hbox1);hbox1.add(Box.createHorizontalGlue());JLabellabel1=newJLabel("前",JLabeI.LEFT);label1.setFont(newFont("Dialog",Font.PLAIN,15));hbox1.add(label1);inputTextField=newJTextField("100",4);hbox1.add(inputTextField);JLabellabel2=newJLabel("个自然数的和是",JLabel.LEFT);label2.setFont(newFont("Dialog",Font.PLAIN,15));hbox1.add(label2);outputTextField=newJTextField(10);hbox1.add(outputTextField);hbox1.add(Box.createHorizontalGlue());Boxhbox2=Box.createHorizontalBox();container.add(hbox2);startButton=newJButton("开始");startButton.addActionListener(newButtonListener());hbox2.add(Box.createHorizontalGlue());hbox2.add(startButton);hbox2.add(Box.createHorizontalGlue());stopButton=newJButton("结束");stopButton.addActionListener(newButtonListener());hbox2.add(Box.createHorizontalGlue());hbox2.add(stopButton);hbox2.add(Box.createHorizontalGlue());pBar=newJProgressBar();pBar.setStringPainted(true);Borderborder=BorderFactory.createLineBorder(Color.red,2);pBar.setBorder(border);pBar.setBackground(Color.white);pBar.setForeground(Color.blue);pBar.setMinimum(0);pBar.setMaximum(Integer.parseInt(inputTextField.getText()));container.add(pBar);timer=newTimer(0,TimerListener());}classTimerListenerimplementsActionListener{publicvoidactionPerformed(ActionEvente){if(Integer.parseInt(inputTextField.getText())>0){counter++;sum=sum+counter;pBar.setValue(counter);outputTextField.setText(Integer.toString(sum));}else{outputTextField.setText("0");}if(counter>=Integer.parseInt(inputTextField.getText()))timer.stop();}}classButtonListenerimplementsActionListener{publicvoidactionPerformed(ActionEvente){JButtonbutton=e.getSource();if(button.getText()=="开始"){outputTextField.setText("");if(inputTextField.getText()!=""){pBar.setMaximum(Integer.parseInt(inputTextField.getText()));sum=0;counter=0;timer.begin();}}elseif(button.getText()=="结束"){timer.stop();outputTextField.setText("");sum=0;counter=0;pBar.setValue(0);}}}}exam_74.html:<html><title>exam_74</title><body><appletcode="exam_74.class"width="300"height="100"></applet></body></html>
问答题本题中使用了选项卡,窗口中有一个选项卡,总共有“系统”、“声卡”、“显卡”、“网卡”和“帮助”5项选项面。单击各个选项的文字标签后,所选中的选项将为当前选项。“系统”选项上有3个复选按钮,分别控制“声卡”、“显卡”和“网卡”三个选项,选中某个按钮后,它所指示的选项就可用,否则不可用。 import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; public class java3 extends JFrame JTabbedPane config=new JTabbedPane(); public java3() super("java3"); setSize(500,300); setDefaultCloseOperation(EXIT_ON_CLOSE); JPanel configPane=new JPanel(); configPane.setLayout(new BoxLayout(configPane.BoxLayout.Y_AXIS)); JTextArea question=new JTextArea("下面的哪个选项/n"+"你想设置?"); question.setEditable(false); question.setMaximumSize(new Dimension(300,50)); question.setAlignmentX(0.0f); question.setBackground(configPane.getBackground()); JCheckBox audioCB=new JCheckBox("声卡",true); JCheckBox nicCB=new JCheckBox("网卡",true); JCheckBox tvCB=new JCheckBox("显示卡",false); configPane.add(Box.createVerticalGlue()); configPane.add(question); configPane.add(audioCB); configPane.add(nicCB); configPane.add(tvCB); configPane.add(Box.createVerticalGlue()); JLabel audioPane=new JLabel("声卡页面"); JLabel nicPane=new JLabel("网卡页面"); JLabel tvPane=new JLabel("显示卡页面"); JLabel helpPane=new JLabel("帮助信息"); audioCB.addItemListener(new TabManager(audioPane)); nicCB.addItemListener(new TabManager(nicPane)); tvCB.addItemListener(new TabManager(tvPane)); config.addTab("系统",null,configPane,"Choose Installed Options"); config.addTab("声卡",null,audioPane,"Audio system configuration"); config.addTab("网卡",null,nicPane,"Networking configuration"); config.addTab("显示卡",null,tvPane,"Video system configuration"); config.addTab("帮助",null,helpPane,"How DoI..."); getContentPane().add(config,BorderLayout.CENTER); class TabManger implements ActionListener Component tab; public TabManager(Component tabToManage) tab=tabToManage; public void ItemStateChanged(ItemEvent ie) int index=config.indexOfComponent(tab); if(index!=-1) config.setEnabledAt(index,ie.getStateChange()==ItemEvent.SELECTED); this.repaint(); public static void main(String args[]) java3 sc=new java3(); sc.setVisible(true);
问答题本程序的功能是将某个字符段在字符串中第一次出现替换为指定的字符串。窗口中有一个文本域、两个文本框和一个按钮,单击按钮后,第一个文本框中所填写的内容在文本域中字符串第一个出现的地方,将被第二个文本框中的内容替换,如图所示。importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassexam_62{publicstaticvoidmain(String[]args){TextEditFrameframe=newTextEditFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.showJFrame();}}classTextEditFrameextendsJFrame{publicTextEditFrame(){setTitle("exam_62");setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);ContainercontentPane=getContentPane();JPanelpanel=newJPanel();JButtonreplaceButton=newJButton("Replace");panel.add(replaceButton);replaceButton.addActionListener(ReplaceAction());from=newJTextField("brown",8);panel.add(from);panel.add(newJLabel("with"));to=newJTextField("purple",8);panel.add(to);contentPane.add(panel,BorderLayout.SOUTH);textArea=newJTextArea(8,40);textArea.setText("Thequickbrownfoxjumpsoverthelazydog.");JScrollPanescrollPane=newJScrollPane(textArea);contentPane.add(scrollPane,BorderLayout.CENTER);}publicstaticfinalintDEFAULT_WIDTH=400;publicstaticfinalintDEFAULT_HEIGHT=200;privateJTextAreatextArea;privateJTextFieldfrom;privateJTextFieldto;privateclassReplaceActionimplementsActionListener{publicvoidactionPerformed(ActionEventevent){Stringf=from.GetText();intn=textArea.getText().indexOf(f);if(n>=0}}}
问答题本题程序的功能是读入运行程序时所传入的参数(一个或多个),并将参数依次显示出来。例如运行程序“lava basic par1 par2”,则打印输出为“par1 par2”。请将下述程序补充完整(注意:不得改动程序的结构,不得增行或删行)。 public class basic public static void main(String[] args) int i = 0; while (______) System.out.print(______+ ""); ______; System.out.println();
问答题本题的功能是监听鼠标的拖曳操作。窗口中有一个列表框,列表框中列出了当前目录的所有文件,鼠标选中一个或多个文件后拖曳出窗口,此操作的功能是将拖曳的文件复制一份在拖曳的目的目录下。
import java.awt.*;
import java.awt.datatransfer.*;
import java.awt.dnd.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import javax.swing.*;
public class java3
{
public static void main(String[]args)
{
JFrame frame=new DragSourceFrame();
frame.setDefauhCloseOperation(JFrame.EXIT_
0N_CLoSE);
frame.show();
}
}
class DragSoureeFrame extends JFrame
{
public DragSourceFrame()
{
setTitle("java3");
setSize(WlDTH,HElGHT);
Container contentPane=getContentPane();
File f=new File(".").getabsoluteFile();
File[]files=f.listFiles();
model=new DefaultListModel();
for(int i=0;i try
{
model.addElement(files[i].getCanonicalFile());
}
catch(IOException exception)
{
JOptionPane.showMessageDialog(this,exeep-
tion);
}
fileList=new JList(model);
contentPane.add(new JScrollPane(fileList),
BorderLayout.CENTER);
contentPane.add(new JLabel("从列表中拖曳出文件"),
BorderLayout.NoRTH);
DragSource dragSource=DragSource.getDefauh-
DragSource();
dragSource.createDefaultDragGestureRecognizer
(fileList,DnDConstants. ACTION_COPY_0R_MOVE,new
DragGestureListener()
{
public void dragGestureRecognized(
DragGestureEvent event)
{
draggedValues=fileList.getSelectedValues();
Transferable transferable
=new FiteListTransferable(draggedValues);
evenr.startDrag(null,transferable,
new FileListDragSourceListener());
}
});
}
private class FileListDragSourceListener imple-
ments DragSourceAdapter
{
public void dragDropEnd(DragSourceDropEvent event)
{
if(event.getDropSuccess())
{
int action=event.getDropAction();
if(action= =DnDConstants.ACTl0N MOVE)
{
for(int i=0;i model.removeElement(draggedValues[i]);
}
}
}
}
private JList fileList;
private DefauhListModel model;
private Object[]draggedValues;
private static final int WIDTH=300;
private static final int HEIGHT=200;
}
class FileListTransferable implements Transferable
{
public FileListTransferable(Object[]files)
{
fileList=new ArrayList(Arrays.asList(files));
}
public DataFlavor[]getTransferDataFlavors()
{
return flavors;
public boolean isDataFlavorSupported(DataFlavor flavor)
{
return Arrays. asList(flavors), contains(flavor) ;
}
public Object getTransferData(DataFlavor flavor)
throws UnsupportedFlavorException
if(flavor, equals(DataFlavor, javaFileListFlavor) )
return fileList;
else if(flavor, equals(DataFlavor, stringFlavor))
return fileList, toString() ;
else
throw new UnsupportedFlavorException(flavor) ;
}
private static DataFlavor[] flavors =
{
DataFlavor. j avaFileListFlavor,
DataFlavor. stringFlavor
};
private java. util. List fileList;
问答题本程序的功能是随机产生一个1~10间的随机数,根据提示用户可以猜这个随机数。例如,程序随机产生的随机数是7,如果输入8,则提示“Try smaller...”并继续提示输入,如果输出6,则提示“Try bigger...”并继续提示输入,如果输入7,则输出“Great!”并退出程序。
import java.io.*;
public class exam_29{
public static void main(String[] args){
InputStreamReader ir;
BufferedReader in;
ir=new InputStreamReader(System.in);
in=new BufferedReader(ir);
int ranNum=______;
int guessNum=-1;
String str;
while(______){
System.out.print("Please Input:");
try{
______;
guessNum=Integer.parseInt(str);
}catch(Exception e){
}
if(guessNum>ranNum)
System.out.println("Try smaller...");
else
System.out.println("Try bigger...");
}
System.out.println("Great!");
}
}
问答题本程序中,设定了读取文件exam_98.java的进度条,并将文件中的字符流显示在文本域中(为了增加可视性,将每次读取延迟了1秒钟),如图所示。importjavax.swing.*;importjava.io.*;importjava.awt.*;importjava.awt.event.*;publicclassexam_98{publicstaticvoidmain(Stringargs[]){byteb[]=newbyte[30];JTextAreatext=newJTextArea(20,20);JFramejframe=newJFrame();jframe.setSize(400,300);jframe.setBackground(Color.blue);jframe.setVisible(true);jframe.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});Containercontentpane=jframe.getContentPane();contentpane.add(text,BorderLayout.CENTER);try{FileInputStreaminput=newFileInputStream("exam_98.java");ProgressMonitorInputStreaminput_progress=______(contentpane,"读取java文件",input);ProgressMonitorp=input_progress.getProgressMonitor();while(inputprogress.read(b)!=-1){Strings=newString(b);______;Thread.sleep(1000);}}catch(InterruptedExceptione){}catch(IOExceptione){}}}
问答题请在下面的画线处添加合适的监听器语句。
import java.awt.*;
import java.applet.Applet;
public class Simple extends Applet implements MouseListener{
StringBuffer buffer;
public void init(){
______//加监听器语句
buffer=new StringBuffer();
addItem("initializing......"):
}
public void mouseEntered(MouseEvent event){ }
public void mouseExited(MouseEvent event){ }
public void mousePressed(MouseEvent event){ }
public void mouseReleased(MouseEvent event){ }
public wild mouseClicked(MouseEvent event){ addItem("click!..."); }
}
问答题本题的功能是监听对于菜单项和工具条的操作。窗口中有一个菜单“Color”和一个工具体,菜单“Color”中有菜单项“Yellow”、“Blue”、“Red”和“Exit”,每个菜单项都有对应的图形,单击前三个颜色菜单项,主窗口就变成对应的颜色,单击“Exit”则退出程序。工具条上有4个按钮,分别为三个颜色按钮和一个退出程序的按钮,单击任意一个颜色按钮,主窗口将变成按钮对应的颜色,单击退出程序按钮,则退出程序。 import java.awt.*; import java.awt.event.*; import java.beans.*; import iavax.swing.*; public class java3 public static void main(String[]args) ToolBarFrame frame=new ToolBarFrarne(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.show(); class ToolBarFrame extends JFrame public ToolBarFrame() setTitle("java3"); setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT); Container contentPane=getContentPane(); panel=new JPanel(); contentPane.add(panel,BorderLayout.CENTER); Action blueAction=new ColorAction("Blue", new ImageIcon("java3-blue-ball.gif"),Color.BLUE); Action yellowAction=new ColorAction("Yellow", new ImageIcon("java3-yellow-ball.gif"),Color.YELLOW); Action redAction=new ColorAction("Red", new ImageIcon("java3-red-ball.gif"),Color.RED); Action exitAction=new AbstractAction("Exit",new ImageIcon("java3-exit.gif")) public void actionPerformed(ActionEvent event) System.exit(0); ; exitAction.putValue(Action.SHORT_DESCRIPTION_"Exit"); JToolBar bar=new JToolBar(); bar.add(blueAction); bar.add(yellowAction); bar.add(redAction); bar.addSeparator(); bar.add(exitAction); contentPane.addToolBar(bar,BorderLayout.NORTH); JMenu menu=new JMenu("Color"); menu.add(yellowAction); menu.add(blueAction); menu.add(redAction); menu.add(exitAction); JMenuBar menuBar=new JMenuBar(); menuBar.add(menu); SetJMenu(menuBar); public static final int DEFAULT_WIDTH=300; public static final int DEFAULT_HEIGHT=200; private JPanel panel; class ColorAction extends AbstractAction public ColorAction(String name,Icon icon,Color c) putValue(Action.NAME,name); putValue(Action.SMALL_ICON,icon); putValue(Action.SHORT_DESCRIPTION, name +"background"); putValue("Color",c); public void actionPerformed(ActionEvent evt) Color c=(Color)getValuc("Color"); panel.setBackcolor(c);
问答题下面是一个Apple(程序,其功能是播放动画。要求根据给出的3幅图片设计1个动画。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:importjava.awt.*;importjava.applet.*;importjava.awt.image.*;/*<appletcode="ex24_3.class"width=800height=400></applet>*/publicclassex24_3extendsAppletimplementsRunnableImage[]images=newImage[4];Imageimage;intimgNumber=3;intcurrentImage=0;ThreadthisThread;publicvoidinit()for(intx=0;x<imgNumber;x++)images[x]=getImage(getCodeBase(),"img"+x+".gif");image=images[0];publicvoidpaint(Graphicsg)g.drawImage(image[0],0,0,null);publicvoidupdate(Graphicsg)paint(g);publicvoidstart()thisThread=newThread(this);thisThread.start();publicvoidstop()thisThread.stop();thisThread=null;publicvoidrun()while(true)currentImage++;currentImage=imgNumber;image=images[imgNumber];repaint();trythisThread.sleep(100);catch(Exceptione)ex24_3.html<HTML><HEAD><TITLE>ex24_3</TITLE></HEAD><BODY><appletcode="ex24_3.class"width=800height=400></applet></BODY></HTML>
问答题注意:下面出现的“考生文件夹”均为%USER%在考生文件夹中存有文件名为Java_3.java的文件,该程序是不完整的,请在注释行“∥**********Found**********”下一行语句的下画线地方填入正确内容,然后删除下画线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。本题的要求是:请阅读程序Java_3.java,该程序是比较两个整数的大小,运行程序,完成如下两个整数的输入:运行结果为:给定源程序:∥if语句实例importJavax.swing.JOptionPane;publicclassJava_3{publicstaticvoidmain(Stringargs[]){StringfirstNumber;∥存储第一个输入数据secondNumber;∥存储第二个输入数据result;∥字符串输出intnumberl;∥用来比较的第一个int型数据number2;∥用来比较的第二个int型数据∥以字符串格式读输入数据FirstNumber=JOptionPane.showInputDialOg("请输入第1个整数:");JOptionPane.sh。wInputDialog("请输入第2个整数:");∥将字符串转换为int整数∥**********Found**********number1=Integer.parseInt(______);number2=Integer.parseInt(secondNumber);∥用空字符串初始化结果变量result="";if(number1==number2)result=number1+"=="+number2:if(number1!=number2)result=number1+"!="+numlher2;if(number1<number2)result=result+"/n"+number1+"<"+number2;if(number1>number2)result=result+"/n"+number1+">"+number2;if(number1<=number2)result=result+"/n"+number1+"<="+number2;if(number1>=number2)result=result+"/n"+number1+">="+number2;∥显示结果JOptionPane.showMessageDialog(null,result,"比较结果",∥**********Found**********JOptionPane.______);System.exit(0);}}
