import java.awt.*; import javax.swing.*; public class MessagePanel extends JPanel{ private String message = "欢迎使用"; private int xCoordinate = 20; private int yCoordinate = 20; private boolean centered; private int interval = 10; public MessagePanel(){ } public MessagePanel(String message){ this.message = message; } public String getMessage(){ return message; } public void setMessage(String message){ this.message = message; repaint(); } public int getxCoordinate(){ return xCoordinate; } public void setXCoordinate(int x){ this.xCoordinate = x; repaint(); } public int getyCoordinate(){ return yCoordinate; } public void setyCoordinate(int y){ this.yCoordinate = y; repaint(); } public boolean isCentered(){ return centered; } public void setCentered(boolean centered){ this.centered = centered; repaint(); } public int getInterval(){ return interval; } public void setInterval(int interval){ this.interval = interval; repaint(); } protected void paintComponent(Graphics g){ super.paintComponent(g); if(centered){ FontMetrics fm =g.getFontMetrics(); int stringWidth=fm.stringWidth(message); int stringAscent = fm.getAscent(); xCoordinate = getWidth()/2-stringWidth/2; yCoordinate = getHeight()/2+stringAscent/2; } g.drawString(message, xCoordinate, yCoordinate); } public void moveLeft(){ xCoordinate-=interval; repaint(); } public void moveRight(){ xCoordinate+=interval; repaint(); } public void moveUp(){ yCoordinate-=interval; repaint(); } public void moveDown(){ yCoordinate+=interval; repaint(); } public Dimension getPreferredSize(){ return new Dimension(200,30); } }