-2
이 경우 뭔가 (xx)를 입력했지만 메시지를 인쇄하지 않을 때 메시지를 보내는 프로그램을 작성하려고했습니다. 왜 그런 일이 일어 났는지 말해 주실 수 있습니까? 입력 할 때 코드가 xx와 같은지 확인했습니다.DocumentListener가 메시지를 인쇄하지 않습니다.
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)
{
}
}
}
링크 없음. 우리는 자원 봉사자이므로 좀 더 쉽게 도와 줄 수 있도록 약간의 노력을 기울여야합니다. 링크에서 코드를로드했지만 읽을 수 있도록 서식을 지정해야합니다. 다시 한 번이 질문에 넣어야합니다. –