目标:使用Java中的GUI工具包Swing实现画图软件的创建
UI界面
首先要创建出这样的样子的界面,这就要用到JFrame类,创建一个窗体对象,然后将所有的组件(按钮、画布等)放入窗体对象中。
public class UI {
public JFrame jf;
public JPanel drawJP, toolJP;
public void showUI() {
// new一个JFrame窗体
jf = new JFrame("画图工具");
// 设置窗体大小
jf.setSize(600,600);
// 设置窗体的布局为边界布局,分为东南西北中五个方位,可以将组件添加到指定的地方
jf.setLayout(new BorderLayout());
// 设置窗体居中显示
jf.setLocationRelativeTo(null);
// 给窗体设置退出按钮 关掉即退出程序
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 定制绘画模块
// new一个绘画区域的JPanel
drawJP = new JPanel();
// 设置背景颜色为灰色,如果不设置背景颜色分别不出来不同Jpanel
drawJP.setBackground(Color.GRAY);
//将绘画模块加到窗体中,边界布局选择中间,如果选择CENTER的话就不要设置大小,默认自动填满
jf.add(drawJP, BorderLayout.CENTER);
// 定制工具模块
toolJP = new JPanel();
// 设置背景颜色为白色
toolJP.setBackground(Color.WHITE);
// 除了窗体使用setSize(),其他组件的大小设置都需要使用setPreferredSize()方法
toolJP.setPreferredSize(new Dimension(100,0));
//将工具栏模块加到窗体中,边界布局选择东边
jf.add(toolJP, BorderLayout.EAST);
// 定制功能按钮
// 定义一个tools字符串数组存放你需要的工具
String[] tools = {
"直线", "椭圆", "三角形", "多边形","铅笔"};
// 遍历字符串数组,每遍历一次就在工具栏模块中添加一个对应名字的按钮,并设置大小
for (int i = 0; i < tools.length; i++) {
JButton jbt = new JButton(tools[i]);
jbt.setPreferredSize(new Dimension(80,30));
toolJP.add(jbt);
}
// 定义颜色按钮
Color[] colors = {
Color.GREEN, Color.BLUE, Color.RED, Color.PINK};