📄 messagepane.java
字号:
package my_cpt;
import super_cpt.*;
import javax.swing.ImageIcon;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
import java.util.Calendar;
import java.awt.image.*;
public class MessagePane extends SuperPane implements ActionListener{
/**
* 消息面板
*/
private ArrayList msglst=new ArrayList();//消息队列
private Message actmsg=null;
//public SuperBtn okbtn=new SuperBtn("ok");
public SuperBtn prebtn=new SuperBtn("<<上一条");
public SuperBtn nxtbtn=new SuperBtn("下一条>>");
private static final Dimension btnsize=new Dimension(65,16);
public ImageIcon icon ;
public MessagePane()
{
super("消息面板");
this.setLayout(null);
//setSize(400,66);
//add(okbtn);
add(prebtn);
add(nxtbtn);
//okbtn.setBounds(390-btnsize.width*3,60-btnsize.height,btnsize.width,btnsize.height);
prebtn.setBounds(784-btnsize.width*2,62-btnsize.height,btnsize.width,btnsize.height);
nxtbtn.setBounds(784-btnsize.width*1,62-btnsize.height,btnsize.width,btnsize.height);
//okbtn.addActionListener(this);
prebtn.addActionListener(this);
nxtbtn.addActionListener(this);
Direction=-1;
//URL url=this.getClass().getResource("light.png");
//System.out.println(url.getPath());
icon = new ImageIcon("Images\\light.png");
HidenSide=BUTTOM;
}
public void ShowMessage(String msg)
{//显示消息
if(msg==null)return;
Message mtmp=new Message(msg,msglst.size());
actmsg=mtmp;
msglst.add(mtmp);
repaint();
}
public void Clear()
{
msglst.clear();
actmsg=null;
}
public void setActMessage(int index)
{//获取消息
if(index*(msglst.size()-index-1)>=0){
actmsg=(Message)msglst.get(index);
}
}
public void actionPerformed(ActionEvent e)
{
/*if(e.getSource()==okbtn)
{
if(iexcuter!=null)
iexcuter.Confirm(this,IActionExcutor.LEFT);
}*/
if(actmsg==null)return;
if(e.getSource()==prebtn)
{
setActMessage(actmsg.serialNum-1);
repaint();
}
if(e.getSource()==nxtbtn)
{
setActMessage(actmsg.serialNum+1);
repaint();
}
}
public BufferedImage transport=null;
public void myPaint(Graphics2D g)
{
g2.setColor(Color.GREEN);
g2.fillRect(5,25,getWidth()-8,20);
//绘制图像
int dx=0;
if(icon!=null){
dx=icon.getIconWidth()+5;
g.drawImage(icon.getImage(),6,22,40,40,this);
}
//绘制内容
g2.setColor(Color.BLACK);
if(actmsg!=null)
{
g2.drawString(actmsg.message,dx+6,40);
g2.drawString(actmsg.detail+"/"+msglst.size(),6+dx,60);
}
else{
g2.drawString("目前没有有效消息",6,40);
g2.drawString("目前没有详细消息",6,60);
}
}
public class Message{
String message;
int serialNum;
String time;
final String detail;
public Message(String str,int index)
{//构造消息
Calendar date=Calendar.getInstance();
message=str;
serialNum=index;
time=date.get(Calendar.HOUR_OF_DAY)+":"+date.get(Calendar.MINUTE)+":"
+date.get(Calendar.SECOND);
detail="MessageTime:["+time+"]/NO."+(serialNum+1);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -