日期:2014-05-20  浏览次数:20931 次

如何添加文字到面板
怎么把下面这段代码中的三个方法添加到界面呢?添加到面板的任意区域,然后添加个关闭的方法,谢谢了、、

Java code

import java.awt.*;
import java.util.Scanner;
/**
 * 
 * @author PuRuidong
 *
 */
/*
 * BorderLayout 是Window,Frame和Dialog的缺省布局管理器。
 * BorderLayout布局管理器把容器分成5个区域:North,South,East,West和Center,
 * 每个区域只能放置一个组件。各个区域的位置及大小如下图所示:
 */
public class ButtonDir{
    private String subject[] = new String [10];//定义题目
    private String answer[] = new String [10];//定义答案
    private String inputtheanswer ;//输入答案
    private int integral;//定义积分
    private int random ; //定义随机数字,用于输出题目
    private String choose ; //选择是否继续
    Scanner sc = new Scanner (System.in);
    
    public void addsubject (){ //设定题目
        subject[0]="1.continue可以用于switch结构中吗?";
        subject[1]="2.在Java中一种有几种循环类型?";
        subject[2]="3.tostring()方法属于以下哪个类?";
        subject[3]="4.先判断的非固定次数循环,一般使用哪个循环类型?";
        subject[4]="5.String s='5';(此处单引号看作双引号)中,创建了几块内存空间?";
        subject[5]="6.Java所有类的超类是?";
        subject[6]="7.在'一次编译,到处执行'中起到关键作用的是?";
        subject[7]="8.在内存中用来储存对象实例和数组值,所有通过new关键字创建的对象的空间的名字是?";
        subject[8]="9.字节码校验器为避免'停机问题'所做的努力是?";
        subject[9]="10.for循环的执行顺序是?";
        
    }
public void show (){ //随机输出题目,录入答案,判断,输出结果
        
        integral=0;//定义积分
        for (int i=0;i<50;i++){//输出题目
            
            do { //录入答案,执行判断
                
                int c=random;
                random = (int)(Math.random()*10);//产生随机数以获得数组下标
                if (c!=random){
                    System.out.println(subject[random]);//输出题目
                System.out.println("----------------------");
                System.out.println(answer[random]);//输出答案题目
                System.out.println("----------------------");
                System.out.println("请输入答案:");
                inputtheanswer = sc.next();//录入答案
                switch (random){//获得答案数组下标,并判断
                case 0:
                    if (inputtheanswer.equalsIgnoreCase("b")){
                        System.out.println("恭喜,回答正确!");
                        integral++;
                    }else{
                        System.out.println("回答错误!");
                        System.out.println("正确答案是:b");
                    }
                    break;
                case 1:
                    if (inputtheanswer.equalsIgnoreCase("b")){
                        System.out.println("恭喜,回答正确!");
                        integral++;
                    }else{
                        System.out.println("回答错误!");
                        System.out.println("正确答案是:b");
                    }
                    break;
                case 2:
                    if (inputtheanswer.equalsIgnoreCase("d")){
                        System.out.println("恭喜,回答正确!");
                        integral++;
                    }else{
                        System.out.println("回答错误!");
                        System.out.println("正确答案是:d");
                    }
                    break;
                case 3 :
                    if (inputtheanswer.equalsIgnoreCase("a")){
                        System.out.println("恭喜,回答正确!");
                        integral++;
                    }else{
                        System.out.println("回答错误!");
                        System.out.println("正确答案是:a");
                    }
                    break;
                case 4 :
                    if (inputtheanswer.equalsIgnoreCase("d")){
                        System.out.println("恭喜,回答正确!");
                        integral++;
                    }else{
                        System.out.println("回答错误!");
                        System.out.println("正确答案是:d");
                    }
                    break;
                case 5 :
                    if (inputtheanswer.equalsIgnoreCase("b")){
                        System.out.println("恭喜,回答正确!");
                        integral++;
                    }else{
                        System.out.println("回答错误!");
                        System.out.println("正确答案是:b");
                    }
                    break;
                case 6 :
                    if (inputtheanswer.equalsIgnoreCase("a")){
                        System.out.println("恭喜,回答正确!");
                        integral++;
                    }else{
                        System.out.println("回答错误!");
                        System.out.println("正确答案是:a");
                    }
                    break;
                case 7:
                    if (inputtheanswer.equalsIgnoreCase("c")){
                        System.out.println("恭喜,回答正确!");
                        integral++;
                    }else{
                        System.out.println("回答错误!");
                        System.out.println("正确答案是:c");
                    }
                    break;
                case 8 :
                    if (inputtheanswer.equalsIgnoreCase("d")){
                        System.out.println("恭喜,回答正确!");
                        integral++;
                    }else{
                        System.out.println("回答错误!");
                        System.out.println("正确答案是:d");
                    }
                    break;
                case 9 :
                    if (inputtheanswer.equalsIgnoreCase("d")){
                        System.out.println("恭喜,回答正确!");
                        integral++;
                    }else{
                        System.out.println("回答错误!");
                        System.out.println("正确答案是:d");
                    }
                    break;
                }
                }
                
                System.out.println("请问是否继续:");
                choose = sc.next();//判断是否继续
            }while (!choose.equalsIgnoreCase("n"));
            if (choose.equalsIgnoreCase("n")){
                System.out.println("您一共做了:"+(integral+1)+"道题");
                System.out.println("获得的积分是:"+integral*10);
                break;
            }
        }
    }

public void addanswer (){ //设定答案
    answer[0]="a:可以\nb:不可以\nc:continue只能用于for循环\nd:以上均错误";
    answer[1]="a:三种\nb:四种\nc:五种\nd:六种";
    answer[2]="a:String\nb:Date\nc:Scanner\nd:StringBuffer";
    answer[3]="a:while\nb:do-while\nc:for\nd:foreach";
    answer[4]="a:两块,一块存值,一块存名称\nb:一块\nc:可能两块,可能一块\nd:c正确,创建空间时,JVM会判断内存中是否存在该值,若存在,就将直接指向该空间,否则就创建一块空间";
    answer[5]="a:String\nb:Object\nc:Math\nd:Package";
    answer[6]="a:.Class文件\nb:.java文件\nc:Eclipse软件\nd:编译器";
    answer[7]="a:PC寄存器\nb:本地方法区\nc:HEAP(堆)\nd:Java栈";
    answer[8]="a:不检查.class文件\nb:不检查.java文件\nc:检查.class文件和.java文件\nd:只检查一些安全的字节码流,而不是全部";
    answer[9]="a:1,初始化.2,迭代部分.3,循环体.4,循环条件\nb:1,循环条件.2,循环体.3,迭代部分.4,初始化\nc:1,初始化.2,循环体.3,迭代部分.4,循环条件\nd:以上都不对";
}

    public static void main(String args[]){
    Frame f = new Frame("BorderLayout");
    ButtonDir center = new ButtonDir ();
    f.setLayout(new BorderLayout());
    f.add("North", new Button("North"));//第一个参数表示把按钮添加到容器的North区域      
    f.add("South", new Button("center.addsubject()"));//第一个参数表示把按钮添加到容器的South区域
    f.add("East", new Button("East"));//第一个参数表示把按钮添加到容器的East区域
    f.add("West", new Button("West"));//第一个参数表示把按钮添加到容器的West区域
    f.add("Center", new Button("Center"));//第一个参数表示把按钮添加到容器的Center区域
    f.setSize(200,200);
    f.setVisible(true); 
    }
}