📄 huatu_program.java
字号:
/**
* @(#)Huatu_Program.java
*
*
* @author
* @version 1.00 2008/12/22
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Huatu_Program extends JFrame
{
private int pointCount = 0;
private JButton tools[],colorBar[];
private String names[] = {"橡皮擦","铅笔","曲线","直线","实心矩形","矩形","实心椭圆","椭圆","圆角矩形"};
private ImageIcon items[];
protected JToolBar toolsPanel;
private DrawPanel drawingArea;
Drawings[] itemList=new Drawings[5000];
private int currentChoice=1,huabucolor_Choice;
public int index = 0;
public float stroke = 2.0f;
private Color color=Color.black;
public int R,G,B;
public int a,b,record = 1;
public int[][] colorarray = {{192,192,192},{255,0,0},{255,255,0},{0,255,0},
{0,255,255},{0,0,255},{255,0,255},{255,255,128},
{0,255,128},{128,255,255},{128,128,255},{255,0,128},
{255,128,64}};;
public JPanel f;
public JLabel status;
public JTextField text;
public Huatu_Program()
{
super("画图");
Container container = getContentPane();
container.setLayout(new BorderLayout());
items = new ImageIcon[names.length];
JMenuBar bar = new JMenuBar();
setJMenuBar( bar );
JMenu fileMenu = new JMenu("文件(F)");
fileMenu.setMnemonic('F');
JMenuItem newItem = new JMenuItem("新建(N)");
newItem.setMnemonic('N');
newItem.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
}
});
fileMenu.add(newItem);
JMenuItem openItem = new JMenuItem("打开(O)");
openItem.setMnemonic('O');
openItem.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
}
});
fileMenu.add(openItem);
JMenuItem saveItem = new JMenuItem("保存(S)");
saveItem.setMnemonic('S');
saveItem.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
}
});
fileMenu.add(saveItem);
fileMenu.addSeparator();
JMenuItem exitItem = new JMenuItem("退出(X)");
exitItem.setMnemonic('X');
exitItem.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
});
fileMenu.add(exitItem);
bar.add(fileMenu);
JMenu editMenu = new JMenu("编辑(E)");
editMenu.setMnemonic('E');
JMenuItem cutItem = new JMenuItem("剪切(T)");
cutItem.setMnemonic('T');
cutItem.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
}
});
editMenu.add(cutItem);
JMenuItem copyItem = new JMenuItem("复制(C)");
copyItem.setMnemonic('C');
copyItem.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
}
});
editMenu.add(copyItem);
JMenuItem pasteItem = new JMenuItem("粘贴(P)");
pasteItem.setMnemonic('P');
pasteItem.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
}
});
editMenu.add(pasteItem);
bar.add(editMenu);
JMenu lookMenu = new JMenu("查看(V)");
lookMenu.setMnemonic('V');
JMenuItem toolsItem = new JMenuItem("工具箱(T)");
toolsItem.setMnemonic('T');
toolsItem.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
}
});
lookMenu.add(toolsItem);
JMenuItem colorboxItem = new JMenuItem("颜料盒(C)");
colorboxItem.setMnemonic('C');
colorboxItem.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
}
});
lookMenu.add(colorboxItem);
bar.add(lookMenu);
JMenu imageMenu = new JMenu("图像(I)");
imageMenu.setMnemonic('I');
JMenuItem reverlItem = new JMenuItem("翻转/旋转(R)");
reverlItem.setMnemonic('R');
reverlItem.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
}
});
imageMenu.add(reverlItem);
JMenuItem lashengItem = new JMenuItem("拉伸/扭曲(S)");
lashengItem.setMnemonic('S');
lashengItem.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
}
});
imageMenu.add(lashengItem);
JMenuItem fanseItem = new JMenuItem("反色(I)");
fanseItem.setMnemonic('I');
fanseItem.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
}
});
imageMenu.add(fanseItem);
JMenuItem shuxingItem = new JMenuItem("属性(A)");
shuxingItem.setMnemonic('A');
shuxingItem.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
}
});
imageMenu.add(shuxingItem);
bar.add(imageMenu);
JMenu colorMenu = new JMenu("颜色(C)");
colorMenu.setMnemonic('C');
JMenuItem editColorItem = new JMenuItem("编辑颜色(E)");
editColorItem.setMnemonic('E');
editColorItem.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
colorChoose();
}
});
colorMenu.add(editColorItem);
bar.add(colorMenu);
JMenu setup = new JMenu("设置(S)");
setup.setMnemonic('S');
JMenuItem huabiItem = new JMenuItem("设置画笔大小");
huabiItem.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
setHuabi();
}
});
setup.add(huabiItem);
JMenuItem huabuColor = new JMenuItem("设置画布颜色");
huabuColor.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
colorChoose();
huabucolor_Choice = 10;
}
});
setup.add(huabuColor);
bar.add(setup);
JMenu helpMenu=new JMenu("帮助(H)");
helpMenu.setMnemonic('H');
JMenuItem aboutItem=new JMenuItem("关于这个画图软件!");
aboutItem.setMnemonic('A');
aboutItem.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
JOptionPane.showMessageDialog(null,
"这是一个迷你画图软件!\nCopyright @ Rserved 2008 信息学院 软件工程 吴超前 ",
" 画图板程序说明 ",
JOptionPane.INFORMATION_MESSAGE );
}
});
helpMenu.add(aboutItem);
bar.add(helpMenu);
drawingArea=new DrawPanel();
f = new JPanel();
f.setLayout(new BorderLayout());
f.setBackground(new Color(245,206,203));
status = new JLabel();
text = new JTextField(20);
tools = new JButton[names.length];
colorBar = new JButton[13];
toolsPanel = new JToolBar("工具栏",JToolBar.VERTICAL);
toolsPanel.setPreferredSize(new Dimension(50, 200));
container.add(toolsPanel,BorderLayout.WEST);
container.add(drawingArea,BorderLayout.CENTER);
f.add(status,BorderLayout.WEST);
f.add(text,BorderLayout.EAST);
container.add(f,BorderLayout.SOUTH);
status.setText("欢迎使用迷你画图软件! Copyright @ Rserved 2008 信息学院 软件工程 吴超前");
ButtonHandler handler = new ButtonHandler();
colorBar_ButtonHandler handler1 = new colorBar_ButtonHandler();
for(int count = 0;count < tools.length;count ++)
{
items[count] = new ImageIcon(names[count]+".gif");
tools[count] = new JButton(""+items[count]);
tools[count].setSize(50,50);
toolsPanel.add(tools[count]);
}
toolsPanel.addSeparator();
toolsPanel.addSeparator();
for(int count = 0;count < colorBar.length;count ++)
{
colorBar[count] = new JButton(" ");
colorBar[count].setSize(100,1);
toolsPanel.add(colorBar[count]);
toolsPanel.addSeparator();
}
addColor();
for(int count = 0;count < tools.length;count ++)
{
tools[count].addActionListener(handler);
}
for(int count = 0;count < colorBar.length;count ++)
{
colorBar[count].addActionListener( handler1);
}
createNew();
setSize(600,600);
setVisible(true);
show();
}
public void addColor()
{
for(int count = 0;count < colorarray.length;count ++)
{
colorBar[count].setBackground(new Color(colorarray[count][0],colorarray[count][1],colorarray[count][2]));
}
}
public class ButtonHandler implements ActionListener
{
public void actionPerformed( ActionEvent e )
{
for(int count = 0;count < names.length;count ++)
{
if(e.getSource() == tools[count])
{
currentChoice = count;
createNew();
repaint();
}
}
}
}
public class colorBar_ButtonHandler implements ActionListener
{
public void actionPerformed( ActionEvent e )
{
for(int count = 0;count < colorBar.length;count ++)
{
if(e.getSource() == colorBar[count])
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -