标题:输入小写,输出大写,为什么报错?
只看楼主
cy2047
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-6-17
 问题点数:0 回复次数:13 
输入小写,输出大写,为什么报错?

要实现在文本框里实现输入小写,输出大写

import java.awt.*;
import java.awt.Event;
import java.awt.TextArea;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.*;

public class Key implements KeyListener {

public static void main(String[] args)
{
JFrame f=new JFrame("example");
TextArea t=new TextArea();
t.addKeyListener(new Key());
f.add(t);
f.setVisible(true);

}


public void keyPressed(KeyEvent arg0) {
// TODO Auto-generated method stub
TextArea ta=(TextArea)arg0.getSource();
String s=ta.getText();
String b=s.toUpperCase();
ta.setText("" );
ta.append(b);
}


public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub

}


public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub

}
}


报错信息:
java.lang.Error: Do not use javax.swing.JFrame.add() use javax.swing.JFrame.getContentPane().add() instead
at javax.swing.JFrame.createRootPaneException(Unknown Source)
at javax.swing.JFrame.addImpl(Unknown Source)
at java.awt.Container.add(Unknown Source)
at Key.main(Key.java:18)
Exception in thread "main"

搜索更多相关主题的帖子: 小写 输出 输入 
2006-06-22 09:02
水影月圆
Rank: 4
等 级:贵宾
威 望:11
帖 子:738
专家分:0
注 册:2005-8-2
得分:0 
我这运行的是好好的啊
在输入的时候是小写 当在写第2个小写字母的时候 第1个字母就会变为大写 是这样的吧

子非鱼,安知鱼之江湖?子非我,安知我之功夫 http://20681.
2006-06-22 09:14
cy2047
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-6-17
得分:0 
我希望的是那样的没错
那为什么我机子上运行出错呢。。。运行别的程序没问题啊
2006-06-22 09:47
水影月圆
Rank: 4
等 级:贵宾
威 望:11
帖 子:738
专家分:0
注 册:2005-8-2
得分:0 

import java.awt.*;
import java.awt.Event;
import java.awt.TextArea;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.*;

public class Key implements KeyListener
{
public static void main(String[] args)
{
JFrame f=new JFrame("example");
TextArea t=new TextArea();
t.addKeyListener(new Key());
f.add(t);
f.setSize(800,600);
f.setVisible(true);
}

public void keyPressed(KeyEvent arg0)
{
// TODO Auto-generated method stub
TextArea ta=(TextArea)arg0.getSource();
String s=ta.getText();
String b=s.toUpperCase();
ta.setText("" );
ta.append(b);
}


public void keyReleased(KeyEvent arg0)
{
// TODO Auto-generated method stub
}


public void keyTyped(KeyEvent arg0)
{
// TODO Auto-generated method stub
}
}


把我的复制去试试


子非鱼,安知鱼之江湖?子非我,安知我之功夫 http://20681.
2006-06-22 10:01
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 

最好是监听用户输入
注册一个keyListener


可惜不是你,陪我到最后
2006-06-22 10:08
cy2047
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-6-17
得分:0 
还是不行。。。。看不懂报错的意思
大家再给点意见
2006-06-22 10:31
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
有报错吗>?

可惜不是你,陪我到最后
2006-06-22 10:40
水影月圆
Rank: 4
等 级:贵宾
威 望:11
帖 子:738
专家分:0
注 册:2005-8-2
得分:0 
加个容器
f.getContentPane().add(t);
再试试

子非鱼,安知鱼之江湖?子非我,安知我之功夫 http://20681.
2006-06-22 10:42
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
容器是肯定要加的,刚才我都没有看到你没有加容器
在JFrame中,是不能直接把内容放到它上面去的
你必须得到JFrame的内容窗格,然后把东西放到内容窗格上
这和Frame是不一样的

可惜不是你,陪我到最后
2006-06-22 10:49
cy2047
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-6-17
得分:0 
这下行了 ,谢谢二位。感谢千里的说明~
2006-06-22 10:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-74017-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.535332 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved