添加按钮:
1. JFrame frame=new JFrame("Java按钮组件示例"); //创建Frame窗口
2. frame.setSize(400, 200);
3. JPanel jp=new JPanel(); //创建JPanel对象
4. JButton btn1=new JButton("我是普通按钮"); //创建JButton对象
5. JButton btn2=new JButton("我是带背景颜色按钮");
6. JButton btn3=new JButton("我是不可用按钮");
7. JButton btn4=new JButton("我是底部对齐按钮");
8. jp.add(btn1);
9. btn2.setBackground(Color.YELLOW); //设置按钮背景色
10. jp.add(btn2);
11. btn3.setEnabled(false); //设置按钮不可用
12. jp.add(btn3);
13. Dimension preferredSize=new Dimension(160, 60); //设置尺寸
14. btn4.setPreferredSize(preferredSize); //设置按钮大小
15. //设置按钮垂直对齐方式
16. btn4.setVerticalAlignment(SwingConstants.BOTTOM);
17. jp.add(btn4);
18. frame.add(jp);
19. frame.setBounds(300, 200, 600, 300);
20. frame.setVisible(true);
21. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
new出框架
new出面板
将按钮添加在面板上
将面板添加在框架上
字节码
字节码(Byte-code)是一种包含执行程序,由一序列 op 代码/数据对组成的二进制文件,是一种中间码。字节是电脑里的数据量单位。
JDK
JDK是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。
JVM
JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
Java虚拟机有自己完善的硬件架构,如处理器、堆栈等,还具有相应的指令系统。
Java虚拟机本质上就是一个程序,当它在命令行上启动的时候,就开始执行保存在某字节码文件中的指令。Java语言的可移植性正是建立在Java虚拟机的基础上。任何平台只要装有针对于该平台的Java虚拟机,字节码文件(.class)就可以在该平台上运行。这就是“一次编译,多次运行”。
Java虚拟机不仅是一种跨平台的软件,而且是一种新的网络计算平台。该平台包括许多相关的技术,如符合开放接口标准的各种API、优化技术等。Java技术使同一种应用可以运行在不同的平台上。Java平台可分为两部分,即Java虚拟机(Java virtual machine,JVM)和Java API类库。[1]
JRE
Java运行环境(Java Runtime Environment,简称JRE)是一个软件,由太阳微系统所研发,JRE可以让计算机系统运行Java应用程序(Java Application)。
JRE的内部有一个Java虚拟机(Java Virtual Machine,JVM)以及一些标准的类别函数库(Class Library)。
JAR
在软件领域,JAR文件(Java归档,英语:JavaArchive)是一种软件包文件格式,通常用于聚合大量的Java类文件、相关的元数据和资源(文本、图片等)文件到一个文件,以便开发Java平台应用软件或库。
JAR文件是一种归档文件,以ZIP格式构建,以.jar为文件扩展名。用户可以使用JDK自带的jar命令创建或提取JAR文件。也可以使用其他zip压缩工具,不过压缩时zip文件头里的条目顺序很重要,因为Manifest文件常需放在首位。JAR文件内的文件名是Unicode文本。
for循环
循环 for(User user : userList){} 这是什么意思?
这是一个循环,相当于从userList里面取出每个元素user;在{}里可以直接使用user,即每次取出的值。它相当于:
for(int i=0;i<userList.size();i++){
User user = userList.get(i);
……//这里就相当于for(User user:userList){}循环的{}里的内容
}
简单的java语言
java语言是简单的:
1. 和C语言c++接近,便于学习和使用
2. 没有c++那些不常用还难以理解的迷惑的特性(如多继承,操作符重载等)
3. 不使用指针,而是引用
4. java提供自动的废料收集,程序员不用担心内存管理了
解决报错的方法
用输出语句来查看程序会运行到哪里,报错是哪里的问题
快速查找方法所在地:Ctrl+alt+b或Ctrl+alt+鼠标左键
报错语句:词典查意思,百度查报错原因和解决方法
解决报错,不是去查百度怎么去写,而是去查百度怎么去改
感谢的回句
深感荣幸 乐意帮助 乐意效劳 不必多谢,不如以身相许
静态方法:
1. 静态方法为类所有,可以通过对象来使用,也可以通过类来使用。但一般提倡通过类名来使用,因为静态方法只要定义了类,不必建立类的实例就可使用。
(1)通过类的实例对象去调用
调用格式为: 对象名.方法名
(2) 通过类名直接调用
调用格式为: 类名.方法名
2. 静态方法只能调用静态变量。实例方法(非静态方法)可以使用类的非静态成员,也可以使用类的静态成员。
(方法规则:
静态方法只能访问类的静态成员,不能访问类的非静态成员;
非静态方法可以访问类的静态成员,也可以访问类的非静态成员;
静态方法既可以用实例来调用,也可以用类名来调用。
)
Out of range value for column '字段' at row 1
解决办法:将改数据的数据类型扩大(如double(7,2)改为double(10,2))
private的作用
Private 访问修饰符的使用主要用来隐藏类的实现细节和保护类的数据。
内部类和外部类:
final关键字
父类中的 final 方法可以被子类继承,但是不能被子类重写。
声明 final 方法的主要目的是防止该方法的内容被修改。
final 类不能被继承,没有类能够继承 final 类的任何特性。
装饰类
装饰设计模式:
当想要对自己已有对象进行功能增强时,可以定义类将已有对象传入, 基于已有功能,并提供增强功能。那么自定义的类就叫做装饰类。
特点:装饰类会通过构造方法接受被装饰的对象;
setLayout(null);是什么函数!干嘛用的?
把按键添加进窗体:baiframe.add(btn1);frame.add(btn2);如果你不加这么句setLayout(null);那么这两个按键就会使用默认布局,即使你使用btn.setBounds();来控制他们的位置也没用。
所以,如果你是初学,做的界面又不是特别复杂的,就加上那么句话,所有组件都用setBounds();来控制位置和大小就可以了
setSize(),setLocation(),setBounds()
三个方法都是定义控件大小的
setSize(int width, int height):定义控件的大小,它有两个参数,设置控件的宽度和高度。
setLocation(int x, int y):将组件移到新位置,用x 和 y 参数来指定新位置的左上角坐标。
setBounds(int x,int y,int width,int,height):可以看做上两个方法的组合,x,y定义位置,width,height定义宽度和高度。
setPreferredSize()
1.setPreferredSize()必须要在使用布局管理器的时候使用。
2.而前三个方法不一定要在使用布局管理器时使用,其他时候也可以使用。
3.它有一个参数,Dimension d。 eg:
JPanel panel = new JPanel();
panel.setPreferredSize(new Dimension(0, 100));
1
2
这样设置了 panel面板的高度为100,宽度随窗口变化。
装箱和拆箱
???这种由编译器特别支持的包装称为装箱,所以当内置数据类型被当作对象使用的时候,编译器会把内置类型装箱为包装类。相似的,编译器也可以把一个对象拆箱为内置类型。Number 类属于 java.lang 包。
Math函数
Math 的方法都被定义为 static 形式,通过 Math 类可以在主函数中直接调用。
包装类(类型转换)
在java包装类中,比较多的用途是用在各种数据类型的转化中
1.String类型转化为其他XX类型:
int num = Integer.parseInt("45");//45
int num2 = Integer.valueOf("65");//65
通过基本数据类型的包装的valueOf和parseXX来实现String转换为XX
2.其他XX类型转化为String类型:
String st = String.valueOf("4564");//这里括号里基本上可以是各种类型
String st = new Integer(45).toString();
?为什么要导入包,为什么要装入一些插件
?swing、swt
如何获取JTextField的文档内容
JTextField jf=new JTextField();
jf.getText();
java如何获取jpasswordfield内容
String s=new String(jpasswordfield.getPassword());
java 文本框和密码框的使用
import java.awt.*;
import javax.swing.*;
public class Yo extends JFrame{
JPanel mb1,mb2,mb3;
JButtonan1,an2;
JLabel lb1,lb2;
JTextFieldwb;
JPasswordField mm;
public static void main(String[] args){
Yo one=new Yo();
}
Yo(){
mb1=new JPanel();
mb2=new JPanel();
mb3=new JPanel();
an1=new JButton("登录");
an2=new JButton("取消");
lb1=new JLabel("用户名:");
lb2=new JLabel("密 码:");
wb=new JTextField(10);
mm=new JPasswordField(10);
mb1.add(lb1); mb1.add(wb);
mb2.add(lb2); mb2.add(mm);
mb3.add(an1);
mb3.add(an2);
this.setLayout(new GridLayout(3,1));
this.add(mb1);
this.add(mb2);
this.add(mb3);
this.setTitle("用户登录界面");
this.setSize(230,150);
this.setLocation(300,280);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
错误:类型List不带有参数;java中import导入问题
Type 'java.awt.List' does not have type parameters(“java.awt类型。List'没有类型参数)
网友评论