У меня были проблемы с изменением шрифта в 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()));
}
}