1.JFrame
JFrame是指一个计算机语言-java的GUI程序的基本思路是以JFrame为基础,它是屏幕上window的对象,能够最大化、最小化、关闭。相当于继承了frame ,MouseListener,WindoeListener.三个类。
2.常用图形用户界面的组件类:
javax.
按钮类: JButton (显示按钮)
文本域类 : JLabel (显示文字)
文本框输入类: JTextField (单行文本框)
JTextArea (多行文本框)
JPassworldField (密码框)
选择按钮框:JCheckBox(单选) JRdioButton(复选框)
列表类:JComboBox JList
菜单类:JMenu JMenuBar
3.Java的几种布局方式
如果我们不设置布局管理器,默认的就是BorderLayout.而在add的时候如果不指定位置,就是中间。
import javax.swing.*; import java.awt.*; public class hello { public static void main(String []avgs){ //创建JFrame JFrame j=new JFrame("按钮"); j.setSize(800,800); j.setLocationRelativeTo(null); //进行组件设置 JButton jb=new JButton("a0"); JButton jb1=new JButton("a1"); JButton jb2=new JButton("a2"); JButton jb3=new JButton("a3"); JButton jb4=new JButton("a4"); //在框体上布局 // j.setLayout(new BorderLayout()); // j.add(jb,BorderLayout.NORTH); // j.add(jb1,BorderLayout.SOUTH); // j.add(jb2,BorderLayout.WEST); // j.add(jb3,BorderLayout.EAST); // j.add(jb4,BorderLayout.CENTER); //表格布局 // j.setLayout(new GridLayout(3,2)); //行列 // j.add(jb); // j.add(jb1); // j.add(jb2); // j.add(jb3); // j.add(jb4); //流布局 j.setLayout(new FlowLayout()); j.add(jb); j.add(jb1); j.add(jb2); j.add(jb3); j.add(jb4); j.setVisible(true); } }
框体布局:(假如说框体布局不加eat west nother,south.那么就会按照顺序从左到右,从上到下的顺序输出)
表格布局:
流布局(行):在能够显示的情况下,尽可能地缩小显示组件,在默认的情况下,第一个放在最上一行的中间;在有多个的情况下,从左到右,整体在中间,第一行放不下,放到第二行。
4.登入界面:
按钮的组合规则:Jpane的对象可以放在JFrame的对象上,而且JPane的对象也可以放在另外的JPane对象上。这样可以一层层的结合。super和this一样都是引用,区别是this指向当前类的对象,而super指向当前类的父类的对象,这个结论隐藏了一个事实,就是我们new hello的时候,系统会自动new Jpanel ,内存里汇通步产生父类的对象。
import javax.swing.*; import java.awt.*; public class hello { public static void main(String []avgs){ JFrame JF=new JFrame("登入界面"); JF.setSize(400,400); //长宽 JF.setLocationRelativeTo(null); //居中 //设置按钮组件 JLabel UserLab=new JLabel("用户账号"); JLabel PassLab=new JLabel("密码"); JButton Login=new JButton("登入"); JButton Reg=new JButton("注册"); JButton Remove=new JButton("退出"); //设置文本文框 JTextField UserText=new JTextField(); JPasswordField PassText=new JPasswordField(); //设置画板对标签进行输入位置变化 JPanel JIt=new JPanel(); JIt.setLayout(new GridLayout(2,2)); JIt.add( UserLab); JIt.add(UserText); JIt.add(PassLab); JIt.add(PassText); //设置画板堆按钮进行位置转换 JPanel Bu=new JPanel(); Bu.setLayout(new FlowLayout()); Bu.add(Login); Bu.add(Reg); Bu.add(Remove); //进行整合 JF.setLayout(new BorderLayout()); JF.add(JIt,BorderLayout.NORTH); JF.add(Bu,BorderLayout.SOUTH); JF.setVisible(true); //可见 } }
5.聊天界面
多选类: JComBox 滑动类: JSrollPane 当我们运用组合类的时候,他是一个结合体 当我们运用滑动类的时候,要初始化它是谁的滑动框
import javax.swing.*; import java.awt.*; public class hello { public static void main(String []avgs){ JFrame JF=new JFrame("登入界面"); JF.setSize(400,400); //长宽 JF.setLocationRelativeTo(null); //居中 //设置按钮框 JButton Send=new JButton("发送"); JComboBox List=new JComboBox(); //当设置多选框的时候,多选框自己带一个组件 List.addItem("张三"); List.addItem("李四"); List.addItem("王二"); //设置文本文框 JTextField Front=new JTextField(); JTextArea Gitee=new JTextArea(); //设置滑轮操作 JScrollPane Roll=new JScrollPane(Gitee); //添加滑轮的时候,要注意我们添加到哪里,就把添加的对象放进去 //进行多选框和发送合体 JPanel jp1=new JPanel(); jp1.setLayout(new GridLayout(1,2)); jp1.add(List); jp1.add(Send); //进行上框和多选框的合体 JPanel jp2=new JPanel(); jp2.setLayout(new GridLayout(2,1)); jp2.add(Front); jp2.add(jp1); //进行上下框进行合体 JPanel jp3=new JPanel(); jp3.setLayout(new GridLayout(1,1)); jp3.add(jp2); //开始合并 JF.setLayout(new BorderLayout()); JF.add(jp3,BorderLayout.NORTH); JF.add(Roll,BorderLayout.CENTER); //只需要写一个滑轮的即可 JF.setVisible(true); //可见 } }





