java实战开发--多色板一代--四色板

java中的图形化界面程序开发过程,我们可以用画画的过程来说明:

既然要画画,肯定需要一块画板吧,java中我们使用窗口javax.swing.JFrame作为画板,来看一段程序:

  
  
  
  
  1. package com.anjoyo.test;

  2. import javax.swing.JFrame;

  3. publicclass Main extends JFrame{

  4. public Main(){

  5.    }

  6. publicstaticvoid main(String[] args) {

  7. new Main();

  8.    }

  9. }

这里我们运行一个JFrame,但是很可惜,什么都没有出现。这是因为新建出来的窗口默认是不显示的,来看几个重要的方法:

JFrame中的方法:

new JFrame() -- 构造一个初始不可见的窗口

new JFrame(String) -- 构造一个初始不可见,具有指定标题的窗口

void setBounds(int x,int y,int width,int height) -- 指定窗口出现的坐标(x,y)和窗口的大小,也即窗口的宽度和高度(width,height)

void setVisible(boolean) -- 设置显示模式(窗体是否可见)

void setTitle(String) -- 如果我们初始化的是一个没有标题的窗口,可以用这个方法为窗口设置标题。

void setDefaultCloseOperation(int operation) -- 设置用户在关闭窗体时的默认操作,这里的参数我们用EXIT_ON_CLOSE,也即用System.exit的方法来tui

下面我们就使用这些方法:

  
  
  
  
  1. package com.anjoyo.test;

  2. import javax.swing.JFrame;

  3. publicclass Main extends JFrame{

  4. public Main(){

  5. // 设置默认关闭模式

  6.        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  7. // 设置标题栏

  8.        setTitle("我的小窗口");

  9. // 设置窗口区域(x,y,width,heigth)

  10.        setBounds(200, 200, 400, 300);

  11. // 设置是否显示

  12.        setVisible(true);

  13.    }

  14. publicstaticvoid main(String[] args) {

  15. new Main();

  16.    }

  17. }

再次运行程序,可以看到我们的小窗口了。

画板好了,我们开始作画,作画一般是画在画布上,而不是直接在画板上作画,这里我们引出我们的画布javax.swing.JPanel。这里我们为了方便看出效果,将JPanel的背景色设置为绿色。

  
  
  
  
  1. package com.anjoyo.test;

  2. import java.awt.Color;

  3. import javax.swing.JFrame;

  4. import javax.swing.JPanel;

  5. publicclass Main extends JFrame{

  6. public Main(){

  7. //创建基础画布

  8. JPanel pnBasic = new JPanel();

  9. //将基础画布的背景色设置为绿色GREEN

  10. pnBasic.setColor.GREEN);

  11. //将画板和画布绑定

  12.        setContentPane(pnBasic);

  13. // 设置默认关闭模式

  14.        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  15. // 设置标题栏

  16.        setTitle("我的小窗口");

  17. // 设置窗口区域(x,y,width,heigth)

  18.        setBounds(200, 200, 400, 300);

  19. // 设置是否显示

  20.        setVisible(true);

  21.    }

  22. publicstaticvoid main(String[] args) {

  23. new Main();

  24.    }

  25. }

看我们的运行效果:

这里注意两点:

1)使用java.awt.Color类中的静态属性值来设置颜色,如Color.GREEN;

2) 需要将画板和画布绑定(setContentPane(pnBasic);),才能看出实际效果

加上颜色后,界面一下子好看多了,那我们能不能用更多的颜色来作画呢?答案是肯定的,但是我们需要注意一点,就是要新建其他画布,并且把新建的画布加入到我们的基础画布中才可以。

