java 如何设置文本大小,Java Swing - 如何在JEditorPane中设置选定文本的字体大小使用JComboBox...

import java.awt.BorderLayout;

import java.awt.Dimension;

import javax.swing.Action;

import javax.swing.JComboBox;

import javax.swing.JEditorPane;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.text.BadLocationException;

import javax.swing.text.DefaultStyledDocument;

import javax.swing.text.Document;

import javax.swing.text.StyledDocument;

import javax.swing.text.StyledEditorKit;

public class Main extends JPanel {

Integer[] ITEMS = { 9, 10, 11, 12, 14, 16, 18, 20, 24, 32 };

JEditorPane editorPane = new JEditorPane();

JComboBox fontBox = new JComboBox(ITEMS);

StyledDocument doc = new DefaultStyledDocument();

StyledEditorKit styledEditorKit = new StyledEditorKit();

public Main() {

editorPane.setDocument(doc);

editorPane.setEditorKit(styledEditorKit);

JScrollPane scrollpane = new JScrollPane(editorPane);

scrollpane.setPreferredSize(new Dimension(500, 400));

JPanel comboPanel = new JPanel();

comboPanel.add(fontBox);

setLayout(new BorderLayout());

add(scrollpane, BorderLayout.CENTER);

add(comboPanel, BorderLayout.SOUTH);

Document doc = editorPane.getDocument();

for (int i = 0; i < 20; i++) {

int offset = doc.getLength();

String str = "This is line number: " + i + "\n";

try {

doc.insertString(offset, str, null);

} catch (BadLocationException e) {

e.printStackTrace();

}

}

fontBox.addActionListener(e -> {

int size = (Integer) fontBox.getSelectedItem();

Action fontAction = new StyledEditorKit.FontSizeAction(String

.valueOf(size), size);

fontAction.actionPerformed(e);

});

}

public static void main(String[] args) {

JFrame frame = new JFrame();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.getContentPane().add(new Main());

frame.pack();

frame.setVisible(true);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值