javaswing控件以及事件监听器
package 百度翻译实验; import java.text.SimpleDateFormat; import java.util.Date; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; public class frame extends JFrame{ //放到弗雷德一个属性,这样的话下面的btn1这个事件也可以访问 JLabel timelabel=new JLabel("00:00:00"); public frame() { JPanel root =new JPanel(); this.setContentPane(root); JButton button=new JButton("翻译"); root.add(button); /**** * 文本框控件 * ****/ JTextField textfield=new JTextField(20); root.add(textfield); /*ActionListener click=new btn1(); button.addActionListener(click);*/ //简写 /*button.addActionListener(new btn1());*/ //匿名内部类,我的理解就是直接在这个声明里面直接写,但是我感觉这样太乱了所以还是在下面写然后这里在这里引用 /*button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub } });*/ //创建一个jlable空间使得内容可以显示 //很重要的lambda表达式,目的是为了简化代码 button.addActionListener((e)->{ showtime(); }); root.add(timelabel); } //我们把显示时间写成一个方法 private void showtime() { SimpleDateFormat sdf =new SimpleDateFormat("HH:mm:ss"); String time=sdf.format(new Date()); System.out.println(time); //通过访问父类的这个容器让后把这个内容放到上面 timelabel.setText(time); } /*private class btn1 implements ActionListener { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub //打印我们当前系统的时间 SimpleDateFormat sdf =new SimpleDateFormat("HH:mm:ss"); String time=sdf.format(new Date()); System.out.println(time); //通过访问父类的这个容器让后把这个内容放到上面 timelabel.setText(time); } }*/ }
下面是主要的main
package 百度翻译实验;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class translate {
public static void main(String[] args) {
//jfram指的是一个窗口
// myframe frame=new myframe();\
//子类继承父类所以可以直接声明
JFrame frame=new frame();
//当关闭窗口时候退出整个程序
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//设置窗口大小宽高
frame.setSize(400,300);
//显示窗口
frame.setVisible(true);
}
}
浙公网安备 33010602011771号