「java图形界面」java图形界面与事件处理实验报告
今天给各位分享java图形界面的知识,其中也会对java图形界面与事件处理实验报告进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
Java编写图形用户界面程序
运行如图
参考代码如下
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class RegDemo extends JFrame implements ActionListener{
JTextField jtf;
JPasswordField jpf;
public RegDemo() {
//组件的创建, 和布局安排
JPanel jpc = new JPanel();//默认流式布局
JPanel jp1 = new JPanel(new GridLayout(2, 2,5,10));//网格布局
jp1.setBorder(BorderFactory.createTitledBorder("用户注册"));
JLabel jl1 = new JLabel("用户名:");
jtf = new JTextField(10);
JLabel jl2 = new JLabel("密码:");
jpf = new JPasswordField(10);
jpf.setEchoChar('*');//用*号来隐藏密码的显示
jp1.add(jl1);jp1.add(jtf);
jp1.add(jl2);jp1.add(jpf);
jpc.add(jp1);
add(jpc);
JButton jb1 = new JButton("提交");
jb1.addActionListener(this);
jb1.setActionCommand("yes");
JButton jb2 = new JButton("取消");
jb2.addActionListener(this);
jb2.setActionCommand("no");
JPanel jp2 = new JPanel();
jp2.add(jb1);jp2.add(jb2);
add(jp2,BorderLayout.SOUTH);
setTitle("用户注册界面");
setSize(280, 280);
setLocationRelativeTo(null);//窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);//
setVisible(true);
}
public static void main(String[] args) {
new RegDemo();
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("yes")){
String name = jtf.getText().trim();
String pwd = new String(jpf.getPassword());
if(name.equals("")||pwd.equals("")){
JOptionPane.showMessageDialog(this, "你还没有输入用户名或者密码");
}else{
JOptionPane.showMessageDialog(this, "注册成功!用户名"+name+",密码"+pwd);
}
}else{
jtf.setText("");
jpf.setText("");
}
}
}
JAVA图形界面为什么现在很少有人用
原因(个人意见)
系统没有集成java类库,开发出来的界面还需要加入几十M库,导致安装包非常的大,用户不能接受而已。(可能实现功能的代码不足1M,而库就需要30M)如果操作系统自带了部分库,可能会好一点
开发出精美的界面需要自己重构的组件太多,费力不讨好的事情。自带的组件都比较丑陋,相当于你在开发库
部分性能不如C或C++,Java是轻量级的,现在都是网络时代,如果你开发的软件只能玩单机就没有意思了,如:做一个屏幕控制软件,一般的思路就是截屏发送屏幕,发送相应的响应操作。发送就需要通信你用java 自带的通信 TCP UDP 什么的 麻烦并且性能永远都跟不上
学习是可以的,写点小应用玩,还是很不错的。如:记事本、计算器、五子棋等
java怎么实现图形化界面
java图形化界面还是有很多内容要学习的,可以参考 如下实例:
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(){
mp=new MyPanel();
this.add(mp);
//设置标题
this.setTitle("绘图");
//设置窗体大小
this.setSize(400, 300);
//设置窗体的位置
this.setLocation(100,100);
//限制窗体的大小
this.setResizable(false);
//关闭窗体时,同时退出java虚拟机
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//显示窗体
this.setVisible(true);
}
}
//定义一个MyPanel(我自己的面板,用于绘图和实现绘图区域)
class MyPanel extends JPanel
{
//覆盖JPanel的paint方法
//Graphics是绘图的重要类,可以把它理解成一只画笔
public void paint(Graphics g)
{
//1。调用父类函数完成初始化
super.paint(g);
// //画圆
// g.drawOval(100, 100, 20, 20);
// //画直线
// g.drawLine(50, 150,150, 200);
// //画矩形边框
// g.drawRect(150, 150, 30, 40);
//
// //设置颜色。默认为黑色
// g.setColor(Color.blue);
// //填充矩形
// g.fillRect(10, 10, 20, 30);
//画弧形
g.drawArc(200,10, 100,150, 120,-80);
//在面板上画图片
Image im=Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("图片路径"));
//显示图片
g.drawImage(im, 10, 10,200,180,this);
//画字
g.setColor(Color.red);
g.setFont(new Font("华文彩云",Font.BOLD,20));
g.drawString("要写的字", 80,220);
}
}
java图形界面设计如何从一个界面跳到另外界面再返回?
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
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.Calendar;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextArea;
public class Test2{
public Test2() {}
JFrame frame; //主界面框架
//主界面函数
public void mainFace() {
frame=new JFrame("主界面");
frame.setLayout(new BorderLayout());
JLabel label=new JLabel("这是主界面");
frame.add(label,BorderLayout.CENTER);
JButton button=new JButton("进入另一个界面");
frame.add(button,BorderLayout.SOUTH);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
otherFace(); //进入另一个界面
frame.dispose(); //主界面关闭
}
});
frame.setSize(400,300);
frame.setLocation(100,50);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//另一个图形界面
public void otherFace() {
final JFrame oframe=new JFrame("另一个界面");
oframe.setLayout(new BorderLayout());
JTextArea displayArea=new JTextArea();
oframe.add(displayArea,BorderLayout.CENTER);
displayArea.setFont(new Font("宋体",Font.BOLD,30));
displayArea.setForeground(Color.red);
displayArea.append("\n\n\n\n 这是另一个图形界面");
JButton button1=new JButton("返回主界面");
oframe.add(button1,BorderLayout.SOUTH);
button1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
frame.setVisible(true); //主界面显示
oframe.dispose(); //另一个界面关闭
}
});
oframe.setSize(400,300);
oframe.setLocation(150,100);
oframe.setVisible(true);
}
//密码输入函数
public void passwordFrame() {
final JFrame keyFrame=new JFrame("Password Input");
keyFrame.setLayout(new FlowLayout());
final JPasswordField keyField=new JPasswordField();
keyField.setColumns(30);
keyField.setFont(new Font("宋体",Font.BOLD,20));
keyField.setEchoChar('@');
keyFrame.add(keyField);
Calendar calendar=Calendar.getInstance();
int mon=calendar.get(Calendar.MONTH)+1;
int day=calendar.get(Calendar.DAY_OF_MONTH);
int h=calendar.get(Calendar.HOUR_OF_DAY);
int m=calendar.get(Calendar.MINUTE);
final String nowKey=mon+"."+day+"."+h+"."+m; //密码为现在时间的 月.日.时.分
keyField.addKeyListener(new KeyListener() { //给密码框添加键盘监听器
public void keyPressed(KeyEvent e) {
if(e.getKeyCode()==KeyEvent.VK_ENTER) {
char[] key=keyField.getPassword();
String keyStr = String.valueOf(key);
if(keyStr.equals(nowKey)) {
mainFace(); //进入主界面
keyFrame.dispose();
}
else {
JOptionPane.showMessageDialog(null, "输入的密码不正确!");
}
}
}
@Override
public void keyReleased(KeyEvent e) {}
public void keyTyped(KeyEvent e) {}
});
JButton sureButton=new JButton("确认");
keyFrame.add(sureButton);
sureButton.addActionListener(new ActionListener() { //给'确定'按钮添加动作监听器
public void actionPerformed(ActionEvent e) {
char[] key=keyField.getPassword();
String keyStr = String.valueOf(key);
if(keyStr.equals(nowKey)) {
mainFace(); //进入主界面
keyFrame.dispose();
}
else {
JOptionPane.showMessageDialog(null, "输入的密码不正确!");
}
}
});
JButton cancelButton=new JButton("取消");
keyFrame.add(cancelButton);
cancelButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
keyFrame.setSize(400,120);
keyFrame.setLocation(300,300);
keyFrame.setVisible(true);
keyFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//程序主函数
public static void main(String args[]) {
Test2 t2=new Test2();
t2.passwordFrame();
}
}
怎样运行JAVA的图形界面
如有个为Hello.java的文件
首先运行里输入cmd
找到你保存的java安装路径bin下(也可设置环境变量,就可以保存在其他位置,具体怎么设置好多书上有,如果不知道可以联系我)
然后输入javac Hello.java
再输入java Hello
这样它就会生成一个叫Hello.class文件
再打开个记事本
输入下面的代码:
html
body
applet code="Hello.class" height=200 width=300
/applet
/body
/html
保存在bin目录下Hello(自定义的).html
再cmd中输入appletviewer Hello.html就行了
关于java图形界面和java图形界面与事件处理实验报告的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-24,除非注明,否则均为
原创文章,转载请注明出处。