GUI는 사용자가 소프트웨어와 쉽게 상호 작용할 수 있도록 버튼, 텍스트 필드 등과 같은 사용자 친화적인 구성 요소를 갖춘 인터페이스로 정의됩니다. 그래픽 사용자 인터페이스에서는 수행할 작업이 작은 그래픽이나 그림을 사용하여 표시됩니다. 여기서는 사용자 작업에 중점을 둡니다. 사용자는 마우스를 사용하여 특정 그래픽을 클릭하여 수행할 작업을 선택함으로써 상호 작용할 수 있습니다. 예를 들어, 사용자가 파일을 인쇄하려는 경우 프린터를 묘사하는 작은 그래픽을 클릭하기만 하면 됩니다. 이번 주제에서는 Java GUI Framework에 대해 알아보겠습니다.
광고 이 카테고리에서 인기 있는 강좌 JAVA MASTERY - 전문 분야 | 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(); } }
출력:
c/C++로 작성된 네이티브 Qt 라이브러리에 대한 Java 래퍼입니다.
매우 강력하고 널리 사용되며 널리 받아들여지고 있습니다. 많은 GUI 구성 요소와 사용하기 쉬운 API가 있습니다.
IBM이 Eclipse용으로 만들었기 때문에 당시에는 Swing이 Eclipse에 적합하지 않다고 생각했던 것 같습니다.
그 자체로는 꽤 낮은 수준이며 JNI를 통해 플랫폼의 기본 위젯을 사용합니다. Swing 및 AWT와는 전혀 관련이 없습니다.
SWT는 구현된 운영 체제의 사용자 인터페이스 기능에 효율적이고 이식 가능한 액세스를 제공하도록 설계된 Java용 오픈 소스 위젯 툴킷입니다.
Java2D를 사용하여 UI를 렌더링하므로 Swing 및 AWT의 (IMO, 비대해진) 유산의 영향을 최소화합니다.
주로 RIA(Rich Internet Application)에 중점을 두는 것 같으나 데스크톱 애플리케이션에도 적용할 수 있을 것 같습니다.
JGoodies OTOH는 PLAF와 레이아웃에 관한 것입니다.
Java/Oracle의 최신 주력 제품입니다. 풍부한 데스크톱 또는 웹 애플리케이션 개발의 사실상 표준이 될 것을 약속합니다.
위 내용은 자바 GUI 프레임워크의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!