我尝试使用JFrame制作徽标。我成功地制作了3个形状,但是我写了一些字母,但我不能做出更大的字体来制作更大的字体?
请帮助我。 这是我的代码
package test;
import java.awt.*;
import java.awt.Font;
import javax.swing.*;
public class UPN extends JPanel {
public static void main(String[] args) {
JFrame window = new JFrame("UPN");
UPN content = new UPN();
window.setContentPane(content);
window.setSize(400,400);
window.setLocation(100,100);
window.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
window.setVisible(true);
}
private Font font;
public void paint(Graphics g) {
g.setColor(Color.RED);
g.fillRect(250,100,100,100);
g.setColor(Color.BLUE);
int xpoints[] = {200, 140, 270};
int ypoints[] = {80, 200, 200};
int npoints = 3;
g.fillPolygon(xpoints, ypoints, npoints);
g.setColor(Color.YELLOW);
g.fillOval(63,100,100,100);
g.setColor(Color.black);
g.drawString("UPN", 30, 150);
}
public void letter(){
font=new Font("Helvetica",Font.BOLD,150);
setFont(font);
}
}
答案 0 :(得分:1)
尝试添加此行:
setFont(new Font("Helvetica", 1, 170));
答案 1 :(得分:0)
将jpeg或png绘制到JPanel然后将其添加到Jframe可能更容易。但是,如果您希望/需要继续使用它,Java Oracle具有与Font相关的所有方法及其工作方式。你应该在那里寻找像这样的问题。
https://docs.oracle.com/javase/7/docs/api/java/awt/Font.html
答案 2 :(得分:0)
我注意到你从未调用过letter()
函数。先尝试一下。
而不是:
g.setColor(Color.black);
g.drawString("UPN", 30, 150);
删除letter
方法并尝试:
g.setColor(Color.black);
setFont(new Font("Helvetica", 1, 170));
g.drawString("UPN", 30, 150);
您定义了letter()
,它可以执行您想要的操作,但您永远不会使用它。