图形用户界面 java
fr.addWindowListener(new WindowAdapter(){
@Override public void windowClosing(WindowEvent e){
System.exit(0);
}
});
/*
制作一个类似于QQ登陆的界面,以下数据库部分,你可以自己修该下,默认为Access
*/
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;
class JieMian extends JFrame
{
JFrame f;
JLabel lb1;
JLabel lb2;
JTextField tf;
JPasswordField pwd;
JButton b1;
JButton b2;
JPanel p1;
JPanel p2;
Connection con;
Statement stmt;
String use;
char passw[]=new char[10];
ResultSet rs;
String k1,k2;
public void init()
{
lb1=new JLabel("用户名:");
lb2=new JLabel("密 码:");
tf=new JTextField(10);
pwd=new JPasswordField(10);
b1=new JButton("登陆");
b2=new JButton("取消");
p1=new JPanel();
p2=new JPanel();
p1.add(lb1);
p1.add(tf);
p1.add(lb2);
p1.add(pwd);
p2.add(b1);
p2.add(b2);
f.add(p1);
f.add(p2);
}
JieMian()
{
f=new JFrame("登陆界面");
init();
b1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ei)
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:dat");
stmt=con.createStatement();
use=tf.getText();
passw=pwd.getPassword();
String passww=new String(passw);
rs=stmt.executeQuery("select * from user where 用户名='"+use+"' and 密码='"+passww+"'");
while(rs.next())
{
System.out.println(k1=rs.getString("用户名"));
System.out.println(k2=rs.getString("密码"));
}
if(k1.equals(use)&&(k2.equals(passww)))
{
JOptionPane.showMessageDialog(null,"用户登陆成功");//登陆成功
}
else
{
JOptionPane.showMessageDialog(null,"请检查用户信息,登陆失败");//登录失败
}
rs.close();
stmt.close();
con.close();
}
catch (Exception ey){JOptionPane.showMessageDialog(null,"请检查用户信息,登陆失败");}
}
});
f.setLayout(new GridLayout(2,1,10,5));
f.setVisible(true);
f.setSize(210,150);
f.setLocation(550,300);
f.setResizable(false);
f.setDefaultCloseOperation(EXIT_ON_CLOSE);
b2.addActionListener(new ActionListener(){//58
public void actionPerformed(ActionEvent e){
f.setVisible(false);
}
});
}
}
public class DengLu
{
public static void main(String[] args)
{
new JieMian();
}
}
import java.awt.*;
import java.awt.event.*;
import java.util.regex.Pattern;
import javax.swing.*;
public class ATMSHAM extends Frame implements ActionListener{
private JFrame frame;
private JPanel jp1,jp2,jp3,jp4;
private JTextField password;
private JButton start,select,cancel,save,out;
private JLabel jl1;
private double m = 0;//设置初始金额
public ATMSHAM(){
frame = new JFrame("模拟自动取款机界面");
frame.setLocation(280, 280);
Container c = frame.getContentPane();
jl1 = new JLabel("密码:");
password = new JPasswordField(18);//输出结果
//字体设置
jl1.setFont(new Font("宋体",Font.BOLD, 20));
password.setFont(new Font("宋体",Font.BOLD, 20));
start = new JButton("开始");
start.addActionListener(this);
select = new JButton("查询余额");
select.addActionListener(this);
cancel = new JButton("结束");
cancel.addActionListener(this);
save = new JButton("存款");
save.addActionListener(this);
out = new JButton("取款");
out.addActionListener(this);
select.setEnabled(false);
save.setEnabled(false);
out.setEnabled(false);
jp1 = new JPanel();//主面板
jp2 = new JPanel();//密码输入面板
jp3 = new JPanel();//按钮面板
jp4 = new JPanel();//按钮面板
//窗体布局
jp2.setLayout(new FlowLayout());
jp2.add(jl1);
jp2.add(password);
jp3.setLayout(new FlowLayout());
jp3.add(start);
jp3.add(select);
jp3.add(cancel);
jp4.add(save);
jp4.add(out);
jp1.setLayout(new GridLayout(3,1));
jp1.add(jp2);
jp1.add(jp3);
jp1.add(jp4);
c.add(jp1);
frame.pack();
frame.setVisible(true);
frame.setResizable(false);
password.requestFocusInWindow();//输入文本框获取焦点
}
//按钮监听类
public void actionPerformed(ActionEvent e)
{
String s = "";
if(e.getSource()==start){//开始
s = password.getText().toString();//获取密码
if(s.equals("")){//没有输入密码
JOptionPane.showMessageDialog(null, "你没有输入密码,请重新操作输入");//弹出一个消息提示框
password.requestFocusInWindow();//密码输入设置焦点
}
else if(Pattern.matches("^[0-9]{6}+$", s))//输入的是六位数字
{
password.setEnabled(false);//密码验证正确,不能再输入密码
select.setEnabled(true);//密码验证正确,可以查看余额
save.setEnabled(true);//密码验证正确,可以存款
out.setEnabled(true);//密码验证正确,可以取款
}
else//输入的不是六位数字,重新输入密码
{
JOptionPane.showMessageDialog(null, "你输入的密码格式有误,请重新输入");
password.setText("");
password.requestFocusInWindow();//密码输入设置焦点
}
}
//查看余额
else if(e.getSource()==select){
JOptionPane.showMessageDialog(null, "你目前还有"+m+"元");
}
//退出
else if(e.getSource()==cancel){
dispose();
System.exit(0);
}
//存款
else if(e.getSource()==save){
String result = JOptionPane.showInputDialog(null, "请输入存入金额");
if(result == null)
return;
else if(result.equals(""))
JOptionPane.showMessageDialog(null, "你没有输入金额,请重新操作,以输入待存入金额");
else if(Pattern.matches("^[0-9]+$", result)||Pattern.matches("^[0-9]+\\.+[0-9]+$", result))
{
double re = Double.parseDouble(result);
m+=re;
}
else
{
JOptionPane.showMessageDialog(null, "你输入的金额格式有误,请重新输入");
}
}
//取款
else if(e.getSource()==out){
String result = JOptionPane.showInputDialog(null, "请输入取款金额值");//弹出一个输入框并获取输入的值
if(result == null)//单击了输入对话框的取消按钮
return;
else if(result.equals(""))//没有输入金额
JOptionPane.showMessageDialog(null, "你没有输入金额,请重新操作,以输入要取出的金额值");
else if(Pattern.matches("^[0-9]+$", result)||Pattern.matches("^[0-9]+\\.+[0-9]+$", result))//输入不为空且输入正确
{
double re = Double.parseDouble(result);
if(m <= 0)//没有可取金额
JOptionPane.showMessageDialog(null, "你已经没有金额可取,请存入金额");
else if(m-re<0)//有可取金额,但金额不足
JOptionPane.showMessageDialog(null, "你仅有"+m+"元,金额不足");
else if(m-re>=0)//金额足够
m-=re;
}
else//输入不为空但不正确
{
JOptionPane.showMessageDialog(null, "你输入的金额格式有误,请重新输入");
}
}
/*关闭窗口事件*/
frame.addWindowListener(new WindowAdapter(){
public void WindowClosing(WindowEvent e)
{
dispose();
System.exit(0);
}
});
}
public static void main(String args []){//主方法入口
System.out.println("程序开始…");
new ATMSHAM();
}
}
简单倒是简单,懒的做
都待补血: 首先要应用GUI相关的包比如import java.awt.*;import javax.swing.*; 给你个例子吧 public class Test extends JFrame{ MyPanel mp=null; public static void main(String[] args){ // TODO Auto-generated method stub Test jf= new Test(); } public Test(){ ...
点军区19576847709: Java图形用户界面设计是什么? ?
都待补血: 作为一个 Java 程序员,从论坛上感受到使用 Java 开发程序的人越来多,心中不免欣... 也可以开发应用程序,而且可以开发出漂亮的图形用户界面的应用程序,也就是 ...
点军区19576847709: java图形用户界面 - ?
都待补血: 话说,;⑤添加两个标签、一个文本行和一个“OK”按钮;⑥事件响应:点击“Ok”按钮,能实现把第一个文本行中的信息显示在第二个文本行.你不觉得你这话冲突么..--------------------------- import java.awt.Button; import java.awt.FlowLayout...
点军区19576847709: 编写一个具有图形用户界面的Java程序 - ?
都待补血: import javax.imageio.*; import javax.swing.*; import java.awt.*; import java.awt.geom.*; import java.io.*; /** * @author Hardneedl */ class ImageZoom extends JFrame { private static final Dimension minSize = new Dimension(300, 200); private static ...
点军区19576847709: 在java中图形用户界面由什么构成?他们的作用是什么? - ?
都待补血: 主要是一些容器和控件,在创建了容器和控件后,一次将控件添加到容器中相应的位置即可,桌面应用程序只是java的一个很不起眼的方面,java的优势在网络编程,如电子政务(主要是大型网站开发),还有手机游戏的开发,所以图形界面只要会做,知道就行,不是重点
点军区19576847709: java 图形用户界面 - ?
都待补血: public void actionPerfoemed(ActionEvent e) 拼错了 应该是public void actionPerformed(ActionEvent e) {
点军区19576847709: java的图形用户界面程序设计 - ?
都待补血: 1、Java在GUI开发方面是个短板,之前awt,还是现在的swing,不管是Application还是java web,它的GUI开发效率都远底于.Net.2、现在Eclipse有几个GUI插件,像VE(Visiual Editor),口碑还不错,但是也不如.net平台或是vb那样的简洁容易.3、NetBeans在Java的GUI开发方面还不错,比Eclipse环境有优势,但还是距离windows的GUI开发差的还很远.试试看吧.
点军区19576847709: 为Java程序建立图形用户界面通常要哪些步骤 - ?
都待补血: 方法1:使用代码添加控件.可以使Swing组件或者AWT组件,里面提供了框架、按钮、文本框等控件.方法2:在eclipse中下载VE(visual editor)插件,支持拖拉式的,可以直接将按钮或者文本等控件拖动到指定位置.方法3:使用netbeans 这个IDE,做GUI用这个是比较轻松的,因为它的空间比较好看,而且方便.只需要在新建项目的时候建立桌面应用程序即可.其他方法我在这里就不多说了,欢迎参考我的空间,大家一起进步
点军区19576847709: 编写一个java程序,实现一个图形用户界面.在该界面上有一个静态文本框,里面有一段文字 - ?
都待补血: import java.awt.Color; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.Serializable; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax....
点军区19576847709: 简述Java图形用户界面编程的基本思想?
都待补血: 简单地说就是把图形界面的组件当做积木来看待,然后再一个容器面板上堆积起来.最后设置各个组件的具体属性.