比如:这里我想要红黄蓝绿四块画布填充基础画布:

  
  
  
  
  1. package com.anjoyo.test;

  2. import java.awt.Color;

  3. import javax.swing.JFrame;

  4. import javax.swing.JPanel;

  5. publicclass Main extends JFrame{

  6. public Main(){

  7. //创建基础画布

  8.        JPanel pnBasic = new JPanel();

  9. //将基础画布的背景色设置为绿色GREEN

  10. //pnBasic.setColor.GREEN);

  11. //创建红黄蓝绿四块小画布,并分别设置背景色

  12. JPanel pnRed = new JPanel();

  13.        pnRed.setColor.RED);

  14.        JPanel pnYello = new JPanel();

  15.        pnYello.setColor.YELLOW);

  16.        JPanel pnBlue = new JPanel();

  17.        pnBlue.setColor.BLUE);

  18.        JPanel pnGreen = new JPanel();

  19.        pnGreen.setColor.GREEN);

  20. //将红黄蓝绿四块小画布加入到基础画布中

  21. pnBasic.add(pnRed);

  22.        pnBasic.add(pnYello);

  23.        pnBasic.add(pnBlue);

  24.        pnBasic.add(pnGreen);

  25. //将画板和画布绑定

  26.        setContentPane(pnBasic);

  27. // 设置默认关闭模式

  28.        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  29. // 设置标题栏

  30.        setTitle("我的小窗口");

  31. // 设置窗口区域(x,y,width,heigth)

  32.        setBounds(200, 200, 400, 300);

  33. // 设置是否显示

  34.        setVisible(true);

  35.    }

  36. publicstaticvoid main(String[] args) {

  37. new Main();

  38.    }

  39. }

运行效果如下:

红黄蓝绿四块小画布是出来了,但是这个结果让人哭笑不得,因为我们想要的是四块区域完全占满基础画布,比如一行四列,或者两行两列这样来占满。

这是因为我们作画也不是随便画的,需要按照一定的样式,也即是我们的布局。这里我们的基础画布并没有指定任何形式的布局,它的默认布局是FlowLayout,也即按照上面的样式来排列,具体可见API介绍。

那么,这里我们如果想要填满基础面板,可以使用另外一种布局GridLayout,该布局为网状布局,可以指定行数和列数,代码如下:

  
  
  
  
  1. package com.anjoyo.test;

  2. import java.awt.Color;

  3. import java.awt.GridLayout;

  4. import javax.swing.JFrame;

  5. import javax.swing.JPanel;

  6. publicclass Main extends JFrame{

  7. public Main(){

  8. //创建基础画布

  9.        JPanel pnBasic = new JPanel();

  10. //创建网站布局格式:2行2列

  11. GridLayout lyGrid = new GridLayout(2,2);

  12. //将基础画布的布局格式指定为上面定义的布局方式

  13. pnBasic.setLayout(lyGrid);

  14. //将基础画布的背景色设置为绿色GREEN

  15. //pnBasic.setColor.GREEN);

  16. //创建红黄蓝绿四块小画布,并分别设置背景色

  17.        JPanel pnRed = new JPanel();

  18.        pnRed.setColor.RED);

  19.        JPanel pnYello = new JPanel();

  20.        pnYello.setColor.YELLOW);

  21.        JPanel pnBlue = new JPanel();

  22.        pnBlue.setColor.BLUE);

  23.        JPanel pnGreen = new JPanel();

  24.        pnGreen.setColor.GREEN);

  25. //将红黄蓝绿四块小画布加入到基础画布中

  26.        pnBasic.add(pnRed);

  27.        pnBasic.add(pnYello);

  28.        pnBasic.add(pnBlue);

  29.        pnBasic.add(pnGreen);

  30. //将画板和画布绑定

  31.        setContentPane(pnBasic);

  32. // 设置默认关闭模式

  33.        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  34. // 设置标题栏

  35.        setTitle("我的小窗口");

  36. // 设置窗口区域(x,y,width,heigth)

  37.        setBounds(200, 200, 400, 300);

  38. // 设置是否显示

  39.        setVisible(true);

  40.    }

  41. publicstaticvoid main(String[] args) {

  42. new Main();

  43.    }

  44. }

再次运行:

这样,四色板就做出来了。


你可能感兴趣的:(java,开发,多色板)