import java.awt.event.*;
import java.awt.event.ActionListener;
import java.awt.*;
import javax.swing.*;
public class Test extends JFrame implements ActionListener{
/**
*
*/
private static final long serialVersionUID = 1L;
JPanel p;
JTextField field = new JTextField();
JButton button;
JLabel label;
Test frame ;
//绘制界面
public void lunchFrame(){
frame = new Test();
button = new JButton("点击");
label = new JLabel();
Container content = this.getContentPane();
p = new JPanel();
p.setLayout(new BorderLayout());
content.add(p);
p.add(field,BorderLayout.NORTH);
p.add(label,BorderLayout.CENTER);
p.add(button,BorderLayout.SOUTH);
frame.setSize(100,200);
frame.setTitle("title");
frame.setVisible(true);
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
button.addActionListener(frame);
System.out.println("dddd");
}
//构造方法
public Test(){
}
//主函数
public static void main(String[] args){
Test test = new Test();
test.lunchFrame();
}
//事件响应
@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().toString().equals("点击")){
if(field.getText().equals("")!=true){
label.setText("您输入的内容为\n:"+field.getText());
}
}
}
}
上面的代码是创建一个窗体,有TextField,JButton,JLabel三个组件,当点击Button时将TextField中的内容显示在JLabel中。
如果你按上面的程序实现,你会发现根本行不通,下面是他的运行拷屏。(拷不上)
会发现他的界面并没有出现Button等之类的空间。
原因在于:仔细观察lunchFrame()方法中
frame = new Test();
这正是问题的所在,想一想如果写成frame = this;有会怎样的结果。答案是真确显示。
那为什么会出现上面的问题,就在于你在launchFrame()中frame = new Test();
同时在主函数中Test test = new Test();test.lunchFrame();注意test和frame是
两个不同的对象,所有的组件都添加在了frame身上而并非test身上,所以在你test.lunchFrame()
时,test中没有添加任何组件,所以就会出现上面的运行结果。
将上面lunchFrame()中
frame = new Test();改为
frame = this;
效果实现:。(拷不上)
分享到:
相关推荐
精通Java Swing程序设计,里面有各个类的详细说明.推荐!-proficient in Java Swing program design, there are all kind of details. Recommended!
### Java Swing程序开发详解 #### 一、引言 Swing是Java中用于构建图形用户界面(GUI)的一个组件集,它构建在Java的基础之上,并且提供了丰富的组件和强大的功能,使得开发者能够创建出美观且功能丰富的GUI应用。与...
《深入浅出Java Swing程序设计》是一本专为Java开发者准备的高级教程,旨在帮助读者深入理解并熟练掌握Swing库在GUI(图形用户界面)开发中的应用。Swing是Java Standard Edition(Java SE)的一部分,提供了丰富的...
Java Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分,用于帮助开发者创建桌面应用程序。Swing提供了一系列组件,如按钮、文本框、菜单等,允许开发者构建功能...
Swing是Java AWT(Abstract Window Toolkit)的扩展,提供了更现代、可定制性更强的组件。Swing组件基于轻量级的Java对象,可以在所有支持Java的平台上提供一致的用户体验,这是由于Java的“一次编写,到处运行”...
资源名称:深入浅出java swing程序设计内容简介:本书中文繁体字版由台湾金禾资讯股份有限公司出版(2005)。本书中文简体字经台湾金禾资讯股份有限公司授权由中国铁道出版社出版(2005)。任何单位或个人未经出版者...
Java Swing是Java GUI(图形用户界面)开发的重要库,它属于Java Foundation Classes (JFC)的一部分,用于构建桌面应用程序。本资源"深入浅出Java Swing程序设计_11394260.rar"显然是一个关于Java Swing编程的详细...
内容概要:打包好的可以运行的Java Swing程序 使用前提;安装了eclipse和在eclipse里面下载swing插件 适用人群:想学习Java Swing技术的人以及需要进行整蛊好友的人 最后,作者想说的是,1.9块钱的资源,你买不了吃亏,买...
Java Swing是Java编程语言中用于构建桌面应用程序的GUI(图形用户界面)工具包。它是Java Foundation Classes (JFC) 的一部分,提供了丰富的组件库,允许开发者创建功能丰富的、交互式的用户界面。本教程将深入探讨...
Swing提供了一套完全由Java实现的组件,这些组件不仅功能强大,而且在跨平台兼容性上表现出色。在Swing中,组件通常称为JComponents,比如JButton、JLabel、JFrame等。这些组件使得开发者能够创建各种复杂的用户界面...
本资源“深入浅出JAVASwing程序设计”旨在帮助开发者掌握Swing的基本概念、组件用法以及高级特性,从而能创建功能强大、交互性强的Java应用。 Swing在Java AWT(Abstract Window Toolkit)的基础上构建,提供了更轻...
Java Swing 是Java GUI(图形用户界面)开发的一个重要库,它是Java Foundation Classes (JFC)的一部分,用于构建桌面应用程序。Swing 提供了一系列组件,如按钮、文本框、菜单等,使得开发者能够创建功能丰富的、...
在Java Swing中,你可以创建出既美观又高效的程序界面,而且Swing完全使用Java编写,具有平台无关性。 本教程“Java Swing漂亮界面(超酷) Java Swing教程”着重于如何利用Swing来设计吸引人的、用户友好的GUI。在...
这个“java swing小程序”压缩包很可能包含了一些示例代码,可以帮助初学者或者开发者更好地理解和掌握Java Swing的相关知识。下面将详细讨论Java Swing的主要组件、特性以及如何通过这些小程序进行学习。 Java ...
Java Swing 是Java GUI(图形用户界面)开发的重要组成部分,它提供了丰富的组件库,使得开发者能够构建功能强大且具有视觉吸引力的桌面应用程序。本教程将深入探讨Java Swing程序设计,帮助你掌握这一关键技术。 ...
【Java Swing 桌面程序开发】 Java Swing 是Java平台上的一个库,它提供了丰富的用户界面组件,用于构建桌面应用程序。Swing 提供了一套轻量级的UI组件,可以创建美观且功能丰富的图形用户界面(GUI)。本章将详细...
Swing是Java的一个工具包,用于开发Java应用程序的图形用户界面。它提供了一套丰富的组件,可以让开发者创建窗口化的用户界面,其中 JButton, JLabel, JTextField 是Swing库中常用的组件。 描述中的“Java实验报告...
深入浅出JAVASwing程序设计.pdf