求一个java程序 基于Swing的图形用户界面设计

怎样用JAVA的GUI(图形用户界面)来设计一个程序!求程序和详解。~

//正好以前注释过一个import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import java.awt.image.MemoryImageSource;import java.util.Random;import javax.swing.JDialog;import javax.swing.JPanel;import javax.swing.Timer;public class CharacterRain extends JDialog implements ActionListener { private static final long serialVersionUID = 1L; private Random random = new Random(); private Dimension screenSize; private JPanel graphicsPanel; private final static int gap = 20; private int[] posArr; private int lines; private int columns; public static void main(String[] args) { new CharacterRain(); } public CharacterRain() { initComponents(); } private void initComponents() { setLayout(new BorderLayout()); graphicsPanel = new GraphicsPanel(); add(graphicsPanel, BorderLayout.CENTER); Toolkit defaultToolkit = Toolkit.getDefaultToolkit(); Image image = defaultToolkit.createImage(new MemoryImageSource(0, 0, null, 0, 0)); Cursor invisibleCursor = defaultToolkit.createCustomCursor(image, new Point(0, 0), "cursor"); setCursor(invisibleCursor); KeyPressListener keyPressListener = new KeyPressListener(); this.addKeyListener(keyPressListener); this.setAlwaysOnTop(true); this.setUndecorated(true); this.getGraphicsConfiguration().getDevice().setFullScreenWindow(this); this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); setVisible(true); screenSize = Toolkit.getDefaultToolkit().getScreenSize(); lines = screenSize.height / gap; //用gap来分行 columns = screenSize.width / gap; //用gap来分列 posArr = new int[columns + 1]; random = new Random(); for (int i = 0; i 255) { cg = 255; } g2d.setColor(new Color(0, cg, 0)); g2d.drawString(String.valueOf(getChr()), x, j * gap); //画出随机行后的15行字符,颜色从黑色渐变成绿色,逐行增加 } posArr[currentColumn] += random.nextInt(5); //下落距离最快为4, 会产生加速下落的感觉 if ((posArr[currentColumn] -5)* gap > getHeight()) { //如果行数位置大于屏幕高度,从新获取合适的行 posArr[currentColumn] = random.nextInt(lines); } currentColumn++; //下一列获取随机行 } } } private class KeyPressListener extends KeyAdapter { public void keyPressed(KeyEvent e) { if (e.getKeyCode() ==KeyEvent.VK_ESCAPE) { //监听键盘事件,按ESC按键退出 System.exit(0); } } }}

import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.Enumeration;
import java.util.Random;

import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
import javax.swing.plaf.FontUIResource;

public class NewFrame extends JFrame {
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
private int a;
private int b;
private int total = 0;
private int result = 0;
private Random random = new Random();

public NewFrame() {
initComponents();
}

public int getA() {
a = random.nextInt(100);
return a;
}

public void setA(int a) {
this.a = a;
}

public int getB() {
b = random.nextInt(100);
return b;
}

public void setB(int b) {
this.b = b;
}

private void initComponents() {
java.awt.GridBagConstraints gridBagConstraints;

jTextField1 = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
jTextField2 = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
jTextField3 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("加法测试");
getContentPane().setLayout(new java.awt.GridBagLayout());

jTextField1.setColumns(8);
jTextField1.setText(getA() + "");
jTextField1.setEditable(false);
getContentPane().add(jTextField1, new java.awt.GridBagConstraints());

jLabel2.setText("加");
getContentPane().add(jLabel2, new java.awt.GridBagConstraints());

jTextField2.setColumns(8);
jTextField2.setEditable(false);
jTextField2.setText(getB() + "");
jTextField3.addKeyListener(new KeyListener() {

public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
if (KeyEvent.VK_ENTER == e.getKeyCode()) {
System.out.println("keyPressed");
action();
}
}

public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}

public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub

}

});
getContentPane().add(jTextField2, new java.awt.GridBagConstraints());

jLabel3.setText("等于");
getContentPane().add(jLabel3, new java.awt.GridBagConstraints());

jTextField3.setColumns(8);
getContentPane().add(jTextField3, new java.awt.GridBagConstraints());

jButton1.setText("确定");
jButton1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
action();
}
});
getContentPane().add(jButton1, new java.awt.GridBagConstraints());

jLabel1.setText("总分:0 ");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.weightx = 1.0;
gridBagConstraints.weighty = 1.0;
getContentPane().add(jLabel1, gridBagConstraints);

pack();
}

private void action() {

try {
if (total >= 99) {
JOptionPane.showMessageDialog(null, "测试结束" + jLabel1.getText(),
"提示", 1);
jTextField3.setText("测试结束");
return;
}
int a = Integer.parseInt(jTextField1.getText());
int b = Integer.parseInt(jTextField2.getText());
int c = Integer.parseInt(jTextField3.getText().trim());
System.out.println(a + " " + b + " " + c);
if (a + b == c) {
result++;
JOptionPane.showMessageDialog(null, "正确", "正确提示", 1);
} else {
JOptionPane.showMessageDialog(null, "错误", "错误提示", 1);
}
total++;
jLabel1.setText("总分:" + result + " ");
jTextField1.setText(getA() + "");
jTextField2.setText(getB() + "");
jTextField3.setText("");
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "输入提示", "请输入数字", 1);
}

}

public static void main(String[] args) {
Font font = new Font("宋体", Font.PLAIN, 12);
for (Enumeration keys = UIManager.getDefaults().keys(); keys
.hasMoreElements();) {
Object key = keys.nextElement();
Object value = UIManager.get(key);
if (value instanceof FontUIResource) {
UIManager.put(key, font);
}
}
NewFrame frame = new NewFrame();
frame.setLocationRelativeTo(null);
frame.setSize(400, 200);
frame.setVisible(true);
}
}

