PHP竟能开发桌面程序?——史无前例的尝试!最简单的桌面程序用Java还是PHP?

用Java编写一个最简单的桌面程序 史无前例的尝试,PHP语言竟然能开发桌面程序?

本文目录:

使用Java的优势在于网络应用方面,但Java也提供了强大的用于开发桌面程序的API,它们包含在javax.swing包中.使用这个包可以编写简单的Java桌面应用程序.

Java的javax.swing包提供了许多用来设计GUI的组件类,在学习GUI编程时,需要掌握两个概念:容器类(Container)和组件类(Component),以下是GUI编程中经常提到的基本知识点.

· Java把Component类的子类或间接子类创建的对象称为一个组件.

· Java把Container的子类或间接子类创建的对象称为一个容器.

· 可以向容器中添加组件.Container类提供了一个public方法add(),一个容器可以调用这个方法将组件添加到该容器中.

· 容器调用removeAll()方法可以移除掉容器中的全部组件,调用remove(Component c)方法可以移除掉容器总参数c指定的组件.

· 容器本身也是一个组件,因此可以把一个容器添加到另一个容器中实现容器的嵌套.

· 每当容器添加新的组件或移除组件时,应当让容器调用validate方法,以保证容器中的组件能正确显示出来.

接下来用Java编写一个简单的桌面程序。

一个Java的应用程序需要使用JFrame类的实例来提供一个底层容器和操作系统进行交互,当需要一个窗口时,使用JFrame或其子类创建一个对象。窗口也是一个容器,可以向窗口添加组件。需要注意的是,窗口默认被系统添加到显示器屏幕上,一次不允许讲一个窗口添加到另一个容器中。

1_1、WindowMenu创建一个带窗口的菜单

WindowMenu win = new WindowMenu("俄罗斯方块",200,30,900,1000);

1_2、菜单条、菜单、菜单项

· 菜单条

JComponent类的子类JMenubar负责创建菜单条,即JMenubar的一个实例就是一个菜单条。JFrame类中有一个将菜单条放置到窗口中的方法: setJMenuBar (JMenuBar bar);

· 菜单

JComponent类的子类JMenu负责创建菜单项,即JMenu的一个实例就是一个菜单。

· 菜单项

JComponent类的子类JMenuItem负责创建菜单项,即JMenuItem的一个实例就是一个菜单项。

2_1、运行效果如下所示

2_2、源代码

Tetres_windows.java

/*

* 俄罗斯方块的窗体

*/

//import javax.swing.*;

//import java.awt.*;

public class Tetres_windows {

public static void main(String[] args) {

WindowMenu win = new WindowMenu("俄罗斯方块",200,30,900,1000);

}

}

WindowMenu.java

/*

* 俄罗斯方块的菜单

*/

import javax.swing.*;

import java.awt.event.InputEvent;

import java.awt.event.KeyEvent;

import javax.swing.JFrame.*;

public class WindowMenu extends JFrame {

JMenuBar menubar;

JMenu menu0,menu1,menu2,subMenu;

JMenuItem item1,item2,item3;

public WindowMenu(String s,int x,int y,int w,int h) {

init(s);

setLocation(x,y);

setSize(w,h);

setVisible(true);

setDefaultCloseOperation(DISPOSE_ON_CLOSE);

}

void init(String s) {

setTitle(s);

menubar = new JMenuBar();

menu0 = new JMenu("游戏"); //菜单栏的第一个选项

item1 = new JMenuItem("新游戏(new)");

item2 = new JMenuItem("重新开始");

menu0.add(item1);

menu0.addSeparator(); //设置子菜单之间的分割线

menu0.add(item2);

menu0.addSeparator(); //设置子菜单之间的分割线

subMenu = new JMenu("难度等级");

menu0.add(subMenu);

subMenu.add(new JMenuItem("初级"));

subMenu.add(new JMenuItem("中级"));

subMenu.add(new JMenuItem("高级"));

menu0.addSeparator();

item3 = new JMenuItem("退出");

menu0.add(item3);

menubar.add(menu0);

menu1 = new JMenu("编辑"); //菜单栏的第二个选项

item1 = new JMenuItem("后退一步");

menu1.add(item1);

menu1.addSeparator(); //设置子菜单之间的分割线

item2 = new JMenuItem("前进一步");

menu1.add(item2);

menubar.add(menu1);

menu2 = new JMenu("关于");

item1 = new JMenuItem("作者:rwxian");

menu2.add(item1);

menu2.addSeparator();

item2 = new JMenuItem("版本:v1.0");

menu2.add(item2);

menubar.add(menu2);

setJMenuBar(menubar);

}

}

史无前例的尝试,PHP语言竟然能开发桌面程序?

PHP 介绍

PHP 是 "PHP Hypertext Preprocessor" 的首字母缩略词,PHP 继承自一个老的工程,名叫 PHP/FI。

PHP/FI 在 1995 年由 Rasmus Lerdorf 创建,最初只是一套简单的 Perl 脚本,用来跟踪访问他主页的人们的信息。它给这一套脚本取名为“Personal Home Page Tools”。

