计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机等级考试(NCRE)
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
计算机等级考试二级
计算机等级考试一级
网络工程师(计算机等级考试四级)
计算机等级考试二级
数据库工程师(计算机等级考试四级)
计算机等级考试三级
信息安全工程师(计算机等级考试四级)
嵌入式系统开发工程师(计算机等级考试四级)
软件测试工程师(计算机等级考试四级)
Java语言程序设计
Python语言程序设计
WPS Office高级应用与设计
C语言程序设计
C++语言程序设计
Java语言程序设计
Visual Basic语言程序设计
Web程序设计
Access数据库程序设计
MySQL数据库程序设计
Visual FoxPro数据库程序设计
办公软件高级应用
问答题基本操作题 下列程序中,要求输出一个特定文件(这里是ex2_1.java)的相关信息,包括文件的名字,相对路径以及文件的长度。请将程序补充完整。 程序运行结果如下: name: ex2_1.java path: ex2_1.java length: 299 import java.io.*; public class ex2_1 { public static void main(String[] args) { File file2_1 = new File("ex2_1.java"); System.out.println("name: " + file2_1. ); System.out.println("path: " + file2_1. ); System.out.println("length: " + file2_1. ); } }
进入题库练习
问答题下面是一个Applet程序,其功能是统计输入字符串中的每个字符在该串中出现的次数。要求,窗口中有一个文本框作为输入,一个按钮,点击则进行统计,统计结果以图形方式输出。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:importjava.awt.*;importjava.applet.*;importjava.lang.*;publicclassex293extendsAppletprivateTextFieldtf;privateButtonbtn;publicvoidinit()tf=newTextField(25);add(tf);btn=newButton("统计");add(btn);resize(250,200);publicvoidpaint(Graphicsg)Stringstr=tf.getText();shortcnt[]=newshort[65536];inti;intn=50;for(i=0;i<65536;i++)cnt[i]=0;for(i=0;i<str.length();i++)cnt[i]++;for(i=0;i<65536;i++)//对数级Cnt[]进行初始化if(cnt[i]>=0)g.drawStrinq(i+"出现"+cnt[i]+"次",50,n);n+=20;publicbooleanaction(Evente,Objecto)if(o=="统计")repaint();returntrue;elsereturnfalse;ex29_3.html<HTML><HEAD><TITLE>ex29_3</TITLE></HEAD><BODY><appletcode="ex29_3.class"width=800height=400></applet></BODY></HTML>
进入题库练习
问答题综合应用题下面是一个Applet程序,其功能是建立一个图形用户界面的窗口,包括一个文本显示区和一个按钮,点击按钮,可以在文本区已有的文本基础上追加显示10条"WelcometotheNCRExamination!"信息,并且文本区由滚动条控制文本的上下滚动。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;/**/publicclassex10_3extendsJApplet{JButtonjb=newJButton("AddText");JTextPanejtp=newJTextPane();publicvoidinit(){jb.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){for(inti=1;iex10_3
进入题库练习
问答题下面是一个Applet程序,其功能是输入3个双精度浮点数:a,b,c,构成一个一元二次方程,a*x*x+b*x+c=0,其判别式d=b*b-4*a*c,若d为负数则输出“没有实根”,否则打印出2个实根。要求,有3个输入框,输入a,b,c,一个按钮,点击实现求根过程,一个不可编辑的文本区,用作输出结果。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 import java. io. * import java. awt. * import java. awt. event. * import java. applet. Applet; /* <applet code="ex3_1. class" width=800 height=400> </applet> */ public class ex3_1 extends Applet implements ActionListener{ Panel pane= new Panel(); Label 11=new Label("a: ") TextField tf1 =new TextField(5) Label 12 = new Label ("b: ") TextField tf2=new TextField(5); Label 13=new Label("c:") TextField tf3=new TextField(5); Button btn= new Button("OK") Label 14=new Label("答案") TextField tf4=new TextField(20); ex3_1 obj3_1 public void init(){ pane. setLayout( new FlowLayout (FlowLayout. LEFT, 10,5 ) ) pane. add(11) pane. add(tf1) pane. add(12) pane. add(tf2) add( "North", pane) Panel p2=new Panel(); p2. setLayout ( new FlowLayout ( FlowLayout. LEFT, 10, 5) ) p2. add(13); p2. add(tf3) p2. add(btn) btn. addActionListener(this); add("Center",p2) Panel p3=new Panel () p3. setLayout ( new FlowLayout (FlowLayout. LEFT, 10,5 ) ) p3. add(14) tf4. setEditable(false) p3. add(tf4) add("South" ,p3) obj3_1 = new ex3_1 ( ) } public void doReal(double a1,double a2,double a3,TextField tf) double d, x1, x2 {{U}}d=a1 * a1-4.0 * a2 * a3{{/U}}; if(d>=0.0) x1=(-a2+Math. sqrt(d))/(2.0 * a1); {{U}}x2=(-a2+Math. sqrt(d))/(2.0 * a1){{/U}}; tr. setText("2个实根:x1="+x1+"/nx2="+x2); } else { tr. setText ( "没有实根!") } } public void actionPerformed(ActionEvent ae) double a, b, c; try{ a= new Double(tf1. getText( ) ). doubleValue( ); b= new Double(tf2. getText( ) ). doubleValue( ); c= new Double(tf3. getText( ) ). doubleValue( ); {{U}}obj3_1, doReal(a,b,c, 14){{/U}}; } catch(NumberFormatException nfe) { tf4. setText( "wrong number!") } } } ex3_l. html <HTML> <HEAD> <TITLE> ex3_l </TITLE> </HEAD> <BODY> <applet code="ex3_l, class" width=800 height=400> </applet> </BODY> </HTML>
进入题库练习
问答题c2.start();
进入题库练习
问答题本题程序的功能是通过菜单打开一个图像文件。窗口中有一个菜单“File”,其中包括菜单项“Open”和“Exit”。单击菜单项“Open”可弹出一个打开对话框,选中一个图像文件后单击“打开”按钮返回主窗口,则选中的图像文件显示在窗口中。单击菜单项“Exit”可退出程序。请将下述程序补充完整(注意:不得改动程序的结构,不得增行或删行)。 import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; public class advance { public static void main(String[] args) { JFrame frame = new ImageViewerFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.show (); } } class ImageViewerFrame extends JFrame { public ImageViewerFrame() { setTitle("advance"); setSize(DEFAULT WIDTH,DEFAULT_HEIGHT); label = new JLabel(); Container contentPane = getContentPane(); contentPane.add(label); ______; chooser.setCurrentDireetory(new File(".")); JMenuBar menuBar = new JMenuBar(); ______; JMenu menu = new JMenu("File"); menuBar,add (menu); JMenuItem openItem = new JMenuItem("Open"); menu.add(openItem); openItem.addActionListener(new ActionListener() { ______ int r = chooser .showOpenDialog(null); if(r == JFileChooser.APPROVE_OPTION) { String name = chooser.getSelectedFile().getPath(); label.setIeon(new ImageIcon(name)); } } }); JMenuItem exitItem = new JMenuItem("Exit"); menu.add(exitItem); exitItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { System.exit(0); } }); } private JLabel label; private JFileChooser chooser; private static final int DEFAULT_WIDTH=300; private static final int DEFAULT_HEIGHT=400; }
进入题库练习
问答题下面的程序的功能是利用实现Runnable接口的方法来创建线程,并利用它来执行响应的一些操作。最后使得m的执行结果:100。注意:请勿改动main()主方法和其他已有的语句内容,仅在下划线处填入适当的语句。classClassNameimplementsRunnableintn;_______________________tryThread.sleep(2000);n=100;catch(Exceptione)publicstaticvoidmain(String[]args)tryClassNamea=newClassName();__________________threadl.start();threadl.join();intm=a.n;System.out.println("m="+m);catch(Exceptione)
进入题库练习
问答题下列程序中,要求输出一个特定文件(这里是ex2_1.java)的相关信息,包括文件的名字,相对路径以及文件的长度。请将程序补充完整。 程序运行结果如下: name:ex2_1.java path:ex2_1.java length: 299 import java.io.*; public class ex2_1{ public static void main(String[] args) { File file2_1 = new File("ex2_1.java"); System.out.println("name:"+file2_1.____________ ); System.out.println("path:"+file2_1.____________ ); System.out.println("length:"+file2_1.____________ ); } }
进入题库练习
问答题本题是一个表格式的成绩单,其中包括“姓名”、“英语成绩”、“数学成绩”和“总成绩”,姓名和成绩都可以进行修改,单击按钮“计算每人总成绩”,则可以统计出每个人的总成绩并显示在总成绩栏中。 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class java2 extends JFrame implements ActionListener JTable table;Object a[][]; Object name[]="姓名","英语成绩","数学成绩","总成绩"); JButton button; java2() setTitle("java2"); a=new Object[8][4]; for(int i=0;i<8;i++) for(int j=0;j<4;j++) if(j!=0) a[i][j]=""; else a[i][j]=""; button=new JButton("计算每人总成绩"); table=______; button.addActionListener(this); getContentPane().add(new JScrollPane(table),BorderLayout.CENTER); getContentPane().add(button,BorderLayout.SOUTH); setSize(400,200); setVisible(true); validate(); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); public void actionPerformed(ActionEvent e) for(int i=0;i<8;i++) double sum=0; boolean boo=true; for(int j=1;j<=2;j++) try sum=sum+Double.parseDouble(______); catch(Exception ee) boo=false; table.repaint(); if(boo==true) a[i][3]=""+sum; table.repaint(); public static void main(String args[]) java2 Win=new java2();
进入题库练习
问答题本程序的功能是解析HTML。窗口中有一个文本域、一个文字标签和一个“改变标签显示内容”按钮,在文本域中输入HTML代码,单击按钮后,如果HTML语法没有错误,右侧文字标签将显示对应HTML语言显示风格的内容,否则将弹出一个错误信息提示框,如图所示。importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassexam_46extendsJPanel{JLabeltheLabel;JTextAreahtmlTextArea;publicexam_46(){StringinitialText="<html>/n"+"颜色和字体测试:/n"+"<ul>/n"+"<li><fontcolor=red>红色</font>/n"+"<li><fontcolor=blue>蓝色</font>/n"+"<li><fontcolor=green>绿色</font>/n"+"<li><fontsize=-2>小</font>/n"+"<li><fontsize=+2>大</font>/n"+"<li><i>斜体</i>/n"+"<li><b>粗体</b>/n"+"</ul>/n";htmlTextArea=newJTextArea(10,20);htmlTextArea.setText(initialText);JScrollPanescrollPane=newJScrollPane(htmlTextArea);JButtonchangeTheLabel=newJButton("改变标签显示内容");changeTheLabel.setMnemonic(KeyEvent.VK_C);changeTheLabel.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){try{theLabel.setText(htmlTextArea.gettext());}catch(Throwableexc){showMessageDialog(exam_46.this,"您指定的HTML无效.");}}});changeTheLabel.setAlignmentX(Component.CENTER_ALIGNMENT);theLabel=newJLabel(initialText){publicDimensiongetPreferredSize(){returnnewDimension(200,200);}publicDimensiongetMinimumSize(){returnnewDimension(200,200);}publicDimensiongetMaximumSize(){returnnewDimension(200,200);}};theLabel.setVerticalAlignment(SwingConstants.CENTER);theLabel.setHorizontalAlignment(SwingConstants.CENTER);JPanelleftPanel=newJPanel();leftPanel.setLayout(newBoxLayout(leftPanel,BoxLayout.Y_AXIS));leftPanel.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createTitledBorder("首先编辑HTML,然后单击按钮"),BorderFactory.createEmptyBorder(10,10,10,10)));leftPanel.add(scrollPane);leftPanel.add(Box.createRigidArea(newDimension(0,10)));leftPanel.add(changeTheLabel);rightPanel=newJPanel();rightPanel.setLayout(newBoxLayout(rightPanel,BoxLayout.Y_AXIS));rightPanel.setBorder(BorderFaotory.createCompoundBorder(BorderFactory.createTitledBorder("使用HTML标记的标签"),BorderFactory.createEmptyBorder(10,10,10,10)));rightPanel.add(theLabel);setLayout(newBoxLayout(this,BoxLayout.X_AXIS));setBorder(BorderFactory.createEmptyBorder(10,10,10,10));add(leftPanel);add(Box.createRigidArea(newDimension(10,0)));add(rightPanel);}publicstaticvoidmain(Stringargs[]){JFramef=newJFrame("exam_46");f.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});f.getContentPane().add(newexam_46());f.pack();f.setVisible(true);}}
进入题库练习
问答题简单应用题请完成下列Java程序:输出某年的某月有多少天数,要求生成2个输入对话框,一个输入年份,一个输入月份,并且能检查输入的数字是否符合要求,如果符合要求,则根据输入的年份和月份计算出这一年的这一月有多少天。提示:闰年为年数能被4整除但是不能被100整除。注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。程序运行结果如下:importjavax.swing.JOptionPane;publicclassex10_2{publicstaticvoidmain(String[]args){StringstrIn;intnYear,nMonth,nNumOfDays=0;strIn=JOptionPane.showInputDialog("year");nYear=Integer.parseInt(strIn);if(nYear<0){System.out.println("Invalidatenumberofyear!");return;}strIn=JOptionPane.showInputDialog("month");nMonth=Integer.parseInt(strIn);if(){System.out.println("Invalidatenumberofmonth!");return;}switch(nMonth){case1:case3:case5:case7:case8:case10:case12:nNumOfDays=31;break;case4:case6:case9:case11:nNumOfDays=30;break;case2:if()nNumOfDays=29;elsenNumOfDays=28;break;}System.out.println("Numberofdays:"+nNumOfDays);}}
进入题库练习
问答题本程序的功能是用列表来选择窗口背景的颜色。程序窗口中有一个列表框,列表项是不同的颜色,选中其中一种颜色,窗口的背景色就变成对应的颜色,列表框不支持多项选择,如图所示。importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.event.*;publicclassexam_66extendsJFrame{privateJListcolorList;privateContainerc;privateStringcolorNames[]={"Black","Blue","Cyan","DarkGray","Gray","Green","LightGray","Magenta","Orange","Pink","Red","White","Yellow"};privateColorcolors[]={Color.black,Color.blue,Color.cyan,Color.darkGray,Color.gray,Color.green,Color.lightGray,Color.magenta,Color.orange,Color.pink,Color.red,Color.white,Color.yellow};publicexam_66(){super("exam_66");c=getContentPane();c.setLayout(newFlowLayout());colorList=newJList();colorList.setVisibleRowCount(5);colorList.SelectionMode(ListSelectionModel.SINGLESELECTION);c.add(newJScrollPane(colorList));colorList.addListSelectionListener(newListSelectionListener(){publicvoidvalueChanged(ListSelectionEvente){c.setBackcolor(colors[colorList.getSelectedIndex()]);}});setSize(350,150);show();}publicstaticvoidmain(Stringargs[]){exam_66app=newexam_66();app.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});}}
进入题库练习
问答题下面是一个Applet程序,其功能是从3~100之间(包括3和100)每隔0.5秒显示一个新的数字,如果数字为素数,则显示为灰色,其他为绿色。请更正题中带下划线的部分。 注意:不改变程序的结构,不得增行或删行。 import java.awt.*; import java.applet.Applet; /* <applet code="exl5_3.class"width=800 height=400> </applet> */ public class ex15_3 extends Applet public Color color15_3=Color.black; private int n15_3=3; public myPrime thPrimel5_3; public void init() thPrimel5_3=new myPrime(this); thPrimel5_3.start(); public void paint(Graphics g) g.setColor(Colorl5_3); g.drawString(n15_3,50,50); public int getInt() return n15_3; class myPrime extends Thread ex15_3 objl5_3; myPrime(ex15_3 o) this.objl5_3=o; public boolean isPrime(int n) boolean bPrime=true; int i=2; if(n<3||n>100) return false; while(i<n-1 i++; return bPrime; public void run() int i; for(i=3;i<100;i++) if(isPrime(i)) objl5_3.color15_3=Color.gray; else objl5_3.color15_3=Color.green; obj15_3.n15_3; objl5_3.repaint(); try sleep(500); catch(InterruptedException ie) exl5_3.html <HTML> <HEAD> <TITLE>exl5_3</TITLE> </HEAD> <BODY> <applet code="exl5_3.class" width=800 height=400> </applet> </BODY> </HTML>
进入题库练习
问答题下面程序执行后,输出结果为:true请在程序的每条横线处填写一个语句,使程序的功能完整。 注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。 public class TestStringCompare{ {public static void main(String ____________________ args) {char charl[]={'t','e','s','t'}; char char2[]={'t','e','s','t','1'}; String str1=new String(___________________); String str2=new String(char2,0,4); System.out.println(__________________________); } }
进入题库练习
问答题本程序中,通过“connect”菜单显示一个对话框,单击“Ok”按钮后,所填写的内容就会传回到主窗口并显示出来,如图所示。importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassexam_99extendsJFrameimplementsActionListener{publicexam_99(){setTitle("exam_99");setSize(300,300);addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});JMenuBarmbar=newJMenuBar();setJMenuBar(bar);JMenufileMenu=newJMenu("File");mbar.add(fileMenu);connectItem=newJMenuItem("Connect");connectItem.addActionListener(this);fileMenu.add(connectItem);exitItem=newJMenuItem("Exit");exitItem.addActionListener(this);fileMenu.add(exitItem);}publicvoidactionPerformed(ActionEventevt){Objectsource=evt.getSource();if(source==connectItem){ConnectInfotransfer=newConnectInfo("yourname","pw");if(dialog==null)dialog=newConnectDialog(this);if(dialog.showDialog(transfer)){Stringuname=transfer.username;Stringpwd=transfer.password;ContainercontentPane=getContentPane();contentPane.add(newJLabel("username="+uname+",password="+pwd),"South");validate();}}elseif(source==exitItem)System.exit(0);}publicstaticvoidmain(String[]args){JFramef=newexam_99();f.show();}privateConnectDialogdialog=null;privateJMenuItemconnectItem;privateJMenuItemexitItem;}classConnectInfo{publicStringusername;publicStringpassword;publicConnectInfo(Stringu,Stringp){username=u;password=p;}}classConnectDialogextendsJDialogimplementsActionListener{publicConnectDialoq(){super(parent,"Connect",true);ContainercontentPane=getContentPane();JPanelp1=newJPanel();p1.setLayout(newGridLayout(2,2));p1.add(newJLabel("Username:"));p1.add(username=newJTextField(""));p1.add(newJLabel("Password:"));p1.add(password=newJPasswordField(""));contentPane.add("Center",p1);Panelp2=newPanel();okButton=addButton(p2,"Ok");cancelButton=addButton(p2,"Cancel");contentPane.add("South",p2);setSize(240,120);}JButtonaddButton(Containerc,Stringname)JButtonbutton=newJButton(name);button.addActionListener(this);c.add(button);returnbutton;}publicvoidactionPerformed(ActionEventevt){Objectsource=evt.getSource();if(source==okButton){ok=true;setVisible(false);}elseif(source==cancelButton)setVisible(false);}publicvoidshowDialog(ConnectInfotransfer){username.setText(transfer.username);password.setText(transfer.password);ok=false;show();if(ok){transfer.username=username.getText();transfer.password=newString(password.getPassword());}returnok;}privateJTextFieldusername;privateJPasswordFieldpassword;privatebooleanok;privateJButtonokButton;privateJButtoncancelButton;}
进入题库练习
问答题下面程序的目的是在屏幕上显示当前目录下的文件信息。文件信息通过表格JTable的实例显示。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 import java.awt.*; import javax.swing.*; import java.util. Date; import javax.swing.table.*; import java.applet.*; import java.io.*; public class Example3_10 extends JApplet, JFrame public void init() FileModel fm = new FileModel(); JTable jt = new JTable(); jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); jt.setColumnSelectionAllowed(true); JScrollPane jsp = new JScrollPane(jt); getContentPane().add(jsp, BorderLayout.CENTER); public static void main(String args[]) Example3_10 ft = new Example3_10(); ft.init(); JFrame f = new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT ON CLOSE); f.getContentPane() .add(ft.getContentPane()); f.setSize (300, 400); f.show(); class FileModel extends AbstractTableModel String[] columnName = new String[] "文件名", "大小", "最后修改时间" Object[] [] data; public FileModel() this("."); public FileModel(String dir) File file = new File(dir); String files[] = file.list(); data = new Object [files.length] [columnName.length]; for (int i=0; i < files.length; i++) File tmp = new File (files[i]); data[i] [0] = tmp.getName(); data[i] [1] = new Long(tmp.length()); data[i] [2] = new Date(tmp.lastModified() ); public int getColumnNumber() return columnName.length; public int getRowCount() return data. length; public String getColumnName(int col) return columnName[col]; public Object getValueAt(int row, int col) return data[row] [col]; public Class getColumnClass(int c) return getValueAt (0, c) .getClass();
进入题库练习
问答题基本操作题 下列程序中,要求计算1+2+3+…+100的值,并显示计算结果。请将程序补充完整。 程序运行结果如下: 5050 public class ex6_1 { public static void main(String[] args) { ex6_1 obj6_1=new ex6_1(); obj6_1.method6_1(); } public void method6_1(){ int sum; ; for(int i=1;i<=100;i++){ ; } ; } }
进入题库练习
问答题下面是一个Applet程序,其功能是构造n阶魔方阵,魔方阵是这样一个方阵,它的每一行,每一列和对角线之和均相等,例如3阶魔方阵为 8 1 6 3 5 7 4 9 2 要求用Applet实现上述魔方阵。窗口中包括提示栏,提示输入0~15之间的奇数;输入框,输入方阵的阶数;按钮;点击则输出魔方阵;画布用于输出结果。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 源程序文件代码清单如下: import java.awt.*; import java.awt.event.*; import java.applet.Applet; import java.lang.Math.*; /* <applet code="ex10_3.class" width=800 height=400> </applet> */ public class ex10_3 extends Applet implements ActionListener { Panel pane=new Panel(); drawWnd dw; Label 11 = new Label("输入(0~15的奇数): "); TextField tf1 = new TextField(5); Button btn = new Button("OK"); int[] [] a=new int[16] [16]; int n=15; public void init() { pane.setLayout(new FlowLayout(FlowLayout.CENTER, 25,5)); pane.add(11); pane.add(tf1); pane.add(btn); {{U}}pane.addActionListener(this){{/U}}; add("North",pane); dw=new drawWnd(); add("South",dw); } class drawWnd extends Canvas { drawWnd ( ) { setSize(300,300); setBackground(Color.GRAY); } public void paint(Graphics g) { g.setColor(Color. GREEN); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) g.drawString(Integer.toString(a[i] [j]),i*20,j*20); } } public void actionPerformed(ActionEvent ae) } try{ n=Integer.parseInt (tf1.getText ()); int i=1, j=1; for (i=1;i<=n;i++) for (j=1; j<=n; j++) a[i] [j]=0; j=n/2+1; {{U}}a[i] [j]=1;{{/U}} for ({{U}}int k=1; k<=n*n; k++{{/U}}) { i--; j++; if((i<1) j--; } else { if (i<1) i=n; if (j>n) j=1; } if (a[i] [j]==0) a[i] [j]=k; else{ i=i+2; j--; a[i] [j]=k; } } dw. repaint ( ); } catch (NumberFormatException nfe) { tf1.setText ("error!"); } } } {{B}}ex10_3.html{{/B}} <HTML> <HEAD> <TITLE>ex10_3</TITLE> </HEAD> <BODY> <applet code="ex10_3.class" width=800 height=400> </applet> </BODY> </HTML>
进入题库练习
问答题本题的功能是用按钮来控制文本框中文本的颜色。窗口中有两个带有文字标题的面板“Sample text”和“Text color control”,窗口的底部还有一个复选按钮“Disable changes”。在“Sample text”而板中有一个带有字符串的文本框,而在“Text color control”面板中有三个按钮:“Black”、“Red”和“Green”,并且每个按钮上都有一个对应颜色的圆。单击任意按钮,文本框中的文本变成对应的颜色,如果选中“Disable changes”复选项,则三个颜色按钮变为不可用,如果取消选中复选项,则三个按钮变为可用。 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class java3 extends JFrame private JPanel upper,middle,lower; private JTextField text; private JButton black,red,green; private JCheckBox disable; public java3(String titleText) super(title Text); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); upper=new JPanel(); upper.setBorder(BorderFactory.createTitledBorder("Sample text")); upper.setlayout(new BorderLayOut()); text=new JTextField("Change the color of this text"); upper.add(text,BorderLayout.CENTER); middle=new JPanel(); middle.setBorder(BorderFactory.createTitledBorder("Text color control")); middle.setLayout(new FlowLayout(FlowLayout.CENTER)); black=new JButton("Black",new Colorlcon(Color.black)); black.addActionListener(new ButtonListener(Color.black)); middle.add(black); red=new JButton("Red",new Colorlcon(Color.red)); red.addActionListener(new ButtonListener(Color.red)); middle.add(red); green=new JButton("Green",new Colorlcon(Color.green)); green.addActionListener(new ButtonListener(Color.green)); middle.add(green); lower=new JPanel(); lower.setLayout(new FlowLayout(FlowLayout.RIGHT)); disable=new JCheckBox("Disable changes"); disable.addItemListener(new ItemListener() public void itemStateChanged(ItemEvent e) boolean enabled =(e.getStateChange() ==ItemEvent.DESELECTED); black.setEnabled(enabled); red.setEnabled(enabled); green.setEnabled(enabled); ); lower.add(disable); Container cp=getContentPane(); cp.add(upper.BorderLayout.NORTH); cp.add(middle,BorderLayout.CENTER); cp.add(lower,BorderLayout.SOUTH); pack(); setVisible(true); class ButtonListener extends ActionListener private Color c; public ButtonListener(Color c) this.c=c; public void actionPerformed(ActionEvent e) text.setForeground(c); class ColorIcon implements Icon private Color c; private static final int DIAMETER=10; public ColorIcon(Color c) c=c; public void paintIcon(Component cp,Graphics g,int x,int y) g.setColor(c); g.fillOval(x,y,DIAMETER,DIAMETER); g.setColor(Color.black); g.drawOval(x,y,DIAMETER,DIAMETER); public int getIconHeight() return DIAMETER; public int getlconWidth() return DIAMETER; public static void main(String[]args) new java3("advance");
进入题库练习
问答题下面的程序的功能是利用实现Runnable接口的方法来创建线程,并利用它来执行响应的一些操作。最后使得m的执行结果为100。 注意:请勿改动main()主方法和其他已有的语句内容,仅在下划线处填入适当的语句。 源程序文件代码清单如下: class ClassName implements Runnable { int n; ______ { try { Thread.sleep(2000); n=100; }catch(Exception e) {} } public static void main(String args[]) { try { ClassName a=new ClassName(); _____ thread1.start(); thread1.join(); int m=a.n; System.out.println("m="+m); }catch(Exception e) {} } }
进入题库练习