这个JAVA小程序错在哪里啊,怎么不显示呢?
publicclasstestextendsJFrameimplementsKeyListener{JPanelmp=newJPanel();JTextFieldjfd=...
public class test extends JFrame implements KeyListener{
JPanel mp=new JPanel();
JTextField jfd=new JTextField(10);
JTextField jfd2=new JTextField(10);
public test(){
mp.setLayout(new GridLayout(2,1));
mp.add(jfd);
mp.add(jfd2);
this.setContentPane(mp);
jfd.addKeyListener(this);
}
public static void main(String[] args) {
test mm=new test();
mm.setVisible(true);
mm.setTitle("测试");
mm.setBounds(200,200,650,600);
}
public void keyPressed(KeyEvent at) {
String num="I love you!";
try{
if(at.getKeyCode()==10){
if(jfd.getText().equals("my")){
jfd2.setText(num);
}
}
}catch(Exception e){
e.printStackTrace();
}
}
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
}
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub
}
}
请高手帮我看看啊,谢谢了!
我是想按回车键来监听事件的。 展开
JPanel mp=new JPanel();
JTextField jfd=new JTextField(10);
JTextField jfd2=new JTextField(10);
public test(){
mp.setLayout(new GridLayout(2,1));
mp.add(jfd);
mp.add(jfd2);
this.setContentPane(mp);
jfd.addKeyListener(this);
}
public static void main(String[] args) {
test mm=new test();
mm.setVisible(true);
mm.setTitle("测试");
mm.setBounds(200,200,650,600);
}
public void keyPressed(KeyEvent at) {
String num="I love you!";
try{
if(at.getKeyCode()==10){
if(jfd.getText().equals("my")){
jfd2.setText(num);
}
}
}catch(Exception e){
e.printStackTrace();
}
}
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
}
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub
}
}
请高手帮我看看啊,谢谢了!
我是想按回车键来监听事件的。 展开
4个回答
展开全部
import java.awt.GridLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class test extends JFrame implements KeyListener {
JPanel mp = new JPanel();
JTextField jfd = new JTextField(10);
JTextField jfd2 = new JTextField(10);
public test() {
setBounds(200, 200, 650, 600);
mp.setLayout(new GridLayout(2, 1));
mp.add(jfd);
mp.add(jfd2);
this.setContentPane(mp);
jfd.addKeyListener(this);
}
public static void main(String[] args) {
test mm = new test();
mm.setVisible(true);
mm.setTitle("测试");
}
public void keyPressed(KeyEvent at) {
String num = "I love you!";
try {
if (at.getKeyCode() == 10) {
if (jfd.getText().equals("my")) {
jfd2.setText(num);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
}
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub
}
}
把这一句
setBounds(200, 200, 650, 600);
弄到上面就行了。。。
那是因为你在没有设置窗口的大小之前就把组件放进去。
所以看不见组件。。。也难怪。。
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class test extends JFrame implements KeyListener {
JPanel mp = new JPanel();
JTextField jfd = new JTextField(10);
JTextField jfd2 = new JTextField(10);
public test() {
setBounds(200, 200, 650, 600);
mp.setLayout(new GridLayout(2, 1));
mp.add(jfd);
mp.add(jfd2);
this.setContentPane(mp);
jfd.addKeyListener(this);
}
public static void main(String[] args) {
test mm = new test();
mm.setVisible(true);
mm.setTitle("测试");
}
public void keyPressed(KeyEvent at) {
String num = "I love you!";
try {
if (at.getKeyCode() == 10) {
if (jfd.getText().equals("my")) {
jfd2.setText(num);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
}
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub
}
}
把这一句
setBounds(200, 200, 650, 600);
弄到上面就行了。。。
那是因为你在没有设置窗口的大小之前就把组件放进去。
所以看不见组件。。。也难怪。。
展开全部
没显示窗口么?不会是JFrame的visible值都没设吧?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要mm.setVisible(true),这样窗口才可以显示的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在主函数程序段最后加上this.visible(true);这个方法的意思是使你的程序窗口显示出来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询