GUI 被定义为具有用户友好组件(如按钮、文本字段等)以使用户轻松与软件交互的界面。在图形用户界面中,要执行的操作是通过使用小图形或图片来表示的。在这里,重点是用户操作。用户可以使用鼠标进行交互,通过单击特定图形来选择要执行的操作。例如,如果用户想要打印文件,他所需要做的就是单击描绘打印机的小图形。在本主题中,我们将学习 Java GUI 框架。
广告 该类别中的热门课程 JAVA 掌握 - 专业化 | 78 课程系列 | 15 次模拟测试开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
AWT 是用于构建 GUI 或基于窗口的应用程序的 API。
它有各种组件,例如Button、TextField、Checkbox、List。
AWT 调用操作系统子例程来创建文本框、复选框、按钮等组件。这就是为什么它依赖于平台。
有关 AWT 层次结构的一些基本概念如下:
AWT 程序:
import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; class AWTCalculator extends Frame implements ActionListener { Label label1,label2,label3; TextField text1,text2,text3; Button button1,button2,button3,button4,button5; public AWTCalculator() { label1 = new Label("Var 1"); label2 = new Label("Var 2"); label3 = new Label("Result"); text1 = new TextField(10); text2 = new TextField(10); text3 = new TextField(10); button1 = new Button("Add"); button2 = new Button("Sub"); button3 = new Button("Multi"); button4 = new Button("Div"); button5 = new Button("Close"); add(label1); add(text1); add(label2); add(text2); add(label3); add(text3); add(button1); add(button2); add(button3); add(button4); add(button5); setSize(200,200); setTitle("AWTCalculator"); setLayout(new FlowLayout()); button1.addActionListener(this); button2.addActionListener(this); button3.addActionListener(this); button4.addActionListener(this); button5.addActionListener(this); } public void actionPerformed(ActionEvent action) { double a1=0,b1=0,c1=0; try { a1 = Double.parseDouble(text1.getText()); } catch (NumberFormatException e) { text1.setText("Invalid input entered"); } try { b1 = Double.parseDouble(text2.getText()); } catch (NumberFormatException e) { text2.setText("Invalid input entered"); } if(action.getSource()==button1) { c1 = a1 + b1; text3.setText(String.valueOf(c1)); } if(action.getSource()==button2) { c1 = a1 - b1; text3.setText(String.valueOf(c1)); } if(action.getSource()==button3) { c1 = a1 * b1; text3.setText(String.valueOf(c1)); } if(action.getSource()==button4) { c1 = a1 / b1; text3.setText(String.valueOf(c1)); } if(action.getSource() == button5) { System.exit(0); } } public static void main(String[] args) { AWTCalculator calC = new AWTCalculator(); calC.setVisible(true); calC.setLocation(300,300); } }
输出:
以下是使用 Java swing 的令人信服的理由:
代码:
import javax.swing.JButton; import javax.swing.JFrame; public class JButtonDemo { JButtonDemo(){ JFrame newFrame=new JFrame(); // Creating Button JButton b=new JButton("Click"); b.setBounds(50,50,90,50); //Adding button onto the frame newFrame.add(b); // Setting Frame size. This is the window size newFrame.setSize(300,200); newFrame.setLayout(null); newFrame.setVisible(true); newFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { new JButtonDemo(); } }
输出:
代码:
import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; public class JButtonDemo { JButtonDemo(){ JFrame newFrame=new JFrame(); Icon icon = new ImageIcon("edit.png"); // Creating Button JButton b=new JButton(icon); b.setBounds(50,50,90,50); //Adding button onto the frame newFrame.add(b); // Setting Frame size. This is the window size newFrame.setSize(300,200); newFrame.setLayout(null); newFrame.setVisible(true); newFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { new JButtonDemo(); } }
输出:
原生 qt 库的 java 包装器,用 c/c++ 编写。
它非常强大,被广泛使用并被接受。拥有大量 GUI 组件和易于使用的 API。
IBM 为 Eclipse 创建的,当时他们似乎认为 Swing 不适合 Eclipse。
它本身是相当低级的,它通过 JNI 使用平台的本机小部件。与Swing和AWT完全无关。
SWT 是一个用于 Java 的开源小部件工具包,旨在提供对实现它的操作系统的用户界面设施的高效、可移植的访问。
它使用 Java2D 渲染 UI,从而最大限度地减少 Swing 和 AWT(在我看来,臃肿的)遗留问题的影响。
它的主要焦点似乎是RIA(富互联网应用程序),但它似乎也可以应用于桌面应用程序。
JGoodies OTOH 是关于 PLAF 和布局的。
Java/Oracle的最新旗舰。有望成为开发丰富桌面或 Web 应用程序的事实标准。
以上是Java图形用户界面框架的详细内容。更多信息请关注PHP中文网其他相关文章!