求人来帮忙制作一个非常简单的小程序

就是,一开始是出现一个输入窗口,输入一些信息,比如姓名地址什么的,然后生成在一张图上,类似于输入信息生成身份证的内种。我想做一个趣味的信息卡。... 就是,一开始是出现一个输入窗口,输入一些信息,比如姓名地址什么的,然后生成在一张图上,类似于输入信息生成身份证的内种。我想做一个趣味的信息卡。 展开
 我来答
帐号已注销
2013-08-30 · TA获得超过107个赞
知道答主
回答量:61
采纳率:0%
帮助的人:73.5万
展开全部

        //我错了。我忽然看到这个问题是在娱乐下的分类,难怪没有代码模式。我明天或后天再把这个完善下吧。另外先上传一张运行后生成的图片。有什么要求再提。


  //好纠结啊,怎么没有代码模式呢?之前还有的。说明一下,上传的图片是程序里要用的背景图,你可以任意的换。另外,输出的内容可以有多种样式,你自己改代码喽。我只是简单的输出在图片上。   唉,这代码的样式,我看着都难过。你放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();

  }

  }

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式