更新時間:2022-12-05 12:23:43 來源:動力節點 瀏覽1273次
Java圖形化用戶界面要怎么設計?小編來告訴大家。圖形化界面程序大家都使用過,一般使用一個程序過程是:打開一個程序出現一個窗口或對話框,其中一般有菜單、工具欄、文本框、按鈕、單選框、復選框等控件(組件也就是控件),用戶錄入相關數據,點按相關菜單、按鈕,程序對數據進行相關處理,并將處理后的數據顯示或者保存起來,最后關閉程序。
用java編程的相關設計步驟來分解上面的的程序運行過程如下圖所示:
對應于程序的初始顯現窗口,窗口中放入其它菜單、工具欄、文本框、按鈕等組件
頂層容器圖形化界面顯示的基礎,其它所有的組件(控件)都是直接或間接顯示在頂層容器中的。在java中頂層容器有三種,分別是JFrame(框架窗口,即通常的窗口)、JDialog(對話框)、JApplet(用于設計嵌入在網頁中的java小程序)。
對應于程序中出現的菜單、工具欄(中間容器)、文本框、按鈕、單選框、復選框等控件。
有很多Swing組件可以使用,見前面的SwingUI組件表。
在java中創建組件后,還需要將組件放入相應的容器,才能在頂層容器,如窗口中顯示出組件。
組件添加到容器中,還必須設置好組件的顯示位置,一般有兩種方法來設置組建的顯示位置,一是按照與容器的相對距離(以像素為單位),精確固定控件的位置;二是用布局管理器來管理組件在容器內的位置。
即用戶執行選擇菜單、單擊按鈕等操作時,就要執行相應的命令,進行相關的程序處理,這就需要設置組件的事件。
創建一個繼承JFrame的類
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JTextArea;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class MyJFrame01 extends JFrame {
private JPanel contentPane;
private JTextField textField;
private JButton btnNewButton;
private JTextArea textArea;
/**
* Create the frame.
*/
public MyJFrame01() {
setTitle("MyJFrame-01");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 509, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
btnNewButton = new JButton("Send");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
textArea.append(textField.getText() + "\n"); //將輸入的文本加入到文本區域
}
});
btnNewButton.setBounds(388, 10, 97, 23);
contentPane.add(btnNewButton);
textField = new JTextField();
textField.setBounds(10, 11, 368, 21);
contentPane.add(textField);
textField.setColumns(10);
textArea = new JTextArea();
textArea.setBounds(10, 43, 475, 210);
contentPane.add(textArea);
}
}
我們在Test中創建對象,使用
import java.awt.EventQueue;
public class TestJFrame {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MyJFrame01 frame = new MyJFrame01();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
}
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習