注意:不改动程序的结构,不得增行或删行。
import java.awt.*;
import java.awt.event.*;
import java.io.* ;
import javax.swing.*;
class FileFrame. extends JFrame
{
File file;
JTextPane textpane;
FileInputStream readStream;
JScrollPane scroll;
public FileFrame()
{
super ("文件浏览");
JMenu fileM = new JMenu("文件");
OpenAction pen = new OpenAction ();
SaveAction clear = new SaveAction ();
ExitAction exit = new ExitAction();
JMenuBar mb = new JMenuBar();
fileM.add(open);
fileM.add(clear);
fileM.add(exit);
mb.add(fileM);
textpane=new JTextPane();
scroll=new JScrollPane(textpane);
getContentPane().add(scroll);
getContentPane().addJMenuBar(mb);
}
class OpenAction extends AbstractAction
{
public OpenAction ()
{
super("打开");
}
public void actionPerformed(ActionEvent e )
{
JFileChooser chooser=new JFileChooser();
int state=chooser.showOpenDialog(null);
file=chooser.selectedFile();
if(file!=null&&state==JFileChooser.APPROVE_OPTION)
{
try
{
readStream=new FileInputStream(file);
textpane.read(readStream, this);
readStream.close();
}
catch(IOException ioE){}
}
}
}
class SaveAction extends AbstractAction
{
public SaveAction()
{
super("保存");
}
public void actionPerformed(ActionEvent e )
{
if(file==null)
return;
try{
FileWriter ut = new FileWriter(file);
out.read(textpane.getText());
out.close();
}
catch (IOException ioE)
{}
}
}
class ExitAction extends AbstractAction
{
public ExitAction()
第1题
阅读下面代码
int x=3;
while (x<9)x+=2;
x++:
while语句成功执行的次数是______。
第2题
含5个项目。要求选择不用的项目时,能在TextField构件中显示出相关的信息,包括事件的名称,选择的项目编号和项目的状态。
注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。
程序运行结果如下:
import java.awt.*;
import java.awt.event.*;
public class ex14_2 extends Frame. implements ItemListener {
private TextField tf;
private List 1;
public static void main(String[] arg) {
ex14_2 obj14_2 = new ex14_2();
}
public ex14_2() {
setBackground(Color. GRAY);
setTitle("ex14_2");
l = new List(5);
l.addItemListener(this);
l.addItem("Item1");
l.addItem("Item2");
l.addItem("Item3");
l.addItem("Item4");
l.addItem("Item5");
add("Center",l);
tf = new TextField(50);
add("South",tf);
______________;
show ( );
}
public void itemStateChanged(ItemEvent event)
tf.setText( );
}
}
第3题
条横线处填写一个语句,使程序的功能完整(例如:100的最大真约数是50)。
注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。
public class MaxDiv{
public static void main(String args[ ]){
int a=100;
______________
while(i>0)
{
if(____________________)
_____________________
i--;
}
System. out. print in (a+"的最大真约数为: "+i );
}
}
第4题
两个顾客,每人都分3次,每次50元将钱汇入。编写一个程序,模拟实际作业。要求实现2个类,一个是银行类,一个是顾客类。
注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。
程序运行结果如下:
Customer2 :sum= 50
Customer1 :sum= 50
Customer1 :sum= 100
Customer2 :sum= 100
Customer1 :sum= 150
Customer2 :sum= 150
class bank{
private static int sum=0;
public static void add(int.n,char c){
int tmp=sum;
______________;
try{
Thread.sleep(((int) ((2000-500+1)*(Math.random())))+500);
}
catch(InterruptedException e){}
sum=tmp;
System.out.println("Customer"+c+" :sum= "+sum);
}
}
class customer extends Thread{
static char flag17_2 = '1';
public void run(){
char myflag17_2;
synchronized(this) {
myflag17_2 = flag17_2++;
}
for(int i=1;i<=3;i++)
______________________;
}
}
public class ex17_2{
public static void main(String args[]){
customer c1=new customer();
customer c2=new customer();
c1.start();
c2.start();
}
}
第6题
一个向前一个向后控制卡片的显示;卡片布局包括3张卡片,分别标识为card1、card2、card3。
注意;请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。
源程序代码文件清单如下:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.LineBorder;
public class ex20_2
{
private static CardLayout cl=new CardLayout();
private static JPanel cp=new JPanel();
public static void main(String args[])
{
JFrame. jf=new JFrame();
jf.setTitle("ex20_2");
Container c=jf.getContentPane();
JToolBar jtb=new JToolBar();
JButton btnNext=new JButton(new Imagelcon("next.gif"));
JButton btnPre=new JButton(new ImageIcon("back.gif"));
jtb.add(btnPre);
jtb.add(btnNext);
cp.setLayout(c1);
Dimension dim=new Dimension(150,80);
cp.setPreferredSize(dim);
cp.setBorder(new LineBorder(Color.BLACK));
cp.add(new JLabel("card1",JLabel.CENTER),"card1");
cp.add(new JLabel("card2",JLabel.CENTER),"card2");
cp.add(new JLabel("card3",JLabel.CENTER),"card3");
c.add(jtb,BorderLayout.NORTH);
c.add(cp,BorderLayout.CENTER);
ActionListener al=new ActionResponse();
______;
______;
if.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{
System.exit(0);
}
});
jf.pack();
jf.setVisible(true);
}
static class ActionResponse implements ActionListener
{
public void actionPerformed(ActionEvent ae)
{
if(ae.getActionCommand().equals("next"))
c1.next(cp);
else
c1.previous(cp);
}
}
}
第9题
删除注释行和其他已有的语句内容。
[题目要求]
生成下面左边图形界面,单击图中的New按钮,弹出如右图所示的对话框。
源程序:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Java_3 {
public static void main(String[] args) {
MulticastFrame. frame=new MulticastFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}
class MulticastFrame. extends JFrame. {
public MulticastFrame() {
setTitle("MulticastTest");
setSize(WIDTH,HEIGHT);
MulticastPanel panel=new MulticastPanel();
Container contentPane=getContentPane();
contentPane.add( (1) );
}
public static final int WIDTH=300;
public static final int HEIGHT=200;
}
class MulticastPanel extends JPanel }
public MulticastPanel() {
JButton newButton=new JButton("New");
add(newButton);
ActionListener newListener=new ActionListener() {
public void actionPerformed(ActionEvent event) {
makeNewFrame();
}
};
newButton.addActionListener(newListener);
closeAllButton=new JButton("Close all");
add(closeAllButton);
}
private void makeNewFrame() {
final BlankFrame. frame=new BlankFrame();
frame.show();
ActionListener closeAllListener=new ActionListener() {
public void actionPerformed(ActionEvent event) {
frame. (2) (); //使窗口隐藏或消除
}
};
closeAllButton.addActionListener( (3) );
}
private JButton closeAllButton;
}
Class BlankFrame. extends JFrame. {
public BlankFrame() {
(4) ++;
setTitle("Frame"+counter);
setSize(WIDTH,HEIGHT);
setLocation(SPACING*counter,SPACING*counter);
}
public static final int WIDTH=200;
public static final int HEIGHT=150;
public static final int SPACING=30;
private static int counter=0;
}
第10题
在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:先序遍历、【 】遍历和后序遍历。
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!