java修改JFrame默認字體方式
更新時間:2021年11月12日 09:46:35 作者:sinolzeng
這篇文章主要介紹了java修改JFrame默認字體方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
java修改JFrame默認字體
修改默認字體的方法很簡單。首先我們隨便寫一個按鈕出來:
import javax.swing.*;
public class Test{
static final int WIDTH = 300;
static final int HEIGHT = 200;
public static void main(String[] args){
JFrame jf = new JFrame();
jf.setVisible(true);
jf.setSize(WIDTH,HEIGHT);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel jp = new JPanel();
jf.setcontentPane(jp);
JButton jb = new JButton("確定");
jp.add(jb);
jf.pack();
}
}
接著我們可以加上這么一行:
UIManager.put("Button.font", new java.awt.Font("宋體", 0, 12));
開頭的import加上:
import javax.swing.UIManager;
這樣就可以改字體了。
字體類型和大小可以隨便改,只要電腦里有安裝就行了?!?”位置代表的是字體風格,一般不做修改。(如斜體、加粗等,要修改的話請自行查閱API……我也不太記得了。。)
不建議使用網(wǎng)上的個性字體,因為這樣做出來的軟件程序到別的電腦上用會產(chǎn)生字體方面的問題。而且盡量少用生僻字,以免某些字體庫里沒有收錄對應的字形。
自定義的字體可以進行一下封裝:(下面的部分摘自網(wǎng)絡)
public class FontClass {
public static void loadIndyFont() {
UIManager.put("CheckBox.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("Tree.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("Viewport.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("ProgressBar.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("RadioButtonMenuItem.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("FormattedTextField.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("ToolBar.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("ColorChooser.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("ToggleButton.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("Panel.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("TextArea.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("Menu.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("RadioButtonMenuItem.acceleratorFont", new java.awt.Font("宋體", 0, 12));
UIManager.put("Spinner.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("Menu.acceleratorFont", new java.awt.Font("宋體", 0, 12));
UIManager.put("CheckBoxMenuItem.acceleratorFont", new java.awt.Font("宋體", 0, 12));
UIManager.put("TableHeader.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("TextField.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("OptionPane.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("MenuBar.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("Button.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("Label.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("PasswordField.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("InternalFrame.titleFont", new java.awt.Font("宋體", 0, 12));
UIManager.put("OptionPane.buttonFont", new java.awt.Font("宋體", 0, 12));
UIManager.put("ScrollPane.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("MenuItem.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("ToolTip.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("List.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("OptionPane.messageFont", new java.awt.Font("宋體", 0, 12));
UIManager.put("EditorPane.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("Table.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("TabbedPane.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("RadioButton.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("CheckBoxMenuItem.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("TextPane.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("PopupMenu.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("TitledBorder.font", new java.awt.Font("宋體", 0, 12));
UIManager.put("ComboBox.font", new java.awt.Font("宋體", 0, 12));
}
然后我們只需要在我們想要使用的時候,加上一句:
FontClass.loadIndyFont();
就行了~
JFrame基本參數(shù)設置
import java.io.IOException;
import java.awt.Font;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JFrame;
import javax.swing.ImageIcon;
import javax.swing.UIManager;
import javax.imageio.ImageIO;
public class Frame implements WindowListener {
public static JFrame frame;
public Frame() {
initialize();
}
private void initialize(){
// 新建窗體
frame = new JFrame();
// 設置窗體自動調節(jié)大小
frame.pack();
// 設置窗體位置、大小
frame.setBounds(100, 100, 100, 100);
// 設置窗體是否可調節(jié)大小
frame.setResizable(false);
// 設置窗體布局
frame.getContentPane().setLayout(null);
// 設置窗體標題
frame.setTitle("Frame");
// 設置窗體字體
frame.setFont(new Font("黑體", Font.PLAIN, 17));
// 設置窗體在屏幕中央打開
frame.setLocationRelativeTo(null);
// 設置窗體默認關閉方式為退出程序
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 設置窗體圖標
frame.setIconImage(ImageIO.read(this.getClass().getResource("/priv/image/image.png")));
// 設置窗體觀感(皮膚/主題)
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
// 設置窗體是否可見
frame.setVisible(true);
// 添加 WindowListener
frame.addWindowListener(this);
}
/**
* @description 重寫 WindowListener
* @param e
*/
public void windowClosing(WindowEvent e) {
}
public void windowClosed(WindowEvent e) {
}
public void windowOpened(WindowEvent e) {
}
public void windowIconified(WindowEvent e) {
}
public void windowDeiconified(WindowEvent e) {
}
public void windowActivated(WindowEvent e) {
}
public void windowDeactivated(WindowEvent e) {
}
public static void main(String args[]) {
new Frame();
}
}
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
java字節(jié)碼框架ASM操作字節(jié)碼的方法淺析
這篇文章主要給大家介紹了關于java字節(jié)碼框架ASM如何操作字節(jié)碼的相關資料,文中通過示例代碼介紹的很詳細,有需要的朋友可以參考借鑒,下面來一起看看吧。2017-01-01

