当前位置: 技术问答>java相关
小问题,送分
来源: 互联网 发布时间:2015-09-05
本文导语: import java.awt.*; import java.awt.event.*; import javax.swing.*; //import MyWindowListener; public class MyPasswordField extends JFrame implements ActionListener { private JTextField tf; private JPasswordField pwd; public MyPasswordField() { super("MyPasswordField.java:...
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//import MyWindowListener;
public class MyPasswordField extends JFrame
implements ActionListener
{
private JTextField tf;
private JPasswordField pwd;
public MyPasswordField()
{
super("MyPasswordField.java:");
Container c=getContentPane();
c.setLayout(new FlowLayout());
pwd=new JPasswordField(12);
c.add(new JLabel("输入密码:"));
c.add(pwd);
tf=new JTextField(12);
c.add(new JLabel("显示密码"));
c.add(tf);
pwd.addActionListener(this);
tf.addActionListener(this);
setSize(250,100);
show();
}
public void actionPerformed(ActionEvent e)
{
String s="";
if (e.getSource()==pwd)
{
s=new String(pwd.getPassword());
tf.setText(s);
}
}
public static void main(String args[])
{
MyPasswordField app=new MyPasswordField();
//app.addWindowListener(new MyWindowListener());
}
}
我按着书上的例子写的代码,有"//"的两句加上编译不过去,去掉能编译过去,但执行时
达不到预期的效果。MyWindowListener到底是做什么用的。
import java.awt.event.*;
import javax.swing.*;
//import MyWindowListener;
public class MyPasswordField extends JFrame
implements ActionListener
{
private JTextField tf;
private JPasswordField pwd;
public MyPasswordField()
{
super("MyPasswordField.java:");
Container c=getContentPane();
c.setLayout(new FlowLayout());
pwd=new JPasswordField(12);
c.add(new JLabel("输入密码:"));
c.add(pwd);
tf=new JTextField(12);
c.add(new JLabel("显示密码"));
c.add(tf);
pwd.addActionListener(this);
tf.addActionListener(this);
setSize(250,100);
show();
}
public void actionPerformed(ActionEvent e)
{
String s="";
if (e.getSource()==pwd)
{
s=new String(pwd.getPassword());
tf.setText(s);
}
}
public static void main(String args[])
{
MyPasswordField app=new MyPasswordField();
//app.addWindowListener(new MyWindowListener());
}
}
我按着书上的例子写的代码,有"//"的两句加上编译不过去,去掉能编译过去,但执行时
达不到预期的效果。MyWindowListener到底是做什么用的。
|
在构造函数中增加:
pwd.addKeyListener(new KeyAdapter(){
public void keyReleased(KeyEvent e){
tf.setText(pwd.getText());
}
});
其实你的程序也是可以出来结果的,你输入完毕回车即可。上面的代码可以即时显示。
pwd.addKeyListener(new KeyAdapter(){
public void keyReleased(KeyEvent e){
tf.setText(pwd.getText());
}
});
其实你的程序也是可以出来结果的,你输入完毕回车即可。上面的代码可以即时显示。
|
在书中好好找找,MyWindowListener应该是前面例子里的。
你把app.addWindowListener(new MyWindowListener());
换成:
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
或者
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
你把app.addWindowListener(new MyWindowListener());
换成:
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
或者
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
提示是什么?
那个好像是别人自己写的类,你要找到并且和你的这个源程序一起编译才能通过
那个好像是别人自己写的类,你要找到并且和你的这个源程序一起编译才能通过
|
应该是事件监听用。但你应该自己写MyWindowListener.java,编译不过是因为你根本就没有这个代码单元吧
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。