Java DocumentListener是';不要打印消息

Java DocumentListener是';不要打印消息,java,swing,listener,jtextfield,Java,Swing,Listener,Jtextfield,我试着写一个程序,当在本例中输入(xx)时,它会给我一条消息,但它不会打印消息。你能告诉我为什么会这样吗? 我还检查了代码,当我键入它时,它是否等于xx,它是 import javax.swing.*; import java.awt.*; import javax.swing.text.*; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; class acc { public

我试着写一个程序,当在本例中输入(xx)时,它会给我一条消息,但它不会打印消息。你能告诉我为什么会这样吗? 我还检查了代码,当我键入它时,它是否等于xx,它是

import javax.swing.*;
import java.awt.*;
import javax.swing.text.*;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
class acc
{
public static void main(String[] args)
{
ramka ramka = new ramka();
panel panel1 = new panel();
ramka.show();
ramka.add(panel1);
}
}
class ramka extends JFrame
{ 
 public ramka()
 {
  setSize(800, 600);   
  setTitle("Super duper programer");
  Container kontener = getContentPane();
  textfield pole = new textfield();
  kontener.add(pole);
  setDefaultCloseOperation(EXIT_ON_CLOSE);  
  sluchacz listener = new sluchacz();
  pole.getDocument().addDocumentListener(listener);
 } 
}
class panel extends JPanel
{
 public void paintComponent(Graphics g)   
 {
  super.paintComponent(g);
 }
}
class textfield extends JTextField
{ 
}
class sluchacz implements DocumentListener 
{
  @Override
  public void changedUpdate(DocumentEvent e)
  {} 
  @Override
    public void removeUpdate(DocumentEvent e){}
  @Override
      public void insertUpdate(DocumentEvent e) 
          {
          try
          {
         String input = e.getDocument().getText(0, e.getDocument().getLength()).trim();
if(input == "xx")
{
    String message = JOptionPane.showInputDialog("You've just typed ''xx''");
}
    }
     catch(BadLocationException ex)
     {   
     }
          }
}

您的问题可能在这里:

if(input == "xx")

不要使用
==
检查字符串是否相等。使用
.equals(…)

请不要链接。我们是志愿者,所以你需要付出一点努力,让帮助你变得更容易。我已经从链接中加载了您的代码,但您需要对其进行格式化以使其可读——这也是您应该在这个问题上付出的更多努力。谢谢,这就是问题所在:)