当前位置: 首页 > news >正文

网站集群建设价格网站开发的工资是多少

网站集群建设价格,网站开发的工资是多少,广告营销策划是做什么的,网站过期就可以抢注目录 前言 一、AWT 简介 1. 什么是 AWT#xff1f; 2. AWT 的基本组件 3. AWT 编程示例 二、Swing 的诞生与进化 1. Swing 的特点 2. Swing 和 AWT 的主要区别 3. Swing 的基本组件 三、Swing 编程的基础示例 四、Swing 的高级功能 1. 布局管理器 2. 事件监听 3…目录 前言 一、AWT 简介 1. 什么是 AWT 2. AWT 的基本组件 3. AWT 编程示例 二、Swing 的诞生与进化 1. Swing 的特点 2. Swing 和 AWT 的主要区别 3. Swing 的基本组件 三、Swing 编程的基础示例 四、Swing 的高级功能 1. 布局管理器 2. 事件监听 3. 自定义外观 五、综合案例计算器 六、总结 前言 Java 提供了强大的图形用户界面GUI工具用于创建跨平台的桌面应用程序。从早期的 AWTAbstract Window Toolkit到更先进的 SwingJava GUI 编程逐步演进解决了跨平台一致性、组件丰富性以及性能等问题。本篇博客将详细讲解从 AWT 到 Swing 的过渡。 一、AWT 简介 1. 什么是 AWT AWTAbstract Window Toolkit是 Java 1.0 提供的一个 GUI 工具包它使用系统的本地 GUI 组件如 Windows 的按钮、macOS 的窗口等来构建界面。由于 AWT 依赖于本地操作系统的组件因此具有如下特点 优点 跨平台支持能在不同操作系统中运行。轻量级组件直接调用本地系统资源。 缺点 限制较多组件功能单一难以满足复杂 GUI 的需求。外观不一致不同操作系统上的显示效果可能不同。不灵活自定义组件的能力有限。 2. AWT 的基本组件 AWT 提供了一些基本组件例如 Container顶级容器如 Frame、Panel用于容纳其他组件。Component基本组件如 Button、Label、TextField。Layout Manager布局管理器用于控制组件的排列方式。 3. AWT 编程示例 import java.awt.*;public class AWTExample {public static void main(String[] args) {// 创建 Frame 窗口Frame frame new Frame(AWT Example);frame.setSize(300, 200);frame.setLayout(new FlowLayout());// 添加组件Label label new Label(AWT Label);Button button new Button(Click Me);frame.add(label);frame.add(button);// 显示窗口frame.setVisible(true);} }二、Swing 的诞生与进化 为了弥补 AWT 的不足Java 在 JDK 1.2 中引入了 Swing。Swing 是基于 AWT 的扩展它不仅解决了 AWT 的缺陷还大大增强了 GUI 开发的能力。 1. Swing 的特点 轻量级组件Swing 的组件不依赖于本地操作系统而是用纯 Java 实现。丰富的组件库提供了大量高级组件如 JTable、JTree、JTabbedPane 等能够满足复杂的用户界面需求。可定制性Swing 支持基于 Pluggable Look-and-Feel 的外观定制可以实现跨平台一致的用户界面。事件驱动模型通过事件监听器机制处理用户交互。 2. Swing 和 AWT 的主要区别 特性AWTSwing组件实现依赖本地操作系统的组件纯 Java 实现轻量级组件组件外观外观由操作系统决定支持跨平台外观可自定义线程模型非线程安全大多数操作需要在事件调度线程中完成组件种类基本组件如 Button、Label丰富组件如 JButton、JLabel功能扩展性功能有限扩展困难支持高级功能易于扩展 3. Swing 的基本组件 Swing 的组件以 J 开头例如 顶级容器JFrame、JDialog、JApplet。基本组件JButton、JLabel、JTextField、JCheckBox。高级组件JTable、JTree、JTabbedPane、JScrollPane。 三、Swing 编程的基础示例 以下是一个使用 Swing 创建简单窗口的示例 import javax.swing.*;public class SwingExample {public static void main(String[] args) {// 创建 JFrame 窗口JFrame frame new JFrame(Swing Example);frame.setSize(300, 200);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 添加组件JLabel label new JLabel(Hello, Swing!);JButton button new JButton(Click Me);frame.setLayout(new java.awt.FlowLayout());frame.add(label);frame.add(button);// 显示窗口frame.setVisible(true);} }四、Swing 的高级功能 1. 布局管理器 Swing 提供了多种布局管理器用于控制组件在容器中的排列方式 FlowLayout按添加顺序从左到右排列。BorderLayout分为东、南、西、北、中五个区域。GridLayout以网格形式排列组件。BoxLayout允许组件在垂直或水平方向排列。 frame.setLayout(new BorderLayout()); frame.add(new JButton(North), BorderLayout.NORTH); frame.add(new JButton(South), BorderLayout.SOUTH); frame.add(new JButton(East), BorderLayout.EAST); frame.add(new JButton(West), BorderLayout.WEST); frame.add(new JButton(Center), BorderLayout.CENTER);2. 事件监听 Swing 使用事件监听器来处理用户操作例如按钮点击、鼠标移动等。 示例按钮点击事件 button.addActionListener(e - System.out.println(Button clicked!)); 3. 自定义外观 Swing 支持修改外观Look-and-Feel可以通过以下代码设置跨平台外 try {UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); } catch (Exception e) {e.printStackTrace(); }五、综合案例计算器 以下是一个简单的 Swing 计算器示例 import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Stack;public class Calculator {public static void main(String[] args) {JFrame frame new JFrame(Calculator);frame.setSize(400, 500);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setLayout(new BorderLayout());// 显示区域JTextField display new JTextField();display.setFont(new Font(Arial, Font.BOLD, 24));frame.add(display, BorderLayout.NORTH);// 按钮区域JPanel buttonPanel new JPanel();buttonPanel.setLayout(new GridLayout(4, 4));String[] buttons {7, 8, 9, /,4, 5, 6, *,1, 2, 3, -,C, 0, , };for (String text : buttons) {JButton button new JButton(text);button.setFont(new Font(Arial, Font.BOLD, 20));buttonPanel.add(button);// 按钮事件监听button.addActionListener(new ActionListener() {Overridepublic void actionPerformed(ActionEvent e) {String command e.getActionCommand();if (command.equals()) {// 计算结果try {display.setText(evaluateExpression(display.getText()));} catch (Exception ex) {display.setText(Error);}} else if (command.equals(C)) {// 清空输入框display.setText();} else {// 更新显示display.setText(display.getText() command);}}});}frame.add(buttonPanel, BorderLayout.CENTER);// 显示窗口frame.setVisible(true);}// 方法计算输入的数学表达式private static String evaluateExpression(String expression) {// 使用栈进行数学表达式的求值StackDouble values new Stack();StackCharacter operators new Stack();// 处理输入的表达式for (int i 0; i expression.length(); i) {char ch expression.charAt(i);// 跳过空格if (ch ) continue;// 如果是数字处理多位数if (Character.isDigit(ch)) {StringBuilder num new StringBuilder();while (i expression.length() (Character.isDigit(expression.charAt(i)) || expression.charAt(i) .)) {num.append(expression.charAt(i));i;}i--; // 回退一个字符values.push(Double.parseDouble(num.toString()));} // 如果是左括号压入栈else if (ch () {operators.push(ch);} // 如果是右括号解决括号中的内容else if (ch )) {while (operators.peek() ! () {values.push(applyOperation(operators.pop(), values.pop(), values.pop()));}operators.pop(); // 弹出 (} // 如果是运算符处理优先级并执行运算else if (ch || ch - || ch * || ch /) {while (!operators.isEmpty() hasPrecedence(ch, operators.peek())) {values.push(applyOperation(operators.pop(), values.pop(), values.pop()));}operators.push(ch);}}// 处理剩下的运算符while (!operators.isEmpty()) {values.push(applyOperation(operators.pop(), values.pop(), values.pop()));}// 最终结果return String.valueOf(values.pop());}// 方法检查当前运算符的优先级private static boolean hasPrecedence(char op1, char op2) {if (op2 ( || op2 )) return false;return (op1 ! * op1 ! /) || (op2 ! op2 ! -);}// 方法执行基本的算术运算private static double applyOperation(char op, double b, double a) {switch (op) {case : return a b;case -: return a - b;case *: return a * b;case /: if (b 0) throw new UnsupportedOperationException(Cannot divide by zero);return a / b;}return 0;} }后续会模拟一个跟手机差不多的计算器。 六、总结 Java Swing 的出现极大地提升了 Java GUI 编程的能力它克服了 AWT 的局限提供了更强大的组件库和更高的灵活性。在实际开发中Swing 仍然是构建桌面应用程序的常用工具尽管随着 JavaFX 的发展Swing 的使用场景有所减少但依然是学习 Java GUI 编程的良好起点。
http://www.w-s-a.com/news/863246/

