Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在复选框中获取错误_Java_Swing_Exception_Fonts - Fatal编程技术网

Java 在复选框中获取错误

Java 在复选框中获取错误,java,swing,exception,fonts,Java,Swing,Exception,Fonts,我对Java非常陌生。我试着创建一个复选框程序,在单击时将斜体和粗体文本显示出来。我已完成编码,但出现错误,不知道如何解决。以下是我的代码: import javax.swing.JFrame; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class checkboxes extends JFrame { private JTextField tf; private JCheckBox bol

我对Java非常陌生。我试着创建一个复选框程序,在单击时将斜体和粗体文本显示出来。我已完成编码,但出现错误,不知道如何解决。以下是我的代码:

import javax.swing.JFrame;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class checkboxes extends JFrame {

private JTextField tf;
private JCheckBox boldbox;
private JCheckBox italicbox;

public checkboxes(){

    super("This is a checkbox");
    setLayout(new FlowLayout());

    tf = new JTextField("This is a text",20);
    tf.setFont=(new Font("Serif",Font.PLAIN,14));
    add(tf);
    boldbox = new JCheckBox("Bold text");
    italicbox = new JCheckBox("Italicize Text");
    add(boldbox);
    add(italicbox);


    HandlerClass handler = new HandlerClass();
    boldbox.addItemListener(handler);
    italicbox.addItemListener(handler);
}

private HandlerClass implements ItemListener{

    public void itemStateChanged(ItemEvent event){
        Font font = null;

        if(boldbox.isSelected() && italicbox.isSelected())
            font = new Font("Serif",Font.BOLD+Font.ITALIC,14);
        else if(boldbox.isSelected())
            font = new Font("Serif",Font.BOLD,14);
        else if(italicbox.isSelected())
            font = new Font("Serif",Font.ITALIC,14);
        else
            font = new Font("Serif",Font.PLAIN,14);
        tf.setFont(font);
        }
}   }   
我在这行中遇到错误:

tf.setFont=(new Font("Serif",Font.PLAIN,14));
错误显示: setFont无法解析或不是字段


请告诉我代码中有什么错误。谢谢。

更改此
tf.setFont=(新字体(“Serif”,Font.PLAIN,14))

tf.setFont(new Font("Serif",Font.PLAIN,14));

因为
JTextField#setFont()
是一种方法,您不能在其上使用赋值运算符

应该是,下面是将参数传递给方法的有效方法

tf.setFont(new Font("Serif",Font.PLAIN,14));
当你说


tf.setFont=
Java假设
tf
setFont
公共字段,而它(
JTextField
)没有公共字段

谢谢@R.J。它帮助了我。如果有助于解决问题,请给出答案。这个问题似乎离题了,因为它涉及一个非常基本的语法错误,因此在未来不太可能帮助任何人。