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;
效果实现:。(拷不上)
分享到:
相关推荐
深入浅出JAVASwing程序设计 深入浅出JAVASwing程序设计 深入浅出JAVASwing程序设计 深入浅出JAVASwing程序设计
JavaSwing程序开发,帮助你快速学习Swing编程 不错,看看吧! JavaSwing程序开发,帮助你快速学习Swing编程 不错,看看吧!
精通Java Swing程序设计,里面有各个类的详细说明.推荐!-proficient in Java Swing program design, there are all kind of details. Recommended!
java精通swing程序设计 java精通swing程序设计 java精通swing程序设计 java精通swing程序设计 java精通swing程序设计
java swing漂亮界面 超酷 javaswing教程
资源名称:深入浅出java swing程序设计内容简介:本书中文繁体字版由台湾金禾资讯股份有限公司出版(2005)。本书中文简体字经台湾金禾资讯股份有限公司授权由中国铁道出版社出版(2005)。任何单位或个人未经出版者...
深入浅出Java Swing程序设计_11394260.rar深入浅出Java Swing程序设计_11394260.rar
深入浅出java swing 程序设计电子书,PDG格式,需安装超星阅览器
JavaSwing部分程序
深入浅出JAVASwing程序设计1-100_split_2.rar深入浅出JAVASwing程序设计1-100_split_2.rar深入浅出JAVASwing程序设计1-100_split_2.rar深入浅出JAVASwing程序设计1-100_split_2.rar
精通java swing程序设计chm格式
深入浅出JAVA Swing程序设计 书+代码
内容概要:打包好的可以运行的Java Swing程序 使用前提;安装了eclipse和在eclipse里面下载swing插件 适用人群:想学习Java Swing技术的人以及需要进行整蛊好友的人 最后,作者想说的是,1.9块钱的资源,你买不了吃亏,买...
Java_Swing程序设计
深入浅出JAVASwing程序设计.pdf
java swing漂亮软件界面 超酷 以及java swing教程
深入浅出Java Swing程序设计,含源码。共四部分,这是第一部分。