如下代码,swing的使用部分,用一个JDialog去实现一个小程序,但是每次运行都提示有错误,如果非要执行也能执行,程序运行也没错,求高手解答为什么会提示错误。import java.lang.reflect.Array;
import java.util.Scanner;
import java.awt.*;
import java.awt.event.*;import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JTextField;public class practice
{
public static void main(String[] args)
{
My m=new My();
}
}
class My extends JFrame implements ActionListener
{
JButton b;
JTextField t;
JDialog d;
public My()
{
b=new JButton("猜一个随机数~");
t=new JTextField();
b.addActionListener(this);
// setSize(200,200);
// setBackground(Color.pink);
// setSize(400,400);
d=new JDialog(this,"34",true);
// d.setBackground(Color.pink);
d.setBounds(200, 200, 200, 200);
d.add("South",b);
d.add("North",t);
d.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(b.getActionCommand().equals("猜一个随机数~"))
{
String s=t.getText();
int a=(int)(Math.random()*6+1);
int x=Integer.parseInt(s);
if(x==a)
{
this.dispose();
}
if(x<a)
{
t.setText("小了");
}
if(x>a)
{
t.setText("大了");
}
}
}
}
import java.util.Scanner;
import java.awt.*;
import java.awt.event.*;import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JTextField;public class practice
{
public static void main(String[] args)
{
My m=new My();
}
}
class My extends JFrame implements ActionListener
{
JButton b;
JTextField t;
JDialog d;
public My()
{
b=new JButton("猜一个随机数~");
t=new JTextField();
b.addActionListener(this);
// setSize(200,200);
// setBackground(Color.pink);
// setSize(400,400);
d=new JDialog(this,"34",true);
// d.setBackground(Color.pink);
d.setBounds(200, 200, 200, 200);
d.add("South",b);
d.add("North",t);
d.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(b.getActionCommand().equals("猜一个随机数~"))
{
String s=t.getText();
int a=(int)(Math.random()*6+1);
int x=Integer.parseInt(s);
if(x==a)
{
this.dispose();
}
if(x<a)
{
t.setText("小了");
}
if(x>a)
{
t.setText("大了");
}
}
}
}
解决方案 »
- Java计算器无法计算小数之间的运算
- 安装jre后,控制面板中没有java plug-in图标
- java基础问题疑惑
- 用spring做队列 高手来~~~~
- 关于applet 的问题。
- [求助]关于定时执行任务
- 如何解释Collection plantes=new ArrayList(),我不太明白,请点拨!
- 在异常处理中,如果把一句绝对不会抛出异常的语句用try{}catch(){},会用什么反映?进来看看这个例子
- 我的JInternalFrame为什么不出来????45分!!!!!!!!!!!
- 关于JAVAMAIL的问题
- 求助:文本框监听事件的问题
- java中的方法以及println和print的差别
at sun.awt.windows.WButtonPeer.create(Native Method)
at sun.awt.windows.WComponentPeer.<init>(WComponentPeer.java:630)
at sun.awt.windows.WButtonPeer.<init>(WButtonPeer.java:42)
at sun.awt.windows.WToolkit.createButton(WToolkit.java:327)
at java.awt.Button.addNotify(Button.java:160)
at java.awt.Container.addNotify(Container.java:2578)
at java.awt.Window.addNotify(Window.java:662)
at java.awt.Dialog.addNotify(Dialog.java:748)
at java.awt.FileDialog.addNotify(FileDialog.java:266)
at java.awt.Dialog.conditionalShow(Dialog.java:892)
at java.awt.Dialog.show(Dialog.java:1040)
at java.awt.Component.show(Component.java:1516)
at java.awt.Component.setVisible(Component.java:1468)
at java.awt.Window.setVisible(Window.java:841)
at java.awt.Dialog.setVisible(Dialog.java:991)
at MyFrame.<init>(first.java:49)
at first.main(first.java:19)
import java.util.Scanner;
import java.awt.*;
import java.awt.event.*;import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JTextField;public class Test {
public static void main(String[] args) {
My m = new My(); }
}class My extends JFrame implements ActionListener {
JButton b; JTextField t; JDialog d; public My() {
b = new JButton("猜一个随机数~");
t = new JTextField();
b.addActionListener(this);
d.setVisible(true);
d = new JDialog(this, "34", true);
// d.setBackground(Color.pink);
d.setBounds(200, 200, 200, 200);
d.add("South", b);
d.add("North", t);
} public void actionPerformed(ActionEvent e) {
if (b.getActionCommand().equals("猜一个随机数~")) {
String s = t.getText();
int a = (int) (Math.random() * 6 + 1);
//做一个正则验证 保证是数字才能转 不然会报错
String regex = "\\d+";
if(s.matches(regex)&&s!="") {
int x = Integer.parseInt(s);
if (x == a) {
this.dispose();
}
if (x < a) {
t.setText("小了");
}
if (x > a) {
t.setText("大了");
}
}
}
}
}