适配器-为什么在GUI编程中要继承JFrame

问题描述

为什么在GUI编程中要继承JFrame

不能直接new一个窗体吗,比如这样:JFrame jf = new JFrame("图形");
而且继承了窗体,就没办法继承适配器了。

看代码,像第二个版本那样有什么好处:
//版本1
public class TestEventA {

private JFrame jf;
private JButton button;
private JTextArea jta;

public TestEventA() {

jf = new JFrame("事件编程-版本1");
jf.setLayout(new BorderLayout());
button = new JButton("按钮1---小花");
jta = new JTextArea(30, 40);

jf.add(button, BorderLayout.NORTH);
jf.add(jta, BorderLayout.CENTER);

}
public void showMe() {
jf.setSize(400, 300);
jf.setLocation(200, 100);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new TestEventA().showMe();
}
}

//版本二
public class TestEventA extends JFrame {

private JButton button;
private JTextArea jta;

public TestEventA() {

super("事件编程-版本1");
this.setLayout(new BorderLayout());
button = new JButton("按钮1---小花");
jta = new JTextArea(30, 40);

this.add(button, BorderLayout.NORTH);
this.add(jta, BorderLayout.CENTER);

}
public void showMe() {
this.setSize(400, 300);
this.setLocation(200, 100);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new TestEventA().showMe();
}
}

解决方案

GUI编程中可以不承JFrame,但这样自己的 GUI Frame 就要自己实现 JFrame 中的功能,以保证 Frame 能正确创建。

解决方案二:

你要是那么牛也可以自己写

时间: 2024-09-17 04:37:31

适配器-为什么在GUI编程中要继承JFrame的相关文章

GUI编程中以对话框为主要界面的应用程序

现在我们开始学习一些有关GUI编程的有趣的部分, 即:以对话框为主要界面的应用程序.我们将分两课来讲述这一过程 理论:如果您仔细关注过前一个程序就会发现:您无法按TAB键从一个子窗口控件跳到另一个子窗口控件,要想转移的话只有 用鼠标一下一下地去点击.对用户来说这是不友好的.另一件事是如果您象前一课中那样把主窗口的背景色从白色改成 灰色,为了子窗口控件无缝地作相应地改变,您必须细分类所有子窗口. 造成上述诸多不便的原因是子窗口控件本来是为对话框而设计的,象子窗口控件的背景色是灰色的,而对话框的背景

解析C++编程中的继承方面的运用_C 语言

C++继承与组合详解 我们知道,在一个类中可以用类对象作为数据成员,即子对象(详情请查看:C++有子对象的派生类的构造函数).实际上,对象成员的类型可以是本派生类的基类,也可以是另外一个已定义的类.在一个类中以另一个类的对象作为数据成员的,称为类的组合(composition). 例如,声明Professor(教授)类是Teacher(教师)类的派生类,另有一个类BirthDate(生日),包含year,month,day等数据成员.可以将教授生日的信息加入到Professor类的声明中.如:

解析Swift语言面相对象编程中的继承特性_Swift

取大于形态的能力被定义为继承.一般一个类可以从另一个类继承属性和方法.类可以进一步划分到子类和超类. 子类:当一个类从另一个类继承属性,方法和功能被称为子类 超类:类包含属性,方法和功能被其它类继承称为超类 Swift 中类包含父类和调用访问方法,属性,功能和重写方法.另外,属性观察者也用于添加属性和修改所存储的或计算的特性的方法. 基类一个类如果不从其它类继承方法,属性或功能,那么它被称为"基类". 复制代码 代码如下: classStudDetails{var stname:Str

Java GUI编程中的事件处理机制详解

1)事件:用户对程序的某一种功能性操作. Java中的事件主要有两种: 1.组件类事件 componentEvent.ContainerEvent.WindowEvent.FocusEvent.PaintEvent.MouseEvent共六大类, 它们均是当组件的状态发生变化时产生. 2.动作类事件 ActionEvent.TextEvent.AdjustmentEvent.ItemEvent共四类. 它们均对应用户的某一种功能性操作动作. Java中的事件类都包含在JDK的 Java.awt.

Android编程中常用适配器及自定义适配器用法实例分析_Android

本文实例讲述了Android编程中常用适配器及自定义适配器用法.分享给大家供大家参考,具体如下: 一.适配器. 顾名思义,就是把一些数据给弄得适当,适合以便于在View上显示.可以看作是界面数据绑定的一种理解.它所操纵的数据一般都是一些比较复杂的数据,如数组,链表,数据库,集合等.适配器就像显示器,把复杂的东西按人可以接受的方式来展现. 那么适配器是怎么处理得到的数据,并把它显示出来的呢.其实很简单,说白了适配器它也是一个类,在类里面它实现了父类的这几个方法: publicint getCoun

Android编程中常用适配器及自定义适配器用法实例分析

本文实例讲述了Android编程中常用适配器及自定义适配器用法.分享给大家供大家参考,具体如下: 一.适配器. 顾名思义,就是把一些数据给弄得适当,适合以便于在View上显示.可以看作是界面数据绑定的一种理解.它所操纵的数据一般都是一些比较复杂的数据,如数组,链表,数据库,集合等.适配器就像显示器,把复杂的东西按人可以接受的方式来展现. 那么适配器是怎么处理得到的数据,并把它显示出来的呢.其实很简单,说白了适配器它也是一个类,在类里面它实现了父类的这几个方法: publicint getCoun

有关java 中gui 编程问题

问题描述 有关java 中gui 编程问题 为什么要分好几层,直接在jframe上直接添加组健不就行了么? 解决方案 java的GUI(图形用户界面)编程java---GUI编程黑马程序员_java GUI编程 解决方案二: 这是java awt的层次结构.JFrame,JDialog,JWindow与JApplet这四个组件我们统称为最上层(Top-Level)组件,因为其余的Swing组件都必须依附在此四组件之一上才能显示出来. 详解参考:http://wenku.baidu.com/lin

java Gui编程 事件监听机制

1.     GUI编程引言     以前的学习当中,我们都使用的是命令交互方式:        例如:在DOS命令行中通过javac java命令启动程序.     软件的交互的方式:      1. 命令交互方式           图书管理系统     2. 图形交互方式     ava提供了专业的API用于开发图形用户界面     GUI--> Graphic  User   Interface      将要了解GUI API的框架结构,以及GUI组件以及组件之间的关系,容器和布局管理

java必学必会之GUI编程_java

一.事件监听 测试代码一: package cn.javastudy.summary; import java.awt.*; import java.awt.event.*; public class TestTextField { public static void main(String args[]) { new MyFrameTextField(); } } class MyFrameTextField extends Frame { MyFrameTextField() { Text