⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 messageboard.java

📁 哈工大实验课源代码
💻 JAVA
字号:
package Board;//by nmbaby
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MessageBoard extends JFrame implements ActionListener,ItemListener{
	JFrame window;//创建窗口
	JButton bt;//发送键
	JLabel mess,nam;//显示访客留言//显示访客名字
	JRadioButton red,green,yellow;//颜色按钮
	ButtonGroup bGroup;
	String messag;
	JTextArea message,showMessage;//输入文本区访客留言//显示留言
	JTextField name;//输入框访客名字
	JScrollPane jsp;
	public MessageBoard(){
		super("MessageBoard");
		messag=" ";
		window=new JFrame("MessageBoard");//窗口初始化
		bt=new JButton("SEND");//发送键
		mess=new JLabel("message:");//显示访客留言
		nam=new JLabel("name:");//显示访客名字
		name=new JTextField(10);//输入框访客名字
		message=new JTextArea(5,35);//输入文本区访客留言
		showMessage=new JTextArea(12,40);//显示留言
		showMessage.setEditable(false);//阻止在留言显示部分写入
		Container c=getContentPane();//获得窗口的内容显示层
		red=new JRadioButton("Red");//实现三个颜色按钮
		green=new JRadioButton("Green");
		yellow=new JRadioButton("Yellow");
		c.setLayout(null);//关闭默认布局	
		jsp=new JScrollPane(showMessage);//滚动条jsp实例化showMessage
		c.add(jsp);//容器加载组件
		jsp.setBounds(0,0,480,290);
		c.add(name);
		name.setBounds(80,300,200,20);
		c.add(nam);
		nam.setBounds(10,300,50,20);
		c.add(message);
		message.setBounds(100,330,380,150);
		c.add(mess);
		mess.setBounds(10,330,80,20);
		c.add(red);
		red.setBounds(20,520,80,30);
		c.add(green);
		green.setBounds(120,520,80,30);
		c.add(yellow);
		yellow.setBounds(220,520,80,30);
		c.add(bt);
		bt.setBounds(380,520,80,30);
		bGroup=new ButtonGroup();//单一功能
		bGroup.add(red);//添加单一使用组件
		bGroup.add(green);
		bGroup.add(yellow);
		red.addItemListener(this);//实现监听
		green.addItemListener(this);
		yellow.addItemListener(this);
		bt.addActionListener(this);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//实现关闭键
		setSize(500,600);//窗口大小
		setVisible(true);//显示窗口
	}
	//实现指定按钮的单一使用,使得不会同时出现三种颜色同时操作
	public void itemStateChanged(ItemEvent e){//当颜色按钮被点击时
		if (e.getSource()==red)
			showMessage.setBackground(Color.red);
		if (e.getSource()==green)
			showMessage.setBackground(Color.green);
		if (e.getSource()==yellow)
			showMessage.setBackground(Color.yellow);
	}
	//实现ActionListener接口的actionPerformed函数
	public void actionPerformed(ActionEvent e){
		String command=e.getActionCommand();
		String caller=name.getText();
		String messa=message.getText();
		if (command.equals("SEND")){//确认按钮
			if (messa.length()==0){//留言为空时
				JOptionPane.showMessageDialog(null,"Sorry,the message could't with anything!");
				messag +="";
				showMessage.setText(messag);
				message.setText("");
				name.setText("");
			}
			else if(caller.length()==0){//caller‘s name为空时
				messag+="\n   ****************************\n";
				messag+= "   mystery say:\n   " + messa;
				showMessage.setText(messag);
				message.setText("");
			} else{//caller输入了姓名后
				messag+="\n****************************\n";
				messag+="   "+"*"+caller+"* say:\n   "+messa;
				showMessage.setText(messag);
				message.setText("");
				name.setText("");
			}
		}
	}
	public static void main(String[] args){//main
		new MessageBoard();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -