java吧 关注:1,236,146贴子:12,706,771
  • 9回复贴,共1

新手问问题

收藏回复

关于开关问题 怎么实现??boolean start 怎么用?作用范围是怎样?下面要怎么改才能打出开始?谢谢。。。自学一旧云。。
public class sasdsd extends JFrame implements ActionListener {
JButton jButton;
boolean start=false;
public static void main(String[] args) {
sasdsd aSasdsd=new sasdsd();
aSasdsd.name();
}
public void name() {
jButton=new JButton("确定");
jButton.addActionListener(this);
this.add(jButton);
this.setSize(100, 100);
setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
System.out.println(this.start);
if (start) {
System.out.println("开始");
}
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==jButton){
start=true;
System.out.println(this.start);
}
}
}



IP属地:广东1楼2012-01-13 23:32回复
    把if (start) { System.out.println("开始"); } 移到actionPerformed方法里去撒


    2楼2012-01-13 23:39
    回复
      不是,我意思是想做一个开关效果。。不会做。有时可以有时不行。。不知道怎么回事,,可能原理不懂。。先谢谢


      IP属地:广东3楼2012-01-13 23:47
      回复
        public void actionPerformed(ActionEvent e) {
        if (e.getSource() == jButton) {
        start = !start;
        System.out.println(this.start);
        }
        if (start) { System.out.println("开始"); }
        }
        是这种么,你把效果描述下


        4楼2012-01-13 23:59
        回复
          就是类似游戏开始是 重绘paint 以点按钮就画东西那样


          IP属地:广东5楼2012-01-14 00:20
          回复
            没看出你要画什么。。。


            IP属地:福建6楼2012-01-14 11:15
            回复
              你好,我就是想问问就像下面的,问什么线程的能打出“生产者等待”,直接调用不能打出?
              public class gaoxiao {
              public static void main(String[] args) {
              for (int i = 1; i < 5; i++) {
              new che().gut(i);
              Queue q=new Queue();
              Get get=new Get(q);
              get.start();
              }
              }
              } class che{
              int value=0;
              boolean isEmpty=true;
              public void gut(int v) {
              if (!isEmpty) {
              try {
              System.out.println("生产者等待");
              System.exit(0);
              } catch (Exception e) {
              e.printStackTrace();
              }
              }
              isEmpty=false;
              System.out.println("生产者共生产数量"+v);
              } }
              class Get extends Thread{
              Queue q;
              public Get(Queue q) {
              this.q=q;
              }
              public void run(){
              for (int i = 1; i < 5; i++) {
              q.put(i);
              }
              } } class Queue{
              int value=0;
              boolean isEmpty=true;
              public void put(int v) {
              if (!isEmpty) {
              try {
              System.out.println("生产者等待");
              System.exit(0);
              } catch (Exception e) {
              e.printStackTrace();
              }
              }
              isEmpty=false;
              System.out.println("生产者共生产数量"+v);
              } }
              


              IP属地:广东7楼2012-01-14 12:44
              回复
                我也匿名


                IP属地:河南8楼2012-01-14 12:45
                回复
                  求解答,谢谢各位


                  IP属地:广东9楼2012-01-14 14:20
                  回复
                    上面for循环括号括在new che().gut(i);
                    }哪里搞错了


                    IP属地:广东10楼2012-01-14 15:02
                    回复