求人来帮忙制作一个非常简单的小程序
//我错了。我忽然看到这个问题是在娱乐下的分类,难怪没有代码模式。我明天或后天再把这个完善下吧。另外先上传一张运行后生成的图片。有什么要求再提。
//好纠结啊,怎么没有代码模式呢?之前还有的。说明一下,上传的图片是程序里要用的背景图,你可以任意的换。另外,输出的内容可以有多种样式,你自己改代码喽。我只是简单的输出在图片上。 唉,这代码的样式,我看着都难过。你放Eclipse里排下版吧。有什么问题或要求再告诉我。
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
@SuppressWarnings("serial")
public class CreateCard extends JFrame implements ActionListener{
private JTextField nameInput; //姓名输入框
private JTextField addressInput; //地址输入框
private JTextField noInput; //编号输入框
private JLabel jLabel1;
private JLabel jLabel2;
private JLabel jLabel3;
private JButton submit; //提交按钮
public CreateCard() {
{
this.setLayout(null);
}
{
nameInput = new JTextField();
this.add(nameInput, "Center");
nameInput.setBounds(160, 50, 128, 25);
}
{
jLabel1 = new JLabel();
this.add(jLabel1);
jLabel1.setText("姓名");
jLabel1.setBounds(86, 47, 56, 29);
}
{
jLabel2 = new JLabel();
this.add(jLabel2);
jLabel2.setText("地址");
jLabel2.setBounds(86, 111, 56, 15);
}
{
jLabel3 = new JLabel();
this.add(jLabel3);
jLabel3.setText("编号");
jLabel3.setBounds(86, 160, 56, 15);
}
{
addressInput = new JTextField();
this.add(addressInput);
addressInput.setBounds(160, 108, 128, 22);
}
{
noInput = new JTextField();
this.add(noInput);
noInput.setBounds(160, 157, 128, 22);
}
{
submit = new JButton();
this.add(submit);
submit.setText("生成卡片");
submit.setBounds(120, 218, 115, 22);
submit.addActionListener(this);
}
{
this.setSize(422, 314);
this.setTitle("生成卡片");
this.setDefaultCloseOperation(3);
this.setVisible(true);
}
}
public void actionPerformed(ActionEvent e) {
createPic();
}
/**
* 此方法用于生成最终图片。
* 注:背景图片路径为 src/1.jpg
* 最终生成图片的路径为src/2.jpg
*/
private void createPic() {
BufferedImage bi = new BufferedImage(
800,600,BufferedImage.TYPE_INT_RGB); //800 600 为我选择的背景图片的大小
Graphics g = bi.getGraphics(); //获得画刷
BufferedImage image = null;
try {
image = ImageIO.read(new File("src/1.jpg")); //读取背景图片
g.setColor(Color.BLACK); //设置画刷颜色
g.setFont(new Font("微软雅黑",Font.CENTER_BASELINE,28)); //设置画刷字体
//-----以下为绘制内容------
g.drawImage(image, 0, 0, null);
g.drawString("名字:", 100, 200);
g.drawString(nameInput.getText(), 250, 200);
g.drawString("地址:", 100, 300);
g.drawString(addressInput.getText(), 250, 300);
g.drawString("编号:", 100, 400);
g.drawString(noInput.getText(), 250, 400);
//-----绘制结束,生成图片,保存为src/2.jpg------
ImageIO.write(bi, "jpeg", new File("src/2.jpg"));
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new CreateCard();
}
}