当前位置: 代码迷 >> Java相关 >> 输入小写,输出大写,为什么报错?
  详细解决方案

输入小写,输出大写,为什么报错?

热度:416   发布时间:2006-06-22 09:02:23.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.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"

搜索更多相关的解决方案: 小写  输出  输入  

----------------解决方案--------------------------------------------------------
我这运行的是好好的啊
在输入的时候是小写 当在写第2个小写字母的时候 第1个字母就会变为大写 是这样的吧
----------------解决方案--------------------------------------------------------
我希望的是那样的没错
那为什么我机子上运行出错呢。。。运行别的程序没问题啊
----------------解决方案--------------------------------------------------------

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
}
}


把我的复制去试试


----------------解决方案--------------------------------------------------------

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


----------------解决方案--------------------------------------------------------
还是不行。。。。看不懂报错的意思
大家再给点意见
----------------解决方案--------------------------------------------------------
有报错吗>?
----------------解决方案--------------------------------------------------------
加个容器
f.getContentPane().add(t);
再试试
----------------解决方案--------------------------------------------------------
容器是肯定要加的,刚才我都没有看到你没有加容器
在JFrame中,是不能直接把内容放到它上面去的
你必须得到JFrame的内容窗格,然后把东西放到内容窗格上
这和Frame是不一样的
----------------解决方案--------------------------------------------------------
这下行了 ,谢谢二位。感谢千里的说明~
----------------解决方案--------------------------------------------------------
  相关解决方案