📄 messageboard.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 + -