如何用java编写一个简易的抽号窗口工具?

首先 先看方法本体:我们用到了java环境下自带的生成随机数的方法

  @Override
            public void actionPerformed(ActionEvent e) {
                String perstring = ta.getText();
                String[] personnelArray = perstring.split("\n{1,}");
                int index = (int) (Math.random()* personnelArray.length);
                String formatArg = "本次抽取的观众人员是:\n\t%1$s 成为本次观众抽奖的得主。"
                        +"\n\n我们将为%1$s\n颁发:\n\t奖品。";
                String info = String.format(formatArg,personnelArray[index]);
                ta1.setText(info);
            }

然后我们在设计下窗口:

 //创建窗体
        Frame f = new Frame("活动抽奖");
        //设置属性
        f.setBounds(400, 200, 400, 400);
        f.setLayout(new FlowLayout());

        //创建文本框
        TextField tf = new TextField(20);
        //创建按钮
        JButton bu = new JButton("名称提交");
        //创建文本域
        TextArea ta = new TextArea(15,28);
        JButton bu1 = new JButton("确认抽取");

        //创建文本域
        TextArea ta1 = new TextArea(15,28);

完整代码如下:

import javax.swing.*;
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

/*
 * 把文本框的值转移到文本域
 * 组件:文本框、按钮、文本域
 */

public class FrimeDemo3 {

    public static void main(String[] args) {
        //创建窗体
        Frame f = new Frame("活动抽奖");
        //设置属性
        f.setBounds(400, 200, 400, 400);
        f.setLayout(new FlowLayout());

        //创建文本框
        TextField tf = new TextField(20);
        //创建按钮
        JButton bu = new JButton("名称提交");
        //创建文本域
        TextArea ta = new TextArea(15,28);
        JButton bu1 = new JButton("确认抽取");

        //创建文本域
        TextArea ta1 = new TextArea(15,28);

        bu.setLocation(5,28);//定位
        //把组建添加到窗体
        f.add(tf);
        f.add(bu);
        f.add(ta);
        f.add(bu1);

        f.add(ta1);
        //设置窗体关闭
        f.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });

        //对按钮添加事件
        bu.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                //获取文本框的值
                String tf_str = tf.getText().trim();
                //清空数据
                tf.setText("");
                //设置给文本域
                //ta.setText(tf_str);  前面的内容会被替换掉
                //追加和换行
                ta.append(tf_str+"\r\n");
                //获取光标
                tf.requestFocus();
            }
        });
        bu1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                String perstring = ta.getText();
                String[] personnelArray = perstring.split("\n{1,}");
                int index = (int) (Math.random()* personnelArray.length);
                String formatArg = "本次抽取的观众人员是:\n\t%1$s 成为本次观众抽奖的得主。"
                        +"\n\n我们将为%1$s\n颁发:\n\t20箱过期牛奶。";
                String info = String.format(formatArg,personnelArray[index]);
                ta1.setText(info);
            }
        });
        //设置窗体显示
        f.setVisible(true);

        }

}

效果如下:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是一个简单的记事本软件的Java代码示例: ```java import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import javax.swing.*; public class SimpleNotepad extends JFrame implements ActionListener { private JTextArea textArea; private JFileChooser fileChooser; private String fileName; public SimpleNotepad() { // 设置窗口标题 setTitle("简易记事本"); // 创建菜单栏 JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar); // 创建文件菜单 JMenu fileMenu = new JMenu("文件"); menuBar.add(fileMenu); // 创建文件菜单项 JMenuItem newMenuItem = new JMenuItem("新建"); newMenuItem.addActionListener(this); fileMenu.add(newMenuItem); JMenuItem openMenuItem = new JMenuItem("打开"); openMenuItem.addActionListener(this); fileMenu.add(openMenuItem); JMenuItem saveMenuItem = new JMenuItem("保存"); saveMenuItem.addActionListener(this); fileMenu.add(saveMenuItem); JMenuItem exitMenuItem = new JMenuItem("退出"); exitMenuItem.addActionListener(this); fileMenu.add(exitMenuItem); // 创建文本区域 textArea = new JTextArea(); textArea.setFont(new Font("宋体", Font.PLAIN, 14)); // 创建滚动面板 JScrollPane scrollPane = new JScrollPane(textArea); add(scrollPane, BorderLayout.CENTER); // 设置窗口大小和可见性 setSize(new Dimension(600, 400)); setVisible(true); } @Override public void actionPerformed(ActionEvent e) { String command = e.getActionCommand(); if (command.equals("新建")) { textArea.setText(""); fileName = null; } else if (command.equals("打开")) { fileChooser = new JFileChooser(); int result = fileChooser.showOpenDialog(this); if (result == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); fileName = file.getAbsolutePath(); try (BufferedReader reader = new BufferedReader(new FileReader(file))) { String line = null; while ((line = reader.readLine()) != null) { textArea.append(line + "\n"); } } catch (IOException ex) { ex.printStackTrace(); } } } else if (command.equals("保存")) { if (fileName == null) { fileChooser = new JFileChooser(); int result = fileChooser.showSaveDialog(this); if (result == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); fileName = file.getAbsolutePath(); } } if (fileName != null) { try (BufferedWriter writer = new BufferedWriter(new FileWriter(fileName))) { writer.write(textArea.getText()); } catch (IOException ex) { ex.printStackTrace(); } } } else if (command.equals("退出")) { System.exit(0); } } public static void main(String[] args) { new SimpleNotepad(); } } ``` 这个简易记事本软件提供了新建、打开、保存和退出等功能。当用户选择打开或保存时,会弹出文件选择器对话框。用户可以选择文件保存或打开,并将文本内容写入或读取自文件中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ADRU

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值