Font类

要点提示:Font类描述字体名、粗细和大小。

​ 可以砸渲染文字的时候设置字体信息。javafx.scene.text.Font类用于创建字体。

​ Font实例可以使用它的构造方法或者静态方法来创建。Font可以用它的名字、字体粗细、字体形态和大小来描述。Times、Courier和Arial是字体名字的实例。可以通过调用静态方法getFamilies()获得一个可用的字体系列名字列表。List是一个为列表字体通过方法的接口。ArrayList是List的一个具体实现。字体形态是两个常量:FontPosture.IRALICFontPosture.REGULAR。例如下面的语句生成两个字体。

1
2
Font font1 = new Font("SansSerif",16);//字体(SansSerif,大小16)
Font font2 = Font.font("Times New Roman",FontPosture.IRALC,FontPosture.REGULAR,20);//字体(Times New Roman、加粗、斜体和大小为20)

javafx.scene.text.Font

-size: double //该字体的大小

-name: String //该字体的名字

-family: String //该字体属于的字体集

+Font(size: double) //使用给定字体大小创建一个Font

+Font(name: String,size: double)//使用给定的字体完整名称和大小创建一个Font

+font(name: String,size: double)//使用给定的字体名称和大小创建一个Font

+font(name: String,w: FontWeight,size: double)//使用给定的字体名称、粗细和大小创建一个Font

+font(name: String,w: FontWeight,p:FontPosture,size: double)//使用给定的字体名称、粗细、字形以及大小创建一个Font

+getFamilies(): List //返回一个字体集名字的列表

+getFontName(): List //返回一个字体完整名称的列表,包括字体集和粗细

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package ohhh;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.*;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.scene.text.*;
import javafx.scene.control.*;
import javafx.stage.Stage;
public class FontDemo extends Application{
	@Override
	public void start(Stage primaryStage){
		Pane pane = new StackPane();
		
		Circle circle = new Circle();
		circle.setRadius(50);
		circle.setStroke(Color.BLACK);
		circle.setFill(new Color(0.5,0.5,0.5,0.1));
		pane.getChildren().add(circle);
		
		Label label = new Label("JavaFX");
		label.setFont(Font.font("Times New Roman",FontWeight.BOLD,FontPosture.ITALIC,20));
		pane.getChildren().add(label);
		
		Scene scene=new Scene(pane);
		primaryStage.setTitle("FontDemo");
		primaryStage.setScene(scene);
		primaryStage.show();
	}
	public static void main(String[] args){
		Application.launch(args);
	}

}

运行结果:


Font类的问题

01-17

'生成图象验证码函数rnSub ValidateCode(VNum)rn Dim Img as System.Drawing.Bitmaprn Dim g as Graphicsrn Dim ms as MemoryStreamrn dim gheight as integer=Int(Len(VNum)*20) 'gheight为图片宽度,根据字符长度自动更改图片宽度rn img=new BitMap(Gheight,25)rn g=Graphics.FromImage(img)rn g.DrawString(VNum,(New Font("Arial",16)),(New SolidBrush(Color.Black)),3,3)'在矩形内绘制字串(字串,字体,画笔颜色,左上x.左上y)rn ms=New MemoryStream()rn img.Save(ms,ImageFormat.Png)rn Response.ClearContent() '需要输出图象信息 要修改HTTP头rn Response.ContentType="image/Png"rn Response.BinaryWrite(ms.ToArray())rn g.Dispose()rn img.Dispose()rn Response.End()rnEnd Subrnrn在有些电脑上正常,但是某些电脑它就出错了。rn错误信息如下:rn“/”应用程序中的服务器错误。rn--------------------------------------------------------------------------------rnrn字体“Arial Black”不支持样式“Regular”。 rn说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 rnrn异常详细信息: System.ArgumentException: 字体“Arial Black”不支持样式“Regular”。rnrn源错误: rnrnrn行 18: img=new BitMap(Gheight,25)rn行 19: g=Graphics.FromImage(img)rn行 20: g.DrawString("SDVDE",(New Font("Arial",16)),(New SolidBrush(Color.Black)),3,3)'在矩形内绘制字串(字串,字体,画笔颜色,左上x.左上y)rn行 21: ms=New MemoryStream()rn行 22: img.Save(ms,ImageFormat.Png)rn rnrn源文件: E:\DotNet\TestAspX\gif.aspx 行: 20 rnrn堆栈跟踪: rnrnrn[ArgumentException: 字体“Arial Black”不支持样式“Regular”。]rn System.Drawing.Font.Initialize(FontFamily family, Single emSize, FontStyle style, GraphicsUnit unit, Byte gdiCharSet, Boolean gdiVerticalFont) +581rn System.Drawing.Font.Initialize(String familyName, Single emSize, FontStyle style, GraphicsUnit unit) +58rn System.Drawing.Font..ctor(String familyName, Single emSize) +35rn ASP.gif_aspx.ValidateCode(Object VNum) in E:\DotNet\TestAspX\gif.aspx:20rn ASP.gif_aspx.Page_Load(Object Sender, EventArgs e) in E:\DotNet\TestAspX\gif.aspx:9rn System.Web.UI.Control.OnLoad(EventArgs e) +67rn System.Web.UI.Control.LoadRecursive() +35rn System.Web.UI.Page.ProcessRequestMain() +731rnrn rn

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试

关闭