繁体   English   中英

无论调整大小,如何保持文本和行居中?

[英]How to keep text and the line centered regardless of resizing?

我有这段代码,但我面临一个问题,即在调整框架大小时,文本和线条将消失,而不是在中心重新对齐。

import javax.swing.*;
import java.awt.*;
import java.awt.geom.AffineTransform;

public class Groovy
{

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                JFrame frame= new JFrame("Shearing Word Demo");

                frame.setResizable(true);
                frame.setSize(new Dimension(500,250));
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                Toolkit it=Toolkit.getDefaultToolkit();
                Dimension d=it.getScreenSize();
                int w=frame.getWidth(), h=frame.getHeight();
                frame.setLocation(d.width/2-w/2, d.height/2-h/2);
                frame.add(new JComponent(){
                    @Override public void paintComponent(Graphics g){

                        AffineTransform tx2 = new AffineTransform();
                        tx2.translate(0, 0);
                        tx2.shear(0.7, 0);
                        Graphics2D g2=(Graphics2D) g;
                        g2.setTransform(tx2);
                        g2.setColor(Color.MAGENTA);
                        g2.setFont(new Font("Comic Sans MS",Font.BOLD,44));
                        g2.drawString("Feeling Groovy!", 30,125 );
                        g2.setColor(Color.GREEN);
                        g2.setStroke(new BasicStroke(5));
                        g2.drawLine(30,128,350,128);
                    }
                });
                frame.setVisible(true);
            }
        });
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM