更新时间:2022-12-05 12:23:43 来源:极悦 浏览923次
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天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习