相关文章:

  • 新津县建设局网站怎么做区块链网站
  • 网站设计与制作是什么专业广州优化网站
  • 腾讯有做淘宝客网站吗网站开发包
  • 网站整体营销方案网站建设百度贴吧
  • 宣传式网站养生网站模板
  • 临猗网站建设天津做网站哪家服务好
  • 郑州做网站九零后用织梦建设网站的步骤
  • 莱芜网站优化加徽信xiala5江都网站制作
  • 网站开发工具书焦作网站开发公司电话
  • 石狮网站建设报价百度爱采购怎么优化排名
  • 广州网站开发系统如何建设百度网站
  • 免费建立一个个人网站网站流量图怎么做
  • 微信网站建设公司首选网站后台更新 前台不显示
  • 撰写网站专题活动策划方案未成年做网站
  • 免费在线响应式网站自助建站网页设计与网站建设试卷
  • 四川省肿瘤医院搜索优化整站优化
  • 新钥匙建站深圳创业补贴政策2023
  • 建网站需要准备什么网站三个月没排名
  • 网站运营规划网站推广的手段
  • cvm可以做网站服务器吗网片围栏
  • 培训前端网站开发网站开发 群
  • 成都武侯区网站建设wordpress菜单分类目录
  • 牡丹江市西安区建设局网站给公司做的东西放到自己网站上
  • 做网站的前景如何郑州seo规则
  • 学校户网站建设方案专业设计服务
  • 电子商务网站建设好么有一个网站怎么做cpc
  • 镇海住房和建设交通局网站跨境电商就是忽悠人的
  • 维修网站怎么做跨境电商发展现状如何
  • 手机网站设计公司皆选亿企邦桐乡市建设局官方网站
  • 企业培训 电子商务网站建设 图片山东省住房和城乡建设厅网站主页