随着更多功能需求的增加,Rasmus 写了一个更大的 C 语言的实现,它可以访问数据库,可以让用户开发简单的动态 Web 程序。Rasmus » 发布了 PHP/FI 的源代码,以便每个人都可以使用它,同时大家也可以修正它的 Bug 并且改进它的源代码。

Andi Gutmans 和 Zeev Suraski 在为一所大学的项目中开发电子商务程序时发现 PHP/FI 2.0 功能明显不足,于是他们重写了代码。这就是 PHP 3.0。

当今,PHP 7.1.11已经问世了,被称为“脚本语言”的PHP,编写桌面程序是不可能实现的,今天,它实现了!

PHP-GTK

【小编翻译】PHP-GTK是一个扩展PHP编程语言实现对GTK语言绑定。 它提供了一个面向对象的接口GTK类和函数,极大地简化了编写客户端跨平台的GUI应用程序。

PHP-GTK当前是2.0版,为什么用的人很少呢?

回答:难!PHP-GTK汉语教程太少了。

怎么使用PHP-GTK?

  1. 下载PHP-GTK2,如下图所示:

2.修改配置,如下图:

是骡子是马,拉出来溜溜,让我们写个“Hello word”。

DEMO

在demo下建立helloword.php,内容如下:

if (!class_exists('gtk')) {

die("gtk库不存在");

}

$wnd = new GtkWindow();

$wnd->set_title('Hello world');

$wnd->connect_simple('destroy', array('gtk', 'main_quit'));

$lblHello = new GtkLabel('OK');

$wnd->add($lblHello);

$wnd->show_all();

Gtk::main();

CMD命令:

解释:第一个参数是php.exe位置,第二个参数是php文件位置。

运行结果:

结语

好了,就此为止。需要帮助的小伙伴关注并@小编,小编不高冷,会热心帮您解答PHP学习中遇到的问题的。

伟大的IDEA

小编准备翻译PHP-GTK了,赶来关注占个座吧。

安装就能上手的编程APP

应个别粉丝的要求,希望能推荐一款可以学习编程的app,容易上手,面向基础弱的。通过考量,我就把以前我常用的一款入门级推荐给大家,是全英文,这点有些遗憾,对于基础薄弱的朋友来说,确实有些难度。

如图,就这个软件。拥有5000多个应用程序(代码示例)、20多个课程和世界上最快的编译器,让您的所有编程需求能够在一个应用程序中获得实现,方便你进行日常练习。

你可以通过这个编程教学应用学习到什么编程语言呢

★ 学习Java - Java是一种面向对象的通用高级编程语言。现今,Java已被用于开发一系列的软件,如web应用程序、J2ME应用程序、嵌入空间、Android、大数据分析等。

★ 学习C编程语言 - C语言是一种功能强大的通用编程语言。如果您是编程新手,那么C语言会是您开始编程之旅的最佳语言。在实际应用中,C语言编程被用于嵌入式领域,即系统编程。

★学习C++ - 从系统编程、数值和科学计算、web开发、编写编译器、控制台游戏、桌面应用程序等等,c++几乎在任何地方都被使用。

★ 学习HTML - HTML是创建网页和web应用程序的标准标记语言。HTML最常用作在线文档(即网页)的格式。你可通过Programming Hub应用程序上的这个HTML学习模块来提高你的HTML知识。

★ 学习Javascript - JavaScript是一种可在绝大多数浏览器上运行的web编程语言。通过Programming Hub上的Javascript教程,你也可以成为Javascript专家。

★ 学习R代码: R代码是一种用于统计分析、图形表示和报告的编程语言和软件环境。

以下是一些你选择Programming Hub作为你一站式学习编码语言应用的原因。在有了Programming Hub: Learn to code”的帮助后,你可以:

★ 学习CSS

★ 学习VB.net

★学习 C# (C Sharp)

★学习Python 2.7

★学习Python 3

★ 学习Linux Shell脚本

★学习R 代码

★学习Swift

★ 学习SQL

★ 学习 Jquery

★ 学习8086汇编语言

**************************

应用程序功能

**************************

在让学习编码变得如此简单和有趣之余,它具有的以下特性将使我们成为您学习编程语言的唯一选择:

★ 编程课程:为了让您的学习变得更加有趣,我们的专家已经创建了一些简短的交互课程,让你以一种前所未见的方式去学习编程语言。这是你学习新概念的最佳地方。

★ 编程和编码示例:超过20多种编程语言编写的5000多个程序, programming hub拥有最大的预编译程序集合,让你能够用于实践和学习。我们也会根据用户的反馈定期更新程序库。

★ 编译器:建立在安卓上的世界上最快的编译器,支持编译和运行20多种编程语言。

以下为其他能改善您的编程学习经验的功能,当中包括:

1. 基于概念的插图,让人可以轻松的方式学习编码

2. 交互式的学习体验

3. 快速搜索程序

4. 程序分类视图

5. 无需危险的权限需求

6. 定期更新新的编程示例和课程内容

7. 编码专家的反馈和支持

取得Programming Hub Pro会员以获取更多

★ 无限制访问所有Learn to code app所有内容

★ 离线模式以在线获得编程课程

★ 高级内容

★ 无广告

★ 无限的代码编译


软件下载的链接放在评论区了,有需要的自己去下载。

本文经用户投稿或网站收集转载,如有侵权请联系本站。