1 设置背景该如何设置呢?
首先我们当然应该创建一个设置背景的方法了,但是此时我们要注意的是,此时的方法是要带参数的,我们或会对JFrame设置背景吧
,那么此时我们就应该public void createBackground(JFrame jf).我也不是很懂为什么,JFrame本身是一个容器类,它是可以
调用setLayeredPane()这个方法的,同时也是可以直接调用setContentPane这个方法的,而我们本身是要调用这两个方法的,类
+方法名调用我们需要的方法这是毋庸置疑的,注意了,此时的类就是我们需要的JFrame类了,而我们本身在我们这个创建背景
的方法中,如果不带这个参数,我们是无法实例化一个JFrame的对象从而用其去调用这个方法的???
JFrame jf1=createbackground();
jf.add(jf1);
public JFrame createbackground(){
{
JFrame jf=new JFrame();
//创建一个ImageIcon的图标对象
ImageIcon bk = new ImageIcon("image1/111.png");
//实例化一个JLabel的对象,用来显示背景图
JLabel jlaBK = new JLabel(bk);
//设置jlaBk显示位置和大小
jlaBK.setBounds(0, 0, 378, 294);
//设置显示背景图的标签在LayeredPane的最前边。
jf.getLayeredPane().add(jlaBK, new Integer(Integer.MIN_VALUE));
//获取ContentPane面板对象,强制转化成JPanel
JPanel contentPane = (JPanel)jf.getContentPane();
//设置contentPane为透明
contentPane.setOpaque(false);
return jf;
}
JPanel jp3=new JPanel();
jp3.createSouth();
JPanel jp3=createSouth();
这两种调用方法到底有什么不同呢,为什么总是报错啊??所以我觉得此时我需要知道的就是调用方法的格式到底
有哪些呢???又有什么区别呢?
1 对象名.方法名 当调用次方法时,机器会从对象所在的类中去调用此方法,曾经我在这里就犯过一个错误,详见
代码
//rose类
public class Role{
private String sch;
private String name;
public int blood;
public Role(){
}
public void pk(Role role,int blood){
role.setBlood(role.getBlood()-blood);
System.out.println(name+"攻击"+role.getName()+","+role.getName()+"掉血"+blood+"点血,"
+role.getName()+"剩余的血量是"+role.getBlood());
}
//boss类
public class Boss{
private String name;
public int blood;
public void pk(Boss boss,int blood){
boss.setBlood(boss.getBlood()-blood);
System.out.println(name+"攻击"+boss.getName()+","+boss.getName()+
"掉血"+blood+"点血,"+boss.getName()+"剩余的血量是"+boss.getBlood());
}
//主函数
role1.pk(boss,20);
显然这是行不通的,因为在我的Role类中压根找不到这种PK方法的,此处的boss不仅仅是英文的
boss,他所代表的还有BOSS类(类是可以当做数据类型来使用的!!!)所以我把两种PK方法写反了,这是我以后非常需要注意
的地方,当然这也是源于我对于调用方法的不理解来着。通过这里我们可以再来看这么一段程序了
JPanel contentPane = (JPanel)jf.getContentPane();
//设置contentPane为透明
contentPane.setOpaque(false);
这里我们把JFrame类的ContentPane强制转化成了JPanel,所以我尝试了下,发现只有
JPanel才可以调用设置透明的方法,JFrame是不可以调用的,所以,也就是JFrame里没有定义这种方法了,我们怎么可以
调用呢。那么让我们回归到上述的问题
JPanel jp3=new JPanel();
jp3.createSouth();显然是行不通的,因为我们并没有在JPanel中定义createSouth()的方法,
而JPanel jp3=createSouth();并不是调用了 JPanel中的方法,而是通过createSouth()的方法创建了一个JPanel对象
记得在讲构造方法是老师曾经讲过,
JPanel jp1=new JPanel();
JPanel jp2=new JPanel();
这两种分别实例化了JPanel,那么jp1是否与jp2相同呢?答案是不同,jp1和jp2中存储的是什么呢,
对象名存储对象在内存中的首地址,每当我们实例化一个对象,就会给对象重新分配一个地址。再如:
String str = "abc";
String str2 = new String("abc");
str!=str2
因为str中存储的是"abc",而str2中的首地址。唯有str.equals(str2)是true.
2
构造方法与普通方法应该是有着很大的区别的,这也是我们所要知道和掌握的,除了我们知道的①构造方法的名字
与类名相同②构造方法没有返回值 这两点之外,我觉得最为关键的当数他们在运用上的不同了③构造方法在使用时要进行实例化,
即我们需要new关键字!!!
实例程序
public Role(String sch,String name,int blood){
this.sch=sch;
this.name=name;
this.blood=blood;
}
Role role1=new Role("唐门弟子","xx",40);//new关键字至关重要啊!!!
3
接下来就想说说布局了,布局对于一个美丽的界面是至关重要的。而对于我们而言,是要掌握局中局!!!我们知道,
除了三大布局方法之外(流式布局,网格布局,边框布局),还有各个布局中的小布局(LEFT RIGHT CENTER TRAILING LEADING),
除此之外,还可以设置组件之间的距离,这都是我们需要掌握的例如:(JPanel默认布局边框,JPanel默认流式)
JPanel jp1=new JPanel();
jp1.setLayout(new FlowLayout(FlowLayout.CENTER,10,10));就是把面板中的组件设置在面板的中央,
而且,间距横竖为10;我们要学会使用嵌套面板,因为有的时候我们布局不能有一个就能达到自己的要求,这就需要多个进行综合了。
分享到:
相关推荐
备战2016高考语文热点话题作文素材9“500元悬赏”现“反转”仍有疑问待解
DevExpress Universal 17.1.8 破解工具,内涵三种破解方法,一般使用第一种就可以了,实测,在官网下载DevExpressUniversalTrialComplete-20171109.exe。 安装后直接运行破解。破解成功后使用过程中无...如有疑问请留言
ArcGIS Server 10.4 破解文件,亲测已经破解成功!如果有疑问或者不可用的,可以发信息给我。我会更新的。
本文就是解决新手的疑问,让你走出迷茫,让你知道如何学破解。0基础一样能学的很好。 大牛=10%天分+40%耐心(这是帖子写完成后加的一句,其实你能认真看完这帖子你就够有耐心了)+50%的长期努力。 我相信下面这个...
亲测可用,我的系统win7,7601,64位 在网上找这个破解文件 termsrv.dll容易,但有破解文件没用呀,还要修改注册表,组策略,这才是重头戏! 本资源附破解文件 和修改方法, ...如有疑问的请给我发Email
按照下载的教程说明,即可使用破解powerDesigner软件,如有疑问,评论给我,我将定时回复如何操作
无线充电技术其实在19世纪就有了,但是到了21世纪还没有广泛应用到日常生活中,因为在目前技术发展阶段,对于无线充电技术,还有许多待解疑问需要解决。
复制到目录即可,把3个主文件,有疑问加qq626235299
DC管理员密码丢失的情况很少见,很多管理员根本就碰不到这种情况,出现这种情况下大多数处理方法是重做域控。这里提供的是不需重做域控的DC管理员密码恢复方法,但需针对...如对此方法用到的批处理有疑问可发邮件给我。
使用方法: 1:安装AutoCAD 2007 2CD中文版 2:将adlmdll.dll与lacadp.dll(本目录下的两个DLL)复制并覆盖到AutoCAD已安装目录下. 3:搞定.有什么安装上的疑问,请直接联系我们.
众多软件、网络工程技术人员的1000余项各类经验和技巧,涵盖了目前应用软件的大部分重要内容,对每个问题都按“提出疑问、分析原因、解决办法、总结经验、归纳技巧”的流程来编排,是广大计算机用户和技术人员维护...
可以破解密码,你可以尝试改变密码如有疑问请与作者联系,本工具只限学习使用,如果不规范使用, 需负法律责任
Intel WiFi Link 1000 BNG破解WEP无线网!里面有详细的操作教程,只要3步就完成设置,全程5分钟,等着获取密码吧。有什么疑问可以522148862 QQ联系我。
内含Myeclipse9.1下载地址,注册机,经本人测试2011-11-08 18:29:14 注册成功,谢谢大家的支持,如有疑问请留言!
用注册机好像不好使,不过用如下方法我昨天已经成功安装使用了,如有任何疑问请在此留言,我会回复的。 此资源包括四个文件 bds.dll bds.exe copy.bat readme.txt 安装说明 1) delphi xe2 s/n: 3AAD-DCS8KK-RNN4...
用于对myeclipse9.0、myeclipse10.x以及myeclipse2013的破解,分享给大家,希望对你们有帮助,若有疑问邮件联系
功能描述: GCC编程解述及分析.pdf 友情提示: 下载完后记得评论回分!!!!如遇有疑问可以留言或加qq120817538进行交流...望大家支持,谢谢!
基于MATLAB编程,基于多目标粒子群算法的支配解求解,基于多目标粒子群的帕累托前沿求解,基于mopso的多目标求解,基于mopso+bp的多目标求解,代码完整,包含数据,有注释,方便扩展应用 1,如有疑问,不会运行,...
基于MATLAB编程,基于多目标粒子群算法的支配解求解,基于多目标粒子群的帕累托前沿求解,基于多目标粒子群的分别求解最大最小前沿,基于mopso的三目标求解,代码完整,包含数据,有注释,方便扩展应用 1,如有疑问,...
基于MATLAB编程,基于多目标粒子群算法的支配解求解,基于多目标粒子群的帕累托前沿求解,基于mopso的多目标求解,基于多目标粒子群的模糊优化算法,代码完整,包含数据,有注释,方便扩展应用 1,如有疑问,不会...