发现JAVA图形化编程的一个问题:不能有死循环! 图形界面控件java编程 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 package com.util;import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JDialog;import javax.swing.JOptionPane;import javax.swing.JTextField;public class WhileLoop extends JDialog{ WhileLoop(){ final int start = 0 ; this.setSize(400, 300); final JTextField text = new JTextField(); JButton button = new JButton("提交"); this.add(text, BorderLayout.NORTH); this.add(button, BorderLayout.SOUTH); this.setLocationRelativeTo(null); this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); this.setVisible(true); button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if (null != text.getText()) { // TODO Auto-generated method stub for (int i = 0; i <= start + 1; i++) { System.out.println(text.getText()); i=0; } }else{ JOptionPane.showMessageDialog(null, "text不能为空!"); return; } } }); } public static void main(String[] args) { new WhileLoop(); }} 3楼的朋友可能没明白我的意思。我不是让它在控制台无限输出。我是让它在JTextArea里无限输出。 button点击事件的响应应该用线程(Thread)处理public void actionPerformed(ActionEvent e) {new Runnable( new Thread(){ public void run() { textfca.setText( textfca.getText()+"ABC"); } }).start();} 这个是因为UI的绘制都是单线程的,无论什么开发语言都一样,一般会新起线程去处理耗时的操作,然后通过事件通知进行回调绘制UI。 请各位大侠帮帮忙,马上就要交了~万分感谢 质疑接口的做法,为什么方法一定要全部实现,才能实现接口?? JTable拖拽表头 recv failed 网页内嵌applet中弹出新窗口时的焦点问题!! MIS系统要JAVA实现的话,一般都会怎么实现? 急问!!! 请问:如何将int型(ascii值)转换为char型呢? 请帮我看一下程序问题出在哪里?(小程序) 关于构件激发AWT事件 servlet注册与映射运行问题 java中抛出的异常无法被捕获到,究竟是为啥,有高手来解答否
package com.util;import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JOptionPane;
import javax.swing.JTextField;public class WhileLoop extends JDialog{
WhileLoop(){
final int start = 0 ;
this.setSize(400, 300);
final JTextField text = new JTextField();
JButton button = new JButton("提交");
this.add(text, BorderLayout.NORTH);
this.add(button, BorderLayout.SOUTH);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
this.setVisible(true);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (null != text.getText()) {
// TODO Auto-generated method stub
for (int i = 0; i <= start + 1; i++) {
System.out.println(text.getText());
i=0;
}
}else{
JOptionPane.showMessageDialog(null, "text不能为空!");
return;
}
}
});
}
public static void main(String[] args) {
new WhileLoop();
}
}
我不是让它在控制台无限输出。我是让它在JTextArea里无限输出。
public void actionPerformed(ActionEvent e) {
new Runnable( new Thread(){
public void run() {
textfca.setText( textfca.getText()+"ABC");
}
}).start();
}