java swt swing-tf.setBounds(80,90, 200, 200); 把90改成91试试

问题描述

tf.setBounds(80,90, 200, 200); 把90改成91试试

import java.awt.*;
import java.awt.event.*;
import java.util.Random;

import javax.swing.*;

public class Three extends JFrame implements ActionListener{

/**
 *
 */
private static final long serialVersionUID = -8560277451929244119L;
JTextField tf = new JTextField();
JButton b1 = new JButton("开始");
JButton b2 = new JButton("停止");
JButton b3 = new JButton("END");
boolean isGo = false;

public Three() {
    this.getContentPane().setLayout(null);
    this.setExtendedState(JFrame.MAXIMIZED_BOTH);

    tf.setBounds(80,90, 200, 200);
    b1.setBounds(1,100,10,10);
    b2.setBounds(1,200,10,10);
    b3.setBounds(1,300,10,10);

    this.getContentPane().add(tf);
    this.getContentPane().add(b1);
    this.getContentPane().add(b2);
    this.getContentPane().add(b3);

    b1.addActionListener(this);
    b2.addActionListener(this);
    b3.addActionListener(this);

    SymListener sy = new SymListener();
    b1.registerKeyboardAction(sy,KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW);
    b2.registerKeyboardAction(sy,KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW);
    b3.registerKeyboardAction(sy,KeyStroke.getKeyStroke(KeyEvent.VK_Q, 0), JComponent.WHEN_IN_FOCUSED_WINDOW); 

    b2.setEnabled(false);

    this.setVisible(true);
    tf.setText("888888");
    go();

}    

public void go() {
    while (true) {
        if (isGo == true) {
            String s = "";

            for (int j = 1; j <= 1; j++) {
                int i = (int) (Math.random()*10000+1);//设定奖项总数
                if (i < 10) {
                    s = s + "00000" + i;
                } else if(i<100 & i>=10)
                {
                    s = s + "0000" + i;
                }else if(i<1000 & i>=100)
                {
                    s = s + "000" + i;
                }else if(i<10000 & i>=1000)
                {
                    s = s + "00" + i;
                }else if(i<100000 & i>=10000)
                {
                    s = s + "0" + i;
                }else
                {
                    s = s +  i;
                }

            }
            tf.setText(s);

        }

        try {
            Thread.sleep(10);
        } catch (java.lang.InterruptedException e) {
            e.printStackTrace();
        }

    }

}

public void actionPerformed(ActionEvent e) {

}

public static void main(String[] args)  {

    new Three();

}
class SymListener implements ActionListener {
    public void actionPerformed(ActionEvent e) {
    Object obj = e.getSource();

    if (obj == b1) {
            isGo = true;
            b1.setEnabled(false);
            b2.setEnabled(true);
    } else if (obj == b2) {
        isGo=false;
        b2.setEnabled(false);
        b1.setEnabled(true);

    }else if (obj == b3) {
        dispose();

    }
    }
    }

}

解决方案

我为什么要改呢?为什么呢?

解决方案二:

改后在按空格 看数字变不变 为什么不变了。 BUG吗? 如果把 KeyEvent.VK_SPACE, 换成别的快捷键就没问题

解决方案三:

修改一
 //b1.registerKeyboardAction(sy,KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW); //搜索这句,然后注释,增加下面,其他按钮也可以一样处理
 b1.getInputMap(JComponent.WHEN_FOCUSED).put(
         KeyStroke.getKeyStroke((char)KeyEvent.VK_SPACE), "PressKeyAction");
   b1.getActionMap().put("PressKeyAction", new AbstractAction() {
        public void actionPerformed(ActionEvent e) {
            isGo = true;
               b1.setEnabled(false);
               b2.setEnabled(true);
        }
       });
修改二
this.setVisible(true);
    tf.setText("888888");//搜索这句

    b1.requestFocus();//增加获取焦点
时间: 2024-09-19 05:36:38

