JAVA的swing编程笔记

时间:2023-01-28 10:56:00

工具:myeclipse

1.创建一个Frame类

   右键项目--->new--->class--->填写包名,类名(窗口名),选择父类JFrame--->finish.

   右键项目--->new--->other--->JFrame--->填写类名(窗口名)--->finish.

 2.布局管理器

    我常用布局为absolute layout(绝对布局),flowlayout(流式布局),borderlayout(边界布局),gridlayout(网格布局)cardlayout(卡片布局)

    具体看http://zhangjunhd.blog.51cto.com/113473/128174/

    写写我最爱的cardlayout

    CardLayout cl=new CardLayout ();

    JPanel jp=new JPanel();

    jp.setLayout(sl);

    添加卡片

    jp.add(JPanel1,"JPanel1");

    jpadd(JPanel2,"JPanel2");

                  *****

    跳转

    cl.first(jp);

    cl.next(jp);

    cl.last(jp);

    cl.show(jp,"JPanel");这就任意跳转了。

 3.按钮事件----弹窗

    类JFileChooser

         JFileChooser.setFileSelectionMode(arg)--------参数arg可以使JFileChooser.File_ONLY、JFileChooser.Directories_ONLY和JFileChooser.File_and_Directories.以此控制窗口的选择对象。

    提示小窗口(dialog)

         JOptionpane.showMessageDialog(null,"内容","title",JOptionpane.error_message)    注意:此窗口点击后不中断程序,继续向下运行。

    其他http://blog.csdn.net/penjie0418/article/details/9257917

 4.背景设置

       JPanel背景

           new JPanel(){

                     protected void paintComponent(Graphics g){

                           此处省略

                     }

           }

       组件背景

           ImageIcon icon=new ImageIcon("BufferImage");

           组件名.setIcon(icon);

       利用border设置背景

            自定义myborder重写paintBorder()

            new Border(){

                  public void paintBorder(Component c,Graphics g,int x,int y,int width,int height){

                            此处省略。。。

                  }

             }

           在为contentPane设置border

              contentPane.setBorder(myborder);如此可以直接在画板上添加组件。

5.自定义frame窗口

     setUndecorated(true);去掉原来的边框,自己在contentPane上添加一些功能组件(最小化、最大化、exit等),在边框范围添加鼠标事件,时期可拖动窗口。这样就比较炫了