第一篇 Swing 入门

1. Swing是一个为Java设计的GUI工具包。

知道是做UI界面的即可了。

2.Swing 编程基本流程

第一步: 取得主窗体

JFrame jf = new JFrame("Demo1");

第二步:获得主窗体的容器

Container c = jf.getContentPane();

第三步:设置容器布局

c.setLayout(new FlowLayout(FlowLayout.LEFT,20,20));

第四步:添加组件及设置组件属性

JLabel label1 = new JLabel("Hello World!");
JLabel label2 = new JLabel("Bye World!");
label1.setBackground(Color.BLUE);
label1.setOpaque(true);

第五步:设置窗体属性,关闭主窗体,退出程序

jf.setSize(200, 100); //设置主窗体大小
jf.setVisible(true);

jf.setResizable(false);

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置窗体关闭时,退出程序

另:
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);也可使用以下代码代替

jf.addWindowListener(new WindowAdapter() {

@Override
     public void windowClosing(WindowEvent e) {
                super.windowClosing(e);
                System.exit(0);
            }
});

 

3.个人的一点学习心得:

   *学习Swing,做出简单的小软件,并不困难,想要做的好看,就需要对布局有较深的研究!

   *使用Swing的一个用处:Swing虽然已经有些过时了,但可以做些小工具,辅助工作等,也可以自娱自乐。个人对电脑图形界面挺感兴趣。

   *Swing组件使用一些设计模式,是挺值得研究一下,对编程挺要用处!

   *学习东西贵在坚持,很多工具包都是类似的,对一种有所精深,其他亦能触类旁通!

4.附一个在Youtobe视频中学习到的一个Swing程序:

package com.ting723.www;

 

import java.awt.Container;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

 

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

 

public class Demo10XOGame extends JFrame{

 

         JPanel jp = new JPanel();

 

         public Demo10XOGame() {

                   Container c = this.getContentPane();

                   c.add(jp);

                   jp.setLayout(new GridLayout(3, 3));

                   for (int i = 0; i < 9; i++) {

                            XOButton jb = new XOButton();

                            jp.add(jb);

                   }

 

                   this.setSize(500, 500);

                   this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

                   this.setLocationRelativeTo(null);

                   this.setVisible(true);

         }

 

         public static void main(String[] args) {

 

                   new Demo10XOGame();

         }

 

 

}

 

class XOButton extends JButton implements ActionListener {

         private ImageIcon X, O;

         byte value = 0;

         public XOButton() {

                   X = new ImageIcon(this.getClass().getResource("x.png"));

                   O = new ImageIcon(this.getClass().getResource("o.png"));

                   this.addActionListener(this);

 

         }

 

         @Override

         public void actionPerformed(ActionEvent e) {

 

                   value++;

                   value %= 3;

                   switch (value) {

                   case 0:

                            setIcon(null);

                            break;

                   case 1:

                            setIcon(X);

                            break;

                   case 2:

                            setIcon(O);

                   }

         }

}

 

       

 


无论做什么,坚持一下,总会出些成果!人生,高兴就好,莫为结果为伤神!

posted @ 2013-12-22 23:39  幻生  阅读(413)  评论(0编辑  收藏  举报