问一个精典的,简单的java问题!请帮忙哦!谢谢!

来源:百度知道 编辑:UC知道 时间:2024/05/21 12:20:33
以下程序中的“this.getContentPane()” 返回此窗体的 contentPane 对象,它是一个container,不是一个JFrame 对象。请问这个返回的对象是否是JFrame里面固有的一个容器?也就是说是否每一个JFrame里面都有这样一个容器?今后要往JFrame里面放东西,是否就只能向JFrame固有的那个容器里面放东西?
我们最初学的方法是:this.getContentPane().add(某种容器)
以下程序中有这样一条语句:
contentPane = (JPanel) this.getContentPane();这条语仅仅给该类的一个成员变量contentPane赋值了.难道今后要往JFrame里面添加东西,就只须向contentPane.add()里面加吗?这里我也不懂?请帮忙解释一下,谢谢!

import javax.swing.*;
import java.awt.*;

public class Index extends JFrame {

/**
* @param args
*/
JPanel contentPane;

public Index() {
/**
* this.getContentPane() 返回此窗体的 contentPane 对象
*
*/
contentPane = (JPanel) this.getContentPane();
setSize(400, 300);
setDefaultCloseOperation(2);
GridLayout gridLayout = new GridLayout();
gridLayout.setColumns(2);
gridLayout.setRows(2);
contentPane.setLayout(gridLayout);
contentPane.add(new JPanel(), null);

首先看api中的解释
一般的 Abstract Window Toolkit(AWT) 容器对象是一个可包含其他 AWT 组件的组件。JFrame是一个容器,它里面可以放置其他的组件(容器),然后这个方法就可以获取这个容器对象,从而往这个容器里面添加组件(容器)。同样的JPanel也是一个容器它可以放在JFrame这个顶层容器中,其中也可以放置其他的组件(容器)
唠叨一点一楼的,Swing怎么了?如果你不会Swing的话就不要说自己会java好了,现在Swing并不像你说的那么不堪,第一它可以用在linux下边,我以前做过很多的国外项目都是用的Swing,第二即使用不到也是一种思想也是要学的,而且有很多的东西就借鉴了它的,如JSF就借鉴了它的事件驱动模型,还有javaFX

。。。一直不明白为什么还会有人研究Swing的东西~那个东西没啥太大用处啊

是的 就是往里面加

哎 对Swing相当不感冒 拿东西实在太麻烦了

兄弟 劝你如果还整GUI程序 还不如直接学c#呢 简单 只要拖拖放放就好了
java只要是web开发

没错 就是这样子
这也是Java swing 的特点吧

好好学Java奥