Frame类有哪些方法?
原因在你你的class名字就是Panel.java和java.awt.Panel同名了,JVM默认搜索从本类开始,修改
import java.awt.Button;
import java.awt.Frame;
public class Panel {
/**
* @param args
*/
public static void main(String[] args) {
Frame f = new Frame();
f.setBounds(100, 100, 300, 300);
Button b = new Button("BB");
java.awt.Panel p = new java.awt.Panel();
p.add(b);
f.add(p);
f.setVisible(true);
}
}
①其实是一个隐式对象 没有对象名和实例 直接创建对象 执行构造方法
②这里的MyFrame是一个类 继承了JFrame ,Java里一切皆对象 ,其实就是把一类相似的东西抽象化为对象 ,比如车 车都包括轮子 车身 都能动 就简单比喻为你②里面的JFrame 是一个大类,
而红旗车 就是比较抽象的车中的一个具体 这里的MyFrame就相当于红旗车 而用new来创建对象时 就相当于 生产出一台红旗车 这个车是一个实际的了 有车和红旗车父类所有的属性和方法 比如有轮子 有车射 能动 除了这些父类的属性和方法 它还有自己的一些属性和方法 比如它有自己的牌子等等 不知道这么解释你能理解对象的概念不 Java里最好弄明白面向对象思想
③是②MyFrame类的一个构造方法 Java默认所有类都有构造方法 如果你不写 会自动创建一个空的构造方法
这里利用这个构造方法来对这个类进行初始化 设置一些属性值 也就是④
⑤实际上也是对属性的设置 设置可见性
这里的this代表的是这个MyFrame类 记住当this要调用的方法 在类内部显示存在时 是可以省略的 即在MyFrame(){} 构造方法外边 有与this调用方法名和参数相同的方法 this可以省略 this有时也调用构造方法外的那个方法
在其他类中设置可见性可以通过在其他类中创建的这个类的对象调用这个方法 直接用对象名替换掉this即可 这个创建的类对象 就想 上面说的生产出来的红旗车 它是一个单独的对象 红旗车类可以生产出很多红旗车对象 每个对象都有自己的车轮 车身 都各自能动 可能都有各自车牌 他们的车轮车身等是互不相干的 唯一的联系是他们都是红旗车(即 都是红旗车类的对象)
希望这么说你能理解 望采纳
你要明确 Java里 凡是以 " . " 调用的都是这个对象或者类拥有的
首先 这里没有看到MyFrame2这个类 也不知道你这个对象是不是可以创建成功
其次 你如果有其他类比如MyFrame2这个类 那aa一定得是MyFrame2中的成员
而且aa.setVisible 就需要aa是定义在MyFrame2中的一个对象 并且这个对象有setVisible方法
从你的给出的代码来看 我一看不到那个类 二看不到aa在那个类里是如何定义的。
如果这就是全部代码 那可能你只是想做一个按钮 按钮有个点击事件 点击弹出一个窗口
如果是这样的 你可以直接在事件方法里 创建MyFrame对象就可以了
这些都是父类的方法
java.awt.Frame extends java.awt.Window
java.awt.Window extends java.awt.Container
java.awt.Container extends java.awt.Component
java.awt.Component extends ava.lang.Object
import java.awt.event.KeyEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Event;
import java.awt.BorderLayout;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.KeyStroke;
import java.awt.Point;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JMenuItem;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JFrame;
import javax.swing.JDialog;
1. 看api文档,首先要看这个类的继承层次,因为它的超级父类是Component,你可以在它里面看到有add(),setBounds(),setBackground()等方法.
2.一个看api文档的诀窍就是:先看类的继承层次,如果在这个类中没有找当你需要的方法,你可以在它的父类中找,如果还没找到,就一直往上找,相信这样是可以找到的.
3.因为是继承关系,所以子类不需要每个方法都去覆写,所以你查找时需要耐心点.
package component;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
public class Button extends JFrame{
private ImageIcon oopIcon=new ImageIcon("image/4.jpg");//创建ImageIcon的对象oopIcon
public Button(){
JPanel p0=new JPanel();//创建一个面板作为子容器。
p0.setLayout(new FlowLayout(FlowLayout.CENTER,5,5));//设置面板p0的布局管理器。
p0.setBackground(new Color(128,10,100));//设置面板的背景色。
JButton ok1=new JButton("刷新",oopIcon);
JButton ok2=new JButton("确定");//创建“确定”按钮。
JButton ok3=new JButton("取消");
ok1.setBackground(Color.red);//设置按钮ok1的背景色。
ok2.setForeground(Color.green);//设置按钮ok2的前景色。
ok3.setFont(new Font("华文行楷",Font.BOLD,18));//设置按钮ok3上文本的字体。
ok3.setToolTipText("取消本次操作!");//设置按钮的提示文本。
ok1.setToolTipText("刷新该页面!");
ok1.setEnabled(false);//设置按钮不可用。
p0.setBorder(new TitledBorder("三个按钮"));//设置面板的边框。
p0.add(ok2);//添加按钮。
ok1.setPreferredSize(new Dimension(55,30));//设置组件首选大小。
p0.add(ok1);
p0.add(ok3);
JTextArea jta=new JTextArea(4,15);//创建文本面积,4行5列。
add(p0,BorderLayout.SOUTH);//添加面板到主框架的南部
add(jta,BorderLayout.CENTER);
}
public static void main(String[] args){
JFrame frame=new Button();
frame.setSize(320,240);
frame.setLocation(240,320);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setTitle("JButton");
}
}
新生儿肺透明膜病的X线及CT分析
在NHMD的分级上,多数学者按照Rame’s分类法将NHMD分为Ⅰ~Ⅳ级[6-8],亦有将其分为轻、中、重度[2. 5], 两种方法在NHMD的应用中均起到了积极作用。但在实际工作中,两种方法都有不足之处,前者由于Ⅰ、Ⅱ 级细颗粒影和网点影在X 线片上不易区分,故难以把握,而后者是把Ⅰ、Ⅱ 级归为轻度,Ⅲ、Ⅳ级...
netframework怎么更新
方法一:1、先将netframework卸载干净,之后可以在本页面下载最新版net ramework4.8版本。2、点击net framework4.8.exe安装,等待安装进度条完成即可。方法二:1、打开windows设置,点击打开更新和安全。2、在页面中点击windows更新——检查更新,根据提示完成更新。3、之后在回到系统——关于中检查当前的w...
大麦黄矮病毒病是怎样传播和防治的?
传播方法:蚜虫持久性传毒,汁液、种子及土壤均不能传毒。传毒介体:有14种在禾谷类作物和杂草上取食的蚜虫能传播。其中最重要的是:麦无网蚜Metopolophium(Acyrthosiphon)dirhodum、麦长管蚜Macrosiphum avenae、玉米缢管蚜Rhopalosiphum maidis、禾谷缢管蚜R.padi和麦二叉蚜Schizaphis graminum。...
通过post方式进行提交数据的原理是什么
HTTP\/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几种。其中 POST 一般用来向服务端提交数据,本文主要讨论 POST 提交数据的几种方式。我们知道,HTTP 协议是以 ASCII 码传输,建立在 TCP\/IP 协议之上的应用层规范。规范把 HTTP 请求分为三个部分:状...
我不小心把戴尔上的microsoft.net.ramework4卸载了,该怎么办?急
回答:您好: 以下方法供您参考: 您的戴尔电脑的情况估计是驱动问题,建议您安装显卡驱动尝试。 您需要登陆戴尔官网进行驱动下载: http:\/\/www.dell.com\/support\/drivers\/cn\/zh\/cnbsd1\/DriversHome\/?c=cn&s=bsd&cs=cnbsd1&l=zh 百度驱动安装比较权威的经验文章,您可以看看。 http:\/\/jingyan.baidu.co...
怎样饶过还原精灵
★升级方法:如果你安装了旧版本的一键还原精灵,要升级至新版本的话不必卸载旧版,在WINDOWS下直接双击新版一键还原精灵安装文件“setup.exe”,重启电脑进入安装界面后直接选择升级即可。如下图。★修复方法:如果电脑启动后屏幕底部没有出现***Press [F11] to Start recovery system*** 提示行或出现文件丢失提示时,在...
怎么卸载microsoft .net framework 2.0 ?
首先.net framework 2.0是微软提供的基础运行平台,不需要卸载,而且可以和其他版本兼容。第二.很多软件需要.net framework 2.0支持,建议不要卸载。第三.如果非要卸载,请先安装,安装成功后,再次安装,它会提示你修护还卸载,选择卸载即可。
netframework怎么更新
先将netframework卸载干净,之后可以在本页面下载最新版netramework4.8版本。2、点击netframework4.8.exe安装,等待安装进度条完成即可。方法二:1、打开windows设置,点击打开更新和安全。2、在页面中点击windows更新——检查更新,根据提示完成更新。3、之后在回到系统——关于中检查当前的windows版本。
以POST方式请求数据,有时候会出现加载特别慢的情况,是什么原因_百度知 ...
但是,数据发送出去,还要服务端解析成功才有意义。一般服务端语言如php、python等,以及它们的ramework,都内置了自动解析常见数据格式的功能。服务端通常是根据请求头(headers)中的Content-Type字段来获知请求中的消息主体是用何种方式编码,再对主体进行解析。所以说到POST提交数据方案,包含了Content-Type...