永发信息网

做一个java程序

答案:1  悬赏:60  手机版
解决时间 2021-03-27 03:51
  • 提问者网友:雨不眠的下
  • 2021-03-27 00:23
做一个java程序
最佳答案
  • 五星知识达人网友:持酒劝斜阳
  • 2021-03-27 01:42
代码如下:
import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.event.*;

import javax.swing.*;

public class App extends JFrame implements ActionListener {

private static final long serialVersionUID = 1L;

private JTextArea textArea;

private JRadioButtonMenuItem songMenuItem;

private JRadioButtonMenuItem kaiMenuItem;

private JRadioButtonMenuItem heiMenuItem;

private JCheckBoxMenuItem plainMenuItem;

private JCheckBoxMenuItem boldMenuItem;

private JCheckBoxMenuItem italicMenuItem;

private JCheckBoxMenuItem readonlyMenuItem;

public App() {

this.setSize(800, 600);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

initMenu();

textArea = new JTextArea();
this.add(textArea, BorderLayout.CENTER);
}

private void initMenu() {

JMenuBar menuBar = new JMenuBar();
this.setJMenuBar(menuBar);

JMenu settingMenu = new JMenu("设置");
menuBar.add(settingMenu);

JMenuItem exitMenuItem = new JMenuItem("退出");
exitMenuItem.addActionListener(this);
settingMenu.add(exitMenuItem);

JMenu operationMenu = new JMenu("操作");
menuBar.add(operationMenu);

JMenu fontMenu = new JMenu("字体");
operationMenu.add(fontMenu);

songMenuItem = new JRadioButtonMenuItem("宋体");
songMenuItem.addActionListener(this);
fontMenu.add(songMenuItem);

kaiMenuItem = new JRadioButtonMenuItem("楷体");
kaiMenuItem.addActionListener(this);
fontMenu.add(kaiMenuItem);

heiMenuItem = new JRadioButtonMenuItem("黑体");
heiMenuItem.addActionListener(this);
fontMenu.add(heiMenuItem);

JMenu styleMenu = new JMenu("风格");
operationMenu.add(styleMenu);

plainMenuItem = new JCheckBoxMenuItem("普通");
plainMenuItem.addActionListener(this);
styleMenu.add(plainMenuItem);

boldMenuItem = new JCheckBoxMenuItem("粗体");
boldMenuItem.addActionListener(this);
styleMenu.add(boldMenuItem);

italicMenuItem = new JCheckBoxMenuItem("斜体");
italicMenuItem.addActionListener(this);
styleMenu.add(italicMenuItem);

readonlyMenuItem = new JCheckBoxMenuItem("只读");
readonlyMenuItem.addActionListener(this);
operationMenu.add(readonlyMenuItem);
}

@Override
public void actionPerformed(ActionEvent e) {

switch (e.getActionCommand()) {

case "退出":
this.dispose();
break;

case "宋体": {
Font font = textArea.getFont();
textArea.setFont(new Font("宋体", font.getStyle(), font.getSize()));
kaiMenuItem.setSelected(false);
heiMenuItem.setSelected(false);
break;
}

case "楷体": {
Font font = textArea.getFont();
textArea.setFont(new Font("楷体", font.getStyle(), font.getSize()));
songMenuItem.setSelected(false);
heiMenuItem.setSelected(false);
break;
}

case "黑体": {
Font font = textArea.getFont();
textArea.setFont(new Font("黑体", font.getStyle(), font.getSize()));
kaiMenuItem.setSelected(false);
songMenuItem.setSelected(false);
break;
}

case "普通": {
Font font = textArea.getFont();
textArea.setFont(new Font(font.getFontName(), Font.PLAIN, font.getSize()));
boldMenuItem.setSelected(false);
italicMenuItem.setSelected(false);
break;
}

case "粗体": {
Font font = textArea.getFont();
int style = font.getStyle();
style = boldMenuItem.isSelected() ? (style | Font.BOLD) : (style & ~Font.BOLD);
textArea.setFont(new Font(font.getFontName(), style, font.getSize()));
plainMenuItem.setSelected(false);
break;
}

case "斜体": {
Font font = textArea.getFont();
int style = font.getStyle();
style = italicMenuItem.isSelected() ? (style | Font.ITALIC) : (style & ~Font.ITALIC);
textArea.setFont(new Font(font.getFontName(), style, font.getSize()));
plainMenuItem.setSelected(false);
break;


case "只读": {
textArea.setEditable(!readonlyMenuItem.isSelected());
break;
}
}
}

public static void main(String[] args) {
new App().setVisible(true);
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