「java图形化界面技术」java开发图形界面用什么技术
本篇文章给大家谈谈java图形化界面技术,以及java开发图形界面用什么技术对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、javagui图形界面编程算什么技术栈
- 2、Java中建立图形界面的一般步骤(模式)是什么
- 3、如何在Java中利用图形界面技术设计一个能够完成加、减、乘、除和取余运算的图形用户界面应用程序?
- 4、java怎么实现图形化界面
- 5、怎样用java编写图形界面的Application程序?
javagui图形界面编程算什么技术栈
GUI 是图形用户界面 JAVA中的编写图形界面的是 java.awt和javax.swing两个包 JAVA有很多GUI产品,eclipse就是
Java中建立图形界面的一般步骤(模式)是什么
import java.swing.*;import java.awt.*;import java.awt.event.*; //图形类导入 public class 类名{ public class 类名 extends JFrame implements ActionListener{ //监听 JPanel jp = new JPanel(); //创建双缓冲和流布局 JTextField txtfile=new JTextField(10); //单行文本编辑 JLabel jb = new JLable(); //用于短文本字符串或图像或二者的显示区 public 类名() { }//构造函数 public void actionPerformed(ActionEvent e) { } } public static void main(String args[]) { new 类名(); }//实现} awt和swing 的类很多 其他的你自己查查API 吧,给你一个简单的框架
如何在Java中利用图形界面技术设计一个能够完成加、减、乘、除和取余运算的图形用户界面应用程序?
package test;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Z extends JFrame implements ActionListener, FocusListener {
private String[] total = { "1", "2", "3", "+", "4", "5", "6", "-", "7", "8", "9", "*", "0", ".", "=", "/" }; // 总数组
private String[] other = { "clear", "delete" }; // 其它功能数组
private String[] symbol = { "+", "-", "*", "/" }; // 符号数组
private String multinumber = "0", operator1 = "", exists = "", operator2 = null, s = "";
// multinumber(多位数) operator1(运算符) exists(存在的)
private double d1, d2 = 0;
private int Count = 0;
JPanel jptotal = new JPanel(); // 总面板
JTextField jtexternal = new JTextField("0"); // 外部文本框
JTextField jtinside = new JTextField(); // 内部文本框
JPanel jptop1 = new JPanel(); // 顶部面板1
JPanel jptop2 = new JPanel(); // 顶部面板2
JPanel jpmiddle = new JPanel(); // 中部面板
public Z() {
jptotal.setLayout(new BorderLayout());
// 使用边界布局管理器
jptop1.setLayout(new GridLayout(2, 0));
jptop1.add(jtexternal);
jptop2.setLayout(new GridLayout(0, 2));
for (int i = 0; i other.length; i++) {
JButton jbi = new JButton("" + other[i]);
jbi.setSize(100, 10);
jptop2.add(jbi);
jbi.addActionListener(this);
}
jpmiddle.setLayout(new GridLayout(4, 0));
for (int i = 0; i total.length; i++) {
JButton jbi = new JButton("" + total[i]);
jpmiddle.add(jbi);
jbi.addActionListener(this);
}
jtexternal.addFocusListener(this);
jtexternal.add(jtinside);
jtinside.addFocusListener(this);
// 上面三行代码的作用是让文本框不可被选中
jptop1.add(jptop2);
jptotal.add(jptop1, "North");
// 以jp1为一个整体,让jp1里面的内容从最上面开始填充
jptotal.add(jpmiddle);
add(jptotal);
setVisible(true);
setSize(500, 500);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
// ctrl+/ :注释
public void actionPerformed(ActionEvent e) throws ArithmeticException {
try {
String inputing = e.getActionCommand();
// 表示获取当前输入的内容
if (inputing.equals(".")) {
Count++;
}
exists = jtexternal.getText();
if (operator2 != null) {
int k = 0;
for (int i = 0; i symbol.length; i++) {
if (operator2.equals(symbol[i])) {
k = k + 1;
}
if (inputing.equals(symbol[i])) {
k = k + 1;
}
if (k == 2) {
jtexternal.setText(exists.substring(0, exists.length() - 1) + inputing);
operator1 = inputing;
return;
}
// 实现四则运算符不可同时存在,新输入的替换旧的
if (operator2.equals(symbol[i]) inputing.equals(".")) {
return;
}
// 实现四则运算符和点不可挨着出现(点后面可以出现四则运算符,点前面不可出现)
}
}
if (exists.equals("0")) {
if (inputing.equals(".") || (inputing.equals("+")) || (inputing.equals("-")) || (inputing.equals("*"))
|| (inputing.equals("/"))) {
jtexternal.setText("0" + inputing);
} else {
jtexternal.setText(inputing);
}
} else {
jtexternal.setText(exists + inputing);
}
// 实现如果0前面没有非0数字的话,那么无论输入多少次0,都只显示一个0,如果输入其它数字,0将会被替换
if ((d1 == 0.0 || d2 == 0.0) inputing.equals("=") !exists.substring(0, 1).equals("0")) {
return;
}
// 实现如果文本框内存在数字,那么输入等号,将打印其本身
if (inputing.equals("clear")) {
multinumber = "0";
exists = "";
operator1 = "";
jtexternal.setText("0");
operator2 = null;
d2 = 0;
s = "";
Count = 0;
d1 = 0.0;
// 实现,当点击clear时,文本框内将被清空至0,所有数据都将还原至初始状态
} else if (inputing.equals("delete")) {
if (exists.length() = 1 || s.equals("=")) {
jtexternal.setText("0");
multinumber = "0";
exists = "";
operator1 = "";
operator2 = null;
d2 = 0;
s = "";
Count = 0;
d1 = 0;
// 实现,按delete删除刚输入的内容,如果将最后一个数字删除,那么效果同按clear
} else {
if (inputing.equals("+") || inputing.equals("-") || inputing.equals("*") || inputing.equals("/")) {
Count = 1;
}
jtexternal.setText(exists.substring(0, exists.length() - 1));
// 将operator2存储上一次值
operator2 = exists.substring(exists.length() - 2, exists.length() - 1);
/*
* 实现如果四则运算符后面有数字的话
* 那么如果此时按删除键
* 删除之后如果新输入的还是四则运算符话
* 那么将会将原来的四则运算符替换成新输入的
*/
}
} else if (!inputing.equals("+") !inputing.equals("-") !inputing.equals("*") !inputing.equals("/")
!inputing.equals("=")) {
// 判断输入是否为数字
if (s.equals("=")) {
if (exists.equals("除数不能为0") || new Double(exists) == d1) {
if (inputing.equals(".")) {
jtexternal.setText("0" + inputing);
} else {
jtexternal.setText(inputing);
}
}
s = "";
}
// 实现一次计算完成之后,可以进行新的运算
if (multinumber == null) { // 多位数计算
multinumber = inputing;
} else {
multinumber += inputing;
}
d1 = new Double(multinumber);
if (operator1.equals("+")) { // 进行四则运算
if (d2 == 0) {
if (operator1.equals("*") || operator1.equals("/")) {
d2 = 1;
}
}
// 实现,当四则运算符后面没有数字时,那么输入等号后结果将为符号前面的结果,如果符号前面只有一个数字,那么将打印自身
d1 = d1 + d2;
} else if (operator1.equals("-")) {
d1 = d2 - d1;
} else if (operator1.equals("*")) {
d1 = d1 * d2;
} else if (operator1.equals("/")) {
d1 = d2 / d1;
}
// 利用临时变量f2,实现四则运算
operator2 = inputing;
} else if (!inputing.equals("=")) { // [四则运算符] 输入等号后继续进行计算
multinumber = "0";
operator1 = inputing;
d2 = d1;
operator2 = inputing;
s = "";
Count = 0;
// 实现小数运算
} else { // 就是 [=] 得出最终结果
jtexternal.setText("" + d1);
Count = 0;
s = "=";
multinumber = "0";
if (operator2.equals("0") "/".equals(operator1)) {
operator2 = null;
d1 = 0;// 将非法运算值替换成正确值
throw new ArithmeticException();// 指定抛出异常的条件
//赋值计算不抛算数异常,如果想让其抛出,必须指定条件重新抛出异常
} else {
operator1 = inputing;
operator2 = null;
d2 = 0;
} // 计算结果
if (inputing.equals("=") (d1 == 0.0 || d2 == 0.0)) {
return;
}
// 实现等号不可重复输入
}
} catch (ArithmeticException e1) {
jtexternal.setText("除数不能为0");
// 指定抛出异常内容
}
}
public static void main(String[] args) {
new Z();
}
public void focusGained(FocusEvent e) {
jtinside.requestFocus();
// 让焦点聚焦到内部文本框,实现外部文本框的不可聚焦功能
}
public void focusLost(FocusEvent e) {
}
}
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编写图形界面的Application程序?
java编写图形界面需要用到swing等组件,可以在eclipse中安装windowbuilder来开发窗体,自动生成窗体代码,然后自己再根据需要修改,如:
package mainFrame;
import java.awt.EventQueue;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame。
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
java图形化界面技术的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java开发图形界面用什么技术、java图形化界面技术的信息别忘了在本站进行查找喔。
发布于:2022-12-27,除非注明,否则均为
原创文章,转载请注明出处。