java - 在 jtextarea java 中更改字体时出错
问题描述
我在更改 Jtextarea 中的字体时遇到了问题,我有 2 个视图(WidowsP
, TypeJava
)、2 个控制器(Controler
、Controler2
)和一个模型。在这种情况下,当我更改组件发送错误的字体时,我的问题出在 jtextarea 中:
线程“AWT-EventQueue-0”中的异常 java.lang.NullPointerException
在我的主要观点windowP
中,我有以下组件:
Jtextarea = areatexto;
JmenuItem = Jopcions;
我的模型代码是:
public void fueltypes(JComboBox numbers,String[] Fonts, JComboBox list){
for(int i =10;i<=30;i++){
numbers.addItem(i);
}
for(String font : Fonts){
list.addItem(font);
}
}
public void changuefont(JTextArea area,String Fonts, int Size ){
Font f = new Font(Fonts,Font.PLAIN,Size);
area.setFont(f);
}
在控制器 2 上我有这个代码,因为在表单中我只有 3 个项目 jcombobox1 = 名称字体,jcombobox2 = 大小,我要更改代码的唯一按钮部分是:
private TypeJava type;
private Window view;
private Modelo model;
private String Fonts[] = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
public controlador2(TypeJava b,Modelo m){
this.type = b;
this.model = m;
this.type.JMod.addActionListener(this);
this.type.jComboBox1.addActionListener(this);
model.fueltypes(type.jComboBox2,Fonts,type.jComboBox1);
}
@Override
public void actionPerformed(ActionEvent e) {
//throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
if(e.getSource()== this.type.JMod){
model.changuefont(view.areaTexto,
type.jComboBox1.getSelectedItem().toString(),
Integer.parseInt(type.jComboBox2.getSelectedItem().toString()));
}
}
解决方案
推荐阅读
- java - 为什么选择 ResponseEntity
是通用的吗? - javascript - 如何将 onclick 事件添加到 Next.js 中的字符串呈现按钮?
- python - Plotly Express 热图无法正常工作
- r - 提取R数据框中除数字外的所有列
- python - Python:如何在下一个不同的字符串重复出现时搜索字符串并打印
- android - 如何有效地显示来自 URL 的图像
- c++ - 在 Xcode 中构建和运行 C+/Juce 项目时在哪里定义程序入口点?
- node.js - Feathers js - 谷歌登录导致删除现有用户
- python - discord.ext.commands.errors.CommandInvokeError:命令引发异常:NameError:未定义名称'open_account'
- r - R:具有合并功能的不等连接