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

📄 testmessagepanel.java

📁 实现MessagePanel显示不同字体
💻 JAVA
字号:
import java.awt.*;
import javax.swing.*;
import java.awt.GridLayout;

class TestMessagePanel extends JFrame
{
    public TestMessagePanel()
    {
        JPanel p1=new JPanel();
        JPanel p2=new JPanel();
        MessagePanel messageP1=new MessagePanel("java");
        MessagePanel messageP2=new MessagePanel("HTML");
        MessagePanel messageP3=new MessagePanel("");
        MessagePanel messageP4=new MessagePanel("PHP");
        messageP1.setFont(new Font("SansSerif",Font.ITALIC,15));
        messageP2.setFont(new Font("SansSerif",Font.ITALIC,15));
        messageP4.setFont(new Font("SansSerif",Font.ITALIC,15));
        messageP2.setBackground(Color.GRAY);
        messageP3.setBackground(Color.RED);
        messageP4.setBackground(Color.GRAY);
        messageP1.setCentered(true);
        messageP2.setCentered(true);
        messageP3.setCentered(true);
        messageP4.setCentered(true);
        getContentPane().add(p1,BorderLayout.CENTER);
        getContentPane().add(p2,BorderLayout.EAST);
        p1.setLayout(new GridLayout(1,1));
        p1.add(messageP1);
        p2.setLayout( new GridLayout(3,2));        
        p2.add(messageP2);
        p2.add(messageP3);
        p2.add(messageP4);        
    }   
    public static void main(String[] args)
    {
        TestMessagePanel frame=new TestMessagePanel();
        frame.setSize(300,200);
        frame.setTitle("Exercise 11_19");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}
class MessagePanel extends JPanel
{
    private String message="Welcome to java";
    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;
    }
    public int getXCoordinate()
    {
        return xCoordinate;
    }
    public void setXCoordinate(int x)
    {
        this.xCoordinate=x;
    }
    public int getYCoordinate()
    {
        return yCoordinate;
    }
    public void setYCoordinate(int y)
    {
        this.yCoordinate=y;
    }
    public boolean isCentered()
    {
        return centered;
    }
     public void setCentered(boolean centered)
    {
        this.centered=centered;
        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);
      }    
}

⌨️ 快捷键说明

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