回 帖 发 新 帖 刷新版面

主题:那位帮我把这个改一哈..谢谢...

请把我这个程序改好^^^^^^^
谢谢

回复列表 (共16个回复)

沙发

都是小问题

//*****************************************************
//*********  MAGIC.JAVA      作者:赵拴锁***************
//*********  作用:输入你的血型,你未来的伴侣的血型为.***********
//*****************************************************
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.JFrame;

public class Magic {
    // ****************************************************
    // ********* 创建名为的MAGIC的GUI *********************
    // ****************************************************

    public static void main(String args[]) {
        JFrame frame = new JFrame("MAGIC!");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//        FistPanel panel = new FirstPanel();
        FirstPanel panel=new FirstPanel();
//        frame.getContentpane().add(panel);
        frame.getContentPane().add(panel);
        frame.pack();
        frame.setVisible(true);
    }
}

class FirstPanel extends JPanel {

    private JLabel inputlabel, outputlabel, resultlabel;
    private JTextField bloodtype;

    // ***********************************
    // ******建立起各个组件***************
    // ***********************************
    public FirstPanel() {
        inputlabel = new JLabel("请输入你的血型:");
        outputlabel = new JLabel("你未来的伴侣的血型为:");
        resultlabel = new JLabel("__");
        bloodtype = new JTextField(50);
        bloodtype.addActionListener(new TypeListener());

        add(inputlabel);
        add(outputlabel);
        add(resultlabel);
        setPreferredSize(new Dimension(400, 100));
        setBackground(Color.green);
    }

    private class TypeListener implements ActionListener {
        // *******************************************
        // 创建监听器,当你按下回车键时,采取相应的行动**
        // *********************************************
        int a, b;//范围
        public void actionPerformed(ActionEvent event) {

//            int a, b;
            String text = bloodtype.getText();
            a = Integer.parseInt(text);
            switch (a) {
            case 65:
                b = 66;
                break;
            case 66:
                b = 65;
                break;
            case 79:
                b = 66;
                break;
            }
            resultlabel.setText(Integer.toString(b));
        }

    }
}

板凳

[color=008080][color=0000FF][color=FF0000][size=3]谢谢你啊![/size]这是我第一次在编程论坛上发帖,你是第一个给我回帖[/color][/color][/color][size=2][size=3][color=FF0000]的人.[/color][/size][/size]



为什么当我键入血型后按回车后出现如下错误:

3 楼

没发现在任何的输入语句啊

4 楼

这个应该是输入语句:String text = bloodtype.getText();

5 楼

JTextField 没加进去吧

 add(bloodtype);

有这句吗?

6 楼

我加了

7 楼

当我输入字符 A 时 出现我以前说的错误
但是当我输入 65 时出现的是 66
这句Integer.toString(b);好象没有执行

8 楼

你写的是啥吗?

9 楼

??????????

10 楼

改正后的程序如下:但还是有问题:
现在的问题是当我输入 A 时出现错误  但当我输入65时输出的是 A
我想当我输入A 时 输出 A,也就是我想输入的是字符输出的也是字符






import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.JFrame;

public class magic {
    // ****************************************************
    // ********* 创建名为的MAGIC的GUI *********************
    // ****************************************************

    public static void main(String args[]) {
        JFrame frame = new JFrame("MAGIC!");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//        FistPanel panel = new FirstPanel();
        FirstPanel panel=new FirstPanel();
//        frame.getContentpane().add(panel);
        frame.getContentPane().add(panel);
        frame.pack();
        frame.setVisible(true);
    }
}

class FirstPanel extends JPanel {

    
    private static final long serialVersionUID = 1L;
    private JLabel inputlabel, outputlabel,resultlabel;

    private JTextField bloodtype;

    // ***********************************
    // ******建立起各个组件***************
    // ***********************************
    public FirstPanel() {
        inputlabel = new JLabel("请输入你的血型: ");
        
        outputlabel = new JLabel("你未来的伴侣的血型为:");
        resultlabel = new JLabel("_");
        bloodtype = new JTextField(7);
       
        bloodtype.addActionListener(new TypeListener());

        add(inputlabel);
        add(bloodtype);
        add(outputlabel);
        add(resultlabel);
        setPreferredSize(new Dimension(200, 50));
        setBackground(Color.gray);
    }

    private class TypeListener implements ActionListener {
        // *******************************************
        // 创建监听器,当你按下回车键时,采取相应的行动**
        // *********************************************
        int a=0;//范围
        String b;
        public void actionPerformed(ActionEvent event) {


            String text = bloodtype.getText();
            a = Integer.parseInt( text);
            switch (a) {
            case 65:
                b = "A";
                break;
            case 66:
                b = "B";
                break;
            case 79:
                b = "A";
                break;
            }
          
            resultlabel.setText(b);
        }

    }

    
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册