前几天学了一些简单的JAVA基础语法,过几天就是C++考试,好害怕把JAVA和C++弄混,虽然现在感觉已经差不多混了,数组的声明方法都已经分不清了,还得编译通过才知道。
集合
初步感觉和C++STL差不多,Vector、list、set等等都有,只不过换了个名字,换了个调用方法。晚上逛知乎,看到有人提到了arraylist和linkedlist哪个删除数据快,突然想到自己还不知道,就去百度了一下,然后发现了很神奇的事情,arraylist就像数组似的,所有对象是按顺序排列的,插入和删除比较复杂,查找容易,而且它的名字也带有array,而linkedlist就像链表,每个对象有个索引指向下一个对象,插入和删除比较快,查找复杂。
其他的就不说了,就说一下最近学的图形界面吧,JAVA的图形界面在JAVA.awt和JAVAX.swing两个包里,几乎所有的控件都有J开头,比如JFrame、JButton之类,JFrame关闭的时候要加方法setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE),否则窗体关闭了,导致JAVA虚拟机还在运行,加了这个方法,JAVA虚拟机就和窗体一块关闭了,而窗体必须setVisble = true;否则是不可见的,这让刚做完C#默认窗体都是可见的我还真有点不习惯。。真害怕到最后什么东西都乱到一块去了。。。
窗体的布局
现在为止,学了三种布局方式,默认的BorderLayout,流式布局Flowlayout,网格布局GridLayout;JPanel里默认是流式布局;熟悉了CheckBox复选框,RadioBox单选框,声明RadioBox时必须同时声明ButtonGroup,说明哪几个RadioBox是同一单选组的,不然会导致都是可选状态。
下拉框、列表、滚动条
JAVA的滚动条和C#的很不一样,C#是可以有滚动的控件具有scrollbar这个属性,可以直接设置,如果没有,也可以通过把这个控件加入到panel里设置,而JAVA则是声明一个JScrollPane的对象,然后用这个对象add要滚动的内容,然后添加这个JScrollPane的对象完成的。JCombBox下拉框,声明时可同时声明其内容数组,Jlistbox同;
拆分窗口JSplitPane
可以把Frame拆分成上下或左右两部分,其他更高级的功能还未发现。
文本框JTextArea(多行)和JTextFiled(单行)