java swt swing-tf.setBounds(80,90, 200, 200); 把90改成91试试的相关文章

setbounds- tf.setBounds(80, 200,200,200); 竖座标超过80 程序不运行

问题描述 tf.setBounds(80, 200,200,200); 竖座标超过80 程序不运行 import java.awt.*; import java.awt.event.*; import java.util.Random; import javax.swing.*; public class Three extends JFrame implements ActionListener, Runnable { /** * */ private static final long se

java 的swing的一个问题,有关滚动条的 jscrollpane

问题描述 java 的swing的一个问题,有关滚动条的 jscrollpane 我在一个面板上面放上了许多jpanel多到屏幕放不下,就是多余的部分显示不了,jframe和jpanel都试过了,然后我想到用一个滚动条可以使所有的内容都可以看到,但是我使用了jscrollpane和jscrollbar都没有做好,结果是窗体的内容全部都看不见了,,那这个滚动条该怎么加入,用哪个, 解决方案 JTextArea area = new JTextArea();JScrollPane scrollPan

Java基于Swing实现的打猎射击游戏代码_java

本文实例讲述了Java基于Swing实现的打猎射击游戏代码.分享给大家供大家参考. 具体实现代码如下: 复制代码 代码如下: package Game; import java.awt.Graphics; import java.awt.Image; import javax.swing.JPanel; public class BackgroundPanel extends JPanel {         private static final long serialVersionUID

java基于swing实现的五子棋游戏代码_java

本文实例讲述了java基于swing实现的五子棋游戏代码.分享给大家供大家参考. 主要功能代码如下: 复制代码 代码如下: import java.awt.*; import javax.swing.*; import java.awt.event.*; public class Main extends JFrame implements ActionListener{         private static final long serialVersionUID = 1L;      

java基于swing实现的连连看代码_java

本文实例讲述了java基于swing实现连连看代码.分享给大家供大家参考. 主要功能代码如下: 复制代码 代码如下: package llkan; import javax.swing.*; import java.awt.*; import java.awt.event.*; /**  * 连连看游戏  * @author Administrator  *2014年10月17日  */ public class MainGame implements ActionListener {     

用java的swing做图形界面开发

问题描述 我发现网上与这个有关的东西都很少啊,这个是不是很冷门啊?做这个是不是没什么前途?我是在校的大学生,对java比较感兴趣,但是学完简单的语法后都不知道该做什么好,请各位前辈指一下路哈,谢谢. 解决方案 不是.主要是J2SE这方面做得人很少了.现在Java主要都是JavaWEB.做J2SE的都跑Android去了.做J2SE的看不起J2EE的.大都这样呵呵~~~Java Swing主要是效率比较低,所以用得人很少做图形界面的话C++和C比起Java来有着绝对的优势,而且Java Swing

求大神回答 java的swing题目

问题描述 求大神回答 java的swing题目 1.创建项目Lab37,添加类MainFrame,继承自JFrame,实现ActionListener接口. 2.添加以下成员属性 a)JTree类型的treeDir b)String类型的dirName c)JSplitPane类型的sp d)JTable类型的fileInfo 3.构造方法 a)设置标题为"文件信息查看器" b)创建工具栏,并添加一个"打开"按钮.注册按钮事件监听对象为this c)构造一个只有一个

java 视图 坐标-java.swt 视图,坐标

问题描述 java.swt 视图,坐标 已知很多点的坐标,用java把点显示出来,并且重复越多的点显示的颜色越深

java myecl...-java的swing问题,各位大神,求解啊

问题描述 java的swing问题,各位大神,求解啊 java的swing用多表查询怎样使多个表中的数据在同一个窗体中显示出来? 解决方案 用监听器传就好了,设置多个Jpanel 用Layout布置好界面不就好了 解决方案二: 整合数据,然后绑定到gridview 解决方案三: 蚁群算法的Java实现求解TSP问题