import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.Enumeration;
import java.util.Random;

import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
import javax.swing.plaf.FontUIResource;

public class NewFrame extends JFrame {
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
private int a;
private int b;
private int total = 0;
private int result = 0;
private Random random = new Random();

public NewFrame() {
initComponents();
}

public int getA() {
a = random.nextInt(100);
return a;
}

public void setA(int a) {
this.a = a;
}

public int getB() {
b = random.nextInt(100);
return b;
}

public void setB(int b) {
this.b = b;
}

private void initComponents() {
java.awt.GridBagConstraints gridBagConstraints;

jTextField1 = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
jTextField2 = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
jTextField3 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("加法测试");
getContentPane().setLayout(new java.awt.GridBagLayout());

jTextField1.setColumns(8);
jTextField1.setText(getA() + "");
jTextField1.setEditable(false);
getContentPane().add(jTextField1, new java.awt.GridBagConstraints());

jLabel2.setText("加");
getContentPane().add(jLabel2, new java.awt.GridBagConstraints());

jTextField2.setColumns(8);
jTextField2.setEditable(false);
jTextField2.setText(getB() + "");
jTextField3.addKeyListener(new KeyListener() {

public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
if (KeyEvent.VK_ENTER == e.getKeyCode()) {
System.out.println("keyPressed");
action();
}
}

public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}

public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub

}

});
getContentPane().add(jTextField2, new java.awt.GridBagConstraints());

jLabel3.setText("等于");
getContentPane().add(jLabel3, new java.awt.GridBagConstraints());

jTextField3.setColumns(8);
getContentPane().add(jTextField3, new java.awt.GridBagConstraints());

jButton1.setText("确定");
jButton1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
action();
}
});
getContentPane().add(jButton1, new java.awt.GridBagConstraints());

jLabel1.setText("总分:0 ");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.weightx = 1.0;
gridBagConstraints.weighty = 1.0;
getContentPane().add(jLabel1, gridBagConstraints);

pack();
}

private void action() {

try {
if (total >= 99) {
JOptionPane.showMessageDialog(null, "测试结束" + jLabel1.getText(),
"提示", 1);
jTextField3.setText("测试结束");
return;
}
int a = Integer.parseInt(jTextField1.getText());
int b = Integer.parseInt(jTextField2.getText());
int c = Integer.parseInt(jTextField3.getText().trim());
System.out.println(a + " " + b + " " + c);
if (a + b == c) {
result++;
JOptionPane.showMessageDialog(null, "正确", "正确提示", 1);
} else {
JOptionPane.showMessageDialog(null, "错误", "错误提示", 1);
}
total++;
if (total < 3) {
jLabel1.setText("总分:" + result + " ");
jTextField1.setText(getA() + "");
jTextField2.setText(getB() + "");
jTextField3.setText("");
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "输入提示", "请输入数字", 1);
}

}

public static void main(String[] args) {
Font font = new Font("宋体", Font.PLAIN, 12);
for (Enumeration keys = UIManager.getDefaults().keys(); keys
.hasMoreElements();) {
Object key = keys.nextElement();
Object value = UIManager.get(key);
if (value instanceof FontUIResource) {
UIManager.put(key, font);
}
}
NewFrame frame = new NewFrame();
frame.setLocationRelativeTo(null);
frame.setSize(400, 200);
frame.setVisible(true);
}
}

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.math.*;
public class RandomCalculator implements ActionListener {
JFrame f;
JTextField tf1,tf2,tf3;
JLabel lb1,lb2 ,lb,nlb;
JPanel pa,pa1,pa2;
JButton bt1,bt2;
JTextArea ta;
int count=0;
int score=0;
int datasum=0;
public RandomCalculator(){
f=new JFrame("随机计算器");
f.setVisible(true);
f.setSize(200,200);
Container cp=f.getContentPane();
cp.setLayout(new GridLayout(4,1));
pa=new JPanel(new GridLayout(1,2));
pa1=new JPanel(new GridLayout(1,5));
pa2=new JPanel(new GridLayout(1,2));
cp.add(pa);
cp.add(pa1);
cp.add(pa2);
bt1=new JButton("开始做题");
bt1.addActionListener(this);
pa.add(bt1);
lb=new JLabel();
pa.add(lb);
tf1=new JTextField();
pa1.add(tf1);
lb1=new JLabel("+",JLabel.CENTER);
pa1.add(lb1);
tf2=new JTextField();
pa1.add(tf2);
lb2=new JLabel("=",JLabel.CENTER);
pa1.add(lb2);
tf3=new JTextField();
pa1.add(tf3);
bt2=new JButton("确定");
bt2.addActionListener(this);
pa2.add(bt2);
ta=new JTextArea("最后得分为:");
pa2.add(ta);
nlb=new JLabel();
cp.add(nlb);
}
public void actionPerformed(ActionEvent e){
int data1,data2;
if(e.getSource()==bt1){
data1=(int)(Math.random()*100+0);
data2=(int)(Math.random()*100+0);
datasum=data1+data2;
tf1.setText(""+data1);
tf2.setText(""+data2);
tf3.setText("");
count++;
lb.setText("这是第"+count+"题");

}
if(e.getSource()==bt2){
String st=tf3.getText();
int sum=Integer.parseInt(st);
if(sum==datasum){
score+=10;
nlb.setText("答案输入正确请进行下一题");
}
else{
nlb.setText("答案输入错误请重新输入");
tf3.setText("");
}
if(count==100){
String std=""+score;
ta.setText(std);
}
}
}
public static void main(String[] args) {
new RandomCalculator();
}
}

相关兴趣推荐

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网