`
笑揽清溪月
  • 浏览: 14458 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

构造器方法,窗体,swing中的事件机制实现的总结

阅读更多
构造器方法,窗体,swing中的事件机制实现


1.说明构造器方法和一般方法的区别,何谓方法重载。

   当我们创建某个类的对象时,一般的格式是: 类名 变量名=new 类名();
   如 Student st1 =new  Student();
   这里的Student() 就叫做构造器方法。
  
   与一般方法的区别:
   构造器严格的说不算是”方法“,只是因为它也可以传入参数,构造器方法没有任何返回值的定义,
   且必须与类名字相同。构造器方法只有在创建对象的时候调用——对于一个对象而言,他的构造器只能
   调用一次。构造器也可以重载,就像方法一样,定义可以传入不同方法的构造器,这也是构造器方法
   的主要用途:在创建对象时,初始化某些属性值。
     要注意的是,每个类都会有一个默认的无参构造器,但如果重新写了一个有参数的构造器,则默认的
     无参构造器不能够调用,除非在类定义中显示声明。
  
  
    每一个类都有一个默认的无参构造器,即通过new 类名()调用而创建对象。
    我们也可以给自己的类重新定义构造器方法,这叫做构造器方法的重载。
    public class Student{
    //无参构造器方法
    public Student(){}
    //一参,初始化name属性值
    public Student(String name){
    this.name=name;
    }
    //两参,初始化name,km属性值
    public Student(String name,String km)(
    this.name=name;
    this.km=km;
    )
    public String name="未知姓名";
    private String km="未知科目";
    }
    方法的重载
        在一个类中,可以定义多个同名,但参数类型和数量方法不同的方法,叫做方法的重载。
    例如:在Student类中,可以定义方法,代码如下。
   
    public void study (int hour,String k){
    km=k;
    scro+=hour/3;
    if(scro>5){
           toSleep(hour/3);   
   
       } 
    }
    public void study(int hour){
  System.out.println("不知道在学什么");
       }
      
       public void study(){
      
       System.out.println("什么都不学");
       }
         }
   
    2.如何写一个简单的登陆界面
   第一步:
    public class JFrameTest {

public static void main(String [] args){

JFrameTest tf=new JFrameTest();
tf.showFrame();
}

//显示一个窗体界面的方法
public void showFrame(){
//构造一个窗体对象
javax.swing.JFrame frame=new javax.swing.JFrame();

//设置标题
frame.setTitle("第一个界面程序");
//设置窗体大小
frame.setSi(200,200);
//让窗体显示出来买这句话要放到最后面
}
  这时候如果点击“X”窗体不会退出,
  所以要在程序中加上一句:
  frame1.setDefaultCloseOperation(3);
  此程序才会关闭
 
第二步;加组件
  public class JFrameTest {

public static void main(String [] args){

JFrameTest tf=new JFrameTest();
tf.showFrame();
}

//显示一个窗体界面的方法
public void showFrame(){
//构造一个窗体对象
javax.swing.JFrame frame=new javax.swing.JFrame();

//设置标题
frame.setTitle("第一个界面程序");

//让窗体显示出来买这句话要放到最后面

frame.setDefaultCloseOperation(3);

//创建一个一定长度的文本
Java.swing.JLabel label = new Java.swing.JLabel("账号:");
}
//创建按钮
Java.swing.JButton button=new Java.swing.JButton("登陆");
 
frame.setSi(200,200);
frame.setVisible(true);
   重新运行程序,登陆按钮占据了整个窗体界面,别的组件都看不见了,这是因为我们没有告诉frame
   对象,如何摆放在它上面的元素组件。
   代码示例   public class JFrameTest {

public static void main(String [] args){

JFrameTest tf=new JFrameTest();
tf.showFrame();
}

//显示一个窗体界面的方法
public void showFrame(){
//构造一个窗体对象
javax.swing.JFrame frame=new javax.swing.JFrame();

//设置标题
frame.setTitle("第一个界面程序");
//在放置元素组件之前,要创建并给窗体加上布局管理器:
//创建流式布局管理器
java.awt.FlowLayout f1 =new java.awt.FlowLayout();
this.setLayout(f1);
//让窗体显示出来买这句话要放到最后面

frame.setDefaultCloseOperation(3);

//创建一个一定长度的文本
Java.swing.JLabel label = new Java.swing.JLabel("账号:");
}
//创建按钮
Java.swing.JButton button=new Java.swing.JButton("登陆");
 
frame.setSi(200,200);
frame.setVisible(true);
   }
   这样一个有组件的窗体就OK了。
  
   下面总结一下:
   设置组件对象属性的方法:set<要设置的组件的属性值(设置的值的类型)。
   取得组件的属性值类型  get <要设置的组件的属性值>().
   取得组件boolean型属性值的方法:  boolean is <组件的属性值》()
   在组件上加上一个组件的方法: void add<要加的组件类型>(类型 组件名)。
  
  
   3.swing中的事件机制实现
   ①事件的概念
   事件处理是界面处理的基本功能,当用户点击鼠标或按下键盘的时候,Swing界面上获得焦点的组件
   都会收到一个事件通知,这个事件通知是Swing体系内部发出的,界面就会根据收到的通知,作出
   相应的处理,比如弹出对话框或读取用户输入。
  
  ②一个简答的事件处理流程
  个简答的事件处理流程:在一个按钮对象点击鼠标,系统即发出事件通知,这个事件通知就会被一个叫做EventObject
  (事件对象)通知给对这个事件感兴趣的处理对象EventListener(事件监听器),事件监听器中根据这个事件对象的
  数据,将读到的字符串显示在另外一个JLabel上、
 
 
 
实践过程:JButton的事件监听器是一个实现了ActionListener接口的对象:将这个对象通过调用JButton中的AddActionListener
方法传入,当按下按钮时,我们所实现接口中的actionPerformed放法就会被调用, 代码示例如下:

    public class dengluListener implements java.awt.event.ActionListener
{

private javax.swing.JTextField jt;
private javax.swing.JPasswordField mm;
public dengluListener(javax.swing.JTextField jt,javax.swing.JPasswordField mm){
this.jt=jt;
this.mm=mm;
}
//监听器中的方法通过事件触发自动调用
public void  actionPerformed(ActionEvent e){
//点登陆得到帐号和密码
//得到输入框中的数据
String name =jt.getText();
String mima=mm.getText();
System.out.println("|||"+name);
System.out.println(">>>"+mima);


}
还需要一个登陆界面类,代码如下public class denglujiemian extends javax.swing.JFrame{

public static void main(String args[]){
denglujiemian  aa =new denglujiemian();

aa.showdenglujiemian();



}
//显示登录窗体的方法
public void showdenglujiemian(){

this.setTitle("魔兽争霸");
this.setSize(300, 400);
this.setDefaultCloseOperation(3);

java.awt.FlowLayout f1 =new java.awt.FlowLayout();
this.setLayout(f1);

//加组件
javax.swing.JLabel nameLabel= new javax.swing.JLabel("帐号:");

javax.swing.JTextField nameField =new javax.swing.JTextField(20);

javax.swing.JLabel mimaLabel=new  javax.swing.JLabel("密码");

javax.swing.JPasswordField mimaField= new javax.swing.JPasswordField(20);

javax.swing.JButton loginBtn =new javax.swing.JButton("登录");


this.add(nameLabel);
this.add(nameField);
this.add(mimaLabel);
this.add(mimaField);
this.add(loginBtn);

this.setVisible(true);

dengluListener jiantingqi = new  dengluListener(nameField,mimaField);
//给按钮加上监听器对象
loginBtn.addActionListener(jiantingqi);


}
这样,在窗体中输入账号,密码以后,程序就会输出用户输入的内容。



   
0
0
分享到:
评论

相关推荐

    swing多窗口联动的实现示例

    - 在其他窗口的监听器中,通过`addPropertyChangeListener()`或`addEventListener()`方法注册监听器,当事件发生时,监听器的对应方法会被调用,从而实现数据的同步更新。 5. **MessageTest**: - 压缩包中的...

    java_swing窗体布局

    Java Swing 窗体布局是Java图形用户界面(GUI)设计的重要组成部分,它决定了组件在窗口中的排列方式和外观。Swing提供了多种布局管理器,每种都有其独特的特性和用途,下面我们将详细讨论这些布局管理器。 1. **...

    基于swing实现窗体拖拽和拉伸

    在swing中,窗体拖拽和拉伸是通过实现MouseListener和MouseMotionListener接口来实现的。MouseListener用于监听鼠标点击事件,而MouseMotionListener用于监听鼠标移动事件。通过这两个接口,我们可以捕捉到鼠标的...

    java Swing桌面程序开发课件

    * 创建窗体有两种方法,先来介绍第一种方法,可以直接使用 JFrame 窗口类的构造器来创建一个简单的窗体。 8. 创建 Frame 窗体的实例: * 使用 JFrame 窗口类的构造器来创建一个 Frame 窗体的实例。 * 设置窗口的...

    Java Swing实现窗体添加背景图片的2种方法详解

    本文将详细介绍两种在Java Swing中实现窗体添加背景图片的方法,并探讨Swing重绘过程中的`repaint()`和`updateUI()`的区别。 方法一:利用JLabel加载图片 此方法依赖于JLabel组件的`setIcon(Icon icon)`方法来加载...

    拖动窗体功能(方法类)

    总结起来,实现Java中窗体的拖动功能,主要涉及对鼠标事件的监听和处理,以及自定义组件的行为。通过在组件上添加鼠标监听器,可以捕捉到用户的拖动行为,从而动态调整窗体的位置,实现拖动效果。如果需要进一步优化...

    Java Swing下文件复制的实现方法.pdf

    在Swing中,事件监听器模式被广泛应用于组件间的交互,通过注册监听器响应用户的操作行为,如点击按钮开始复制操作。 此外,实现文件复制功能时,程序还需调用I/O相关的类和方法来完成实际的复制过程。这通常涉及到...

    Java关闭窗体的六种方法

    这种方法与第二种方法相似,但是这里是在构造函数中直接添加监听器,使得代码结构更为清晰。 **代码示例(续接):** ```java import java.awt.*; import java.awt.event.*; public class Frame1 extends Frame {...

    java Swing窗体版多线程下载程序编写示例.rar

    java Swing窗体版多线程下载程序编写示例,多线程下载的实现, 将网络URL中指定的网络文件下载到本地文件中保存。  本代码中将完成新建任务构造器、配置文件构造器,保存下载信息,获取配置文件名,设置在前台显示...

    Java Swing大神必经之路

    本篇文章详细介绍了 焦点事件及其监听器,包括其使用场景和实现方法,幫助讀者更好地理解焦点事件及其监听器的使用。 總之,本資源匯總了 Java Swing 的各個方面,幫助讀者更好地理解 Java Swing 的使用和实现方法...

    浅析使用模型参数构造Java Swing组件.pdf

    例如,下拉列表框(ComboBox)和列表框(ListBox)是Swing中的常见组件,它们都具有多个构造方法,这允许开发者根据需要以不同的方式初始化组件。 在制作下拉菜单框时,可以通过实现ComboBoxModel接口来构造下拉...

    java里的swing教程PPT课件.pptx

    布局管理器在Swing中扮演着重要角色,它们帮助开发者自动调整组件的位置和大小。例如,`FlowLayout`按照从左到右,从上到下的顺序排列组件,`BorderLayout`将组件分为五个区域(北、南、东、西、中),`GridLayout`...

    javaswing窗体布局[归类].pdf

    在Swing应用中,选择合适的布局管理器至关重要,因为它们直接影响到用户界面的外观和交互体验。FlowLayout适合简单的按钮组,BorderLayout适合主窗口的分区域设计,GridLayout适用于需要整齐网格排列的场景,而...

    swing界面设计之Layou

    `JSplitPane`是Swing中的一个组件,用于实现分隔窗格,允许用户通过拖动分隔线来调整两个窗格之间的大小比例。下面是一个简单的`JSplitPane`应用示例: ```java import java.awt.*; import javax.swing.*; public ...

    Java Swing JToggleButton开关按钮的实现

    Java Swing JToggleButton开关按钮的...本文中,我们详细介绍了 Java Swing 中的 JToggleButton 组件的实现,包括其构造方法、常用方法、监听器等,并通过示例代码,展示如何使用 JToggleButton 实现开关按钮的效果。

    Java 窗体对象浅尝

    在Swing中,`JFrame`类是最基本的窗口类,用于创建应用程序的主要窗体。例如,以下代码展示了如何创建一个简单的窗体: ```java JFrame form = new JFrame("我的第一个窗体"); form.setVisible(true); ``` 这段...

    Java语言程序设计课程设计实训项目——应用Java-Swing-GUI组件技术实现课程选课系统GUI窗口(第1部分).pdf

    - 在事件响应方法中,调用了`StudentManageImple`和`CourseManageImple`的实例方法来实现具体功能。例如,退出系统时,调用`dispose()`关闭窗口,并通过`System.exit(0)`退出应用程序。其他按钮的方法则调用了对应...

    基于Java Swing的计算器的设计与实现.pdf

    这个过程涉及到了Java编程语言的基础知识,包括Java Swing组件的使用,事件处理机制以及如何实现用户界面布局和功能。 首先,文档指出Java提供了一套图形用户界面设计的API,即AWT(Abstract Window Toolkit),它...

    java里的swing教程.ppt

    在 Swing 教程中,我们将学习如何使用 Swing 组件来创建 GUI 程序,掌握常用的基本 Swing 组件的使用方法,掌握常用的布局管理器,并学习如何使用面板(JPanel)实现复杂布局。 GUI 的概念 GUI(Graphical User ...

    java 窗体应用程序

    `ActionEvent`是Java AWT和Swing中的一种基本事件类型,通常由可以执行动作的组件(如按钮、菜单项)生成。在事件处理中,我们需要为这些组件添加`ActionListener`,并重写`actionPerformed`方法,以响应用户的操作...

Global site tag (gtag.js) - Google Analytics