第一個代碼打印字符串m
當m
更改時, 但當我刪除第二個代碼中顯示的第一個if語句時,我無法在它更改時打印m。 該程序的代碼如下。實施動作偵聽器接口
碼1
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class firstgui extends JFrame implements ActionListener{
private JTextArea textarea;
private JTextField textfield;
static String m="bye";
firstgui() {
setLayout(new FlowLayout());
textfield = new JTextField(20);
add(textfield);
textarea = new JTextArea(5,20);
add(textarea);
textfield.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
String text= textfield.getText();
m=text;
textarea.append("aman: " + text + "\n");
textfield.setText("");
}
public static void main(String args[])
{ int t=0;
firstgui a = new firstgui();
a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
a.setVisible(true);
a.setTitle("gui");
a.pack();
while(true)
{
if(m.equals("bye"))
{
System.out.println(m);
}
if(!(m.equals("bye")))
System.out.println(m);
}
}
}
碼2
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class firstgui extends JFrame implements ActionListener{
private JTextArea textarea;
private JTextField textfield;
static String m="bye";
firstgui() {
setLayout(new FlowLayout());
textfield = new JTextField(20);
add(textfield);
textarea = new JTextArea(5,20);
add(textarea);
textfield.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
String text= textfield.getText();
m=text;
textarea.append("aman: " + text + "\n");
textfield.setText("");
}
public static void main(String args[])
{ int t=0;
firstgui a = new firstgui();
a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
a.setVisible(true);
a.setTitle("gui");
a.pack();
while(true)
{
if(!(m.equals("bye")))
System.out.println(m);
}
}
}
你真的有問題嗎? –
你應該向你的問題的讀者明確你的代碼的實際結果是什麼以及預期的結果是什麼。 – gus27