[英]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.