怎样可以让程序停下来等待一个按钮被鼠标点? 如题,我想做个向导形式的窗口,有前进后退的按钮,但是我发现程序不会等我按过按钮才接着往下走..请问应该怎么办? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个有很多方法,我这里说一种,设置一个变量state,用来表示你的程序现在运行到哪个部分,点下一步,那么就state++,然后根据state的值执行一部分代码,点上一步,就state--,然后根据state的值执行一部分代码。我举个简单的例子。import java.awt.* ;import javax.swing.* ;import java.awt.event.* ;public class Test extends JFrame{ private JButton b_next = null ; private JButton b_prv = null ; private int state = 0 ; private JLabel display = null ; public Test{ //set frame this.setSize(300 , 400) ; this.setLocation(200 , 200) ; //components b_next = new JButton("下一步") ; b_prv = new JButton("上一步") ; b_next.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ state++ ; excuteState(state) ; } }) ; b_prv.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ state-- ; excuteState(state) ; } }) ; display = new JLabel("这里显示后台程序运行的进度") ; //button panel JPanel p_button = new JPanel() ; p_button.setLayout(new GridLayout(1 , 2)) ; p_button.add(b_prv) ; p_button.add(b_next) ; //add this.setLayout(new BorderLayout()) ; this.add(display , BorderLayout.CENTER) ; this.add(p_button , BorderLayout.SOUTH) ; } public static void main(String args[]){ new Test().setVisible(true) ; } public void excuteState(int state){ switch (state) { case 1: display.setText("程序运行第一部分") ; break; case 2: display.setText("程序运行第二部分") ; break; case 3: display.setText("程序运行第三部分") ; break; case 4: display.setText("程序运行第四部分") ; break; case 5: display.setText("程序运行第五部分") ; break; default : display.setText("程序运行了未知部分") ; return ; } }} 太谢谢了!我没想过把switch放到一个单独的方法里,呵呵.. 太谢谢了!我没想过把switch放到一个单独的方法里,呵呵.. 怎样统计一段英文短文的英文字母的个数 帮忙分析一下这段代码哪里错了 输出流的小问题 递回判断一个字符串是否是回文 请问界面设计 java怎么用? java操作数据库的问题!!!!!!!急急急!! 讨论:JDBC中Connection,Statement,ResultSet的关系? 这个"."怎么解释? 希望各位大侠不吝赐教 java的一个问题 刚学编程菜鸟发问
我举个简单的例子。
import java.awt.* ;
import javax.swing.* ;
import java.awt.event.* ;public class Test extends JFrame{
private JButton b_next = null ;
private JButton b_prv = null ;
private int state = 0 ;
private JLabel display = null ;
public Test{
//set frame
this.setSize(300 , 400) ;
this.setLocation(200 , 200) ;
//components
b_next = new JButton("下一步") ;
b_prv = new JButton("上一步") ;
b_next.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
state++ ;
excuteState(state) ;
}
}) ;
b_prv.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
state-- ;
excuteState(state) ;
}
}) ;
display = new JLabel("这里显示后台程序运行的进度") ;
//button panel
JPanel p_button = new JPanel() ;
p_button.setLayout(new GridLayout(1 , 2)) ;
p_button.add(b_prv) ;
p_button.add(b_next) ;
//add
this.setLayout(new BorderLayout()) ;
this.add(display , BorderLayout.CENTER) ;
this.add(p_button , BorderLayout.SOUTH) ;
}
public static void main(String args[]){
new Test().setVisible(true) ;
}
public void excuteState(int state){
switch (state) {
case 1:
display.setText("程序运行第一部分") ;
break;
case 2:
display.setText("程序运行第二部分") ;
break;
case 3:
display.setText("程序运行第三部分") ;
break;
case 4:
display.setText("程序运行第四部分") ;
break;
case 5:
display.setText("程序运行第五部分") ;
break;
default :
display.setText("程序运行了未知部分") ;
return ;
}
}
}