Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中更改字体类型而不是大小?_Java_User Interface_Fonts - Fatal编程技术网

如何在java中更改字体类型而不是大小?

如何在java中更改字体类型而不是大小?,java,user-interface,fonts,Java,User Interface,Fonts,到目前为止,我在java中学习更改文本字体的唯一方法是使用新字体(字体名称、font.PLAIN、font size),我想知道是否有一种方法可以简单地更改字体类型,而不影响它的任何其他方面。这是因为我希望能够使用一种方法更改GUI所有组件的字体类型,该方法使用程序设置部分组合框中的输入,返回所有组件并搜索其确切字体大小将是一件痛苦的事情。您可以使用deriveFont(style)以新样式更改字体。这将创建一个新的字体对象。如果有许多具有不同字体大小的组件,请在创建时在每个组件(显示文本)上注

到目前为止,我在java中学习更改文本字体的唯一方法是使用新字体(字体名称、font.PLAIN、font size),我想知道是否有一种方法可以简单地更改字体类型,而不影响它的任何其他方面。这是因为我希望能够使用一种方法更改GUI所有组件的字体类型,该方法使用程序设置部分组合框中的输入,返回所有组件并搜索其确切字体大小将是一件痛苦的事情。

您可以使用deriveFont(style)以新样式更改字体。这将创建一个新的字体对象。

如果有许多具有不同字体大小的组件,请在创建时在每个组件(显示文本)上注册PropertyChangeListener。然后,侦听器的propertyChange()方法应获取源的字体,并使用deriveFont()对其进行更改,以创建新样式的字体。

请参阅font.deriveFontWhat front end library?由于这可能会有所不同,这取决于您使用的库。但这并不能解决他在保留所有组件大小的同时更改所有组件样式的问题(假设不同组件中可能有不同的大小)