主题:那位帮我把这个改一哈..谢谢...
云游僧S
[专家分:0] 发布于 2007-11-15 17:25:00
请把我这个程序改好^^^^^^^
谢谢
回复列表 (共16个回复)
沙发
piaoyexie [专家分:1380] 发布于 2007-11-15 19:12:00
都是小问题
//*****************************************************
//********* 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));
}
}
}
板凳
云游僧S [专家分:0] 发布于 2007-11-16 07:41:00
[color=008080][color=0000FF][color=FF0000][size=3]谢谢你啊![/size]这是我第一次在编程论坛上发帖,你是第一个给我回帖[/color][/color][/color][size=2][size=3][color=FF0000]的人.[/color][/size][/size]
为什么当我键入血型后按回车后出现如下错误:
3 楼
piaoyexie [专家分:1380] 发布于 2007-11-16 13:27:00
没发现在任何的输入语句啊
4 楼
云游僧S [专家分:0] 发布于 2007-11-18 08:09:00
这个应该是输入语句:String text = bloodtype.getText();
5 楼
piaoyexie [专家分:1380] 发布于 2007-11-18 10:58:00
JTextField 没加进去吧
add(bloodtype);
有这句吗?
6 楼
云游僧S [专家分:0] 发布于 2007-11-18 21:32:00
我加了
7 楼
云游僧S [专家分:0] 发布于 2007-11-18 21:46:00
当我输入字符 A 时 出现我以前说的错误
但是当我输入 65 时出现的是 66
这句Integer.toString(b);好象没有执行
8 楼
honghai217 [专家分:10] 发布于 2007-11-18 22:36:00
你写的是啥吗?
9 楼
云游僧S [专家分:0] 发布于 2007-11-18 22:39:00
??????????
10 楼
云游僧S [专家分:0] 发布于 2007-11-18 23:16:00
改正后的程序如下:但还是有问题:
现在的问题是当我输入 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);
}
}
}
我来回复