JAVA用户界面设计(java用户界面设计计算矩形周长面积)

http://www.itjxue.com  2023-02-03 21:09  来源:未知  点击次数: 

用Java语言设计一个界面,

首先:采用什么技术实现

java语言可以使用awt 和swing等技术实现图形界面

推荐使用Swing,因为Swing比AWT更专业,更漂亮,组件更丰富,功能更强大。

2. ??其次:分析采用什么布局

边界布局BorderLayout,配合表格布局GridLayout,既简单又美观

3. ??最后:分析需求中需要用的组件

学生姓名 学号 ?显示信息 需要用到文本框JTextField

单选按钮 需要用到组件?JRadioButton

复选框 ? ?需要用到组件?JCheckBox

组合框 ? ?需要用到组件?JComboBox

图片效果

参考代码如下

//导入所需要的包

import?java.awt.event.*;

import?javax.swing.border.*;

import?javax.swing.*;

import?java.awt.*;

public?class?ClassFrame?extends?JFrame?{//?写一个类继承自JFrame?窗体

//?定义组件

private?static?final?long?serialVersionUID?=?1L;

private?JPanel?contentPane;

private?JTextField?tfName,?tfNum,?allInfo;

private?JRadioButton?rb1,?rb2;

private?JCheckBox?cb1,?cb2,?cb3;

private?JComboBoxString?t1,?t2,?t3;

public?static?void?main(String[]?args)?{

EventQueue.invokeLater(new?Runnable()?{

public?void?run()?{

try?{

ClassFrame?frame?=?new?ClassFrame();//?创建一个窗口实例

frame.setVisible(true);//?让该窗口实例可见

}?catch?(Exception?e)?{

e.printStackTrace();

}

}

});

}

/**

?*?窗口属性的设置,内部组件的初始化

?*/

public?ClassFrame()?{

setTitle("选课ing...");//标题

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//?设置关闭是退出JVM

setSize(450,?339);//?设置窗体大小

setLocationRelativeTo(null);//?窗体居中

contentPane?=?new?JPanel();//?内容面板

contentPane.setBorder(new?EmptyBorder(5,?5,?5,?5));

contentPane.setLayout(new?BorderLayout(0,?0));//?设置布局

setContentPane(contentPane);

JPanel?panel?=?new?JPanel(new?GridLayout(5,?1,?5,?10));//5行1列的表格布局

panel.setBorder(new?TitledBorder(null,?"",?TitledBorder.LEADING,?TitledBorder.TOP,?null,?null));

contentPane.add(panel,?BorderLayout.CENTER);//给panel添加边框

JPanel?panel_1?=?new?JPanel();

panel.add(panel_1);

JLabel?label?=?new?JLabel("姓名");

panel_1.add(label);

tfName?=?new?JTextField();

panel_1.add(tfName);

tfName.setColumns(10);

JLabel?label_2?=?new?JLabel("学号");

panel_1.add(label_2);

tfNum?=?new?JTextField();

tfNum.setColumns(10);

panel_1.add(tfNum);

rb1?=?new?JRadioButton("男");

panel_1.add(rb1);

rb1.setSelected(true);//设置单选按钮中,默认选择的按钮

rb2?=?new?JRadioButton("女");

panel_1.add(rb2);

ButtonGroup?bts?=?new?ButtonGroup();//单选按钮需要加入同一个ButonGroup中才能生效

bts.add(rb1);

bts.add(rb2);

JPanel?panel_2?=?new?JPanel();

panel.add(panel_2);

cb1?=?new?JCheckBox("高等数学");

panel_2.add(cb1);

t1?=?new?JComboBoxString();

t1.setModel(new?DefaultComboBoxModelString(new?String[]?{?"林老师",?"赵老师",?"孙老师"?}));

panel_2.add(t1);

JPanel?panel_3?=?new?JPanel();

panel.add(panel_3);

cb2?=?new?JCheckBox("世界经济");

panel_3.add(cb2);

t2?=?new?JComboBoxString();

t2.setModel(new?DefaultComboBoxModelString(new?String[]?{?"张老师",?"刘老师"?}));

panel_3.add(t2);

JPanel?panel_4?=?new?JPanel();

panel.add(panel_4);

cb3?=?new?JCheckBox("音乐赏析");

panel_4.add(cb3);

t3?=?new?JComboBoxString();

t3.setModel(new?DefaultComboBoxModelString(new?String[]?{?"王老师",?"周老师"?}));

panel_4.add(t3);

JPanel?panel_5?=?new?JPanel();

panel.add(panel_5);

JButton?jbOk?=?new?JButton("确定");

panel_5.add(jbOk);

JButton?jbRest?=?new?JButton("重填");

panel_5.add(jbRest);

JPanel?panelSouth?=?new?JPanel();

contentPane.add(panelSouth,?BorderLayout.SOUTH);

JLabel?labe?=?new?JLabel("选课信息");

labe.setHorizontalAlignment(SwingConstants.LEFT);

panelSouth.add(labe);

allInfo?=?new?JTextField();

allInfo.setColumns(30);

panelSouth.add(allInfo);

JPanel?panelNorth?=?new?JPanel();

contentPane.add(panelNorth,?BorderLayout.NORTH);

JLabel?labelTitle?=?new?JLabel("学生选课界面");

labelTitle.setForeground(Color.DARK_GRAY);

labelTitle.setFont(new?Font("宋体",?Font.BOLD,?20));

panelNorth.add(labelTitle);

//给确定按钮添加事件处理代码

jbOk.addActionListener(new?ActionListener()?{

public?void?actionPerformed(ActionEvent?e)?{

StringBuilder?info?=?new?StringBuilder();

String?name?=?tfName.getText();

String?num?=?tfNum.getText();

String?sex;

if?(rb1.isSelected())?{

sex?=?"男";

}?else?{

sex?=?"女";

}

info.append(name?+?num?+?sex);

if?(cb1.isSelected())?{

String?c?=?cb1.getText();

String?t?=?t1.getSelectedItem().toString();

info.append("?"?+?c?+?t);

}

if?(cb2.isSelected())?{

String?c?=?cb2.getText();

String?t?=?t2.getSelectedItem().toString();

info.append("?"?+?c?+?t);

}

if?(cb3.isSelected())?{

String?c?=?cb3.getText();

String?t?=?t3.getSelectedItem().toString();

info.append("?"?+?c?+?t);

}

allInfo.setText(info.toString());//把学生信息和选课信息放到文本框

}

});

//给重填按钮?设置事件处理代码

jbRest.addActionListener(new?ActionListener()?{

public?void?actionPerformed(ActionEvent?e)?{

tfName.setText("");

tfNum.setText("");

rb1.setSelected(true);

cb1.setSelected(false);

t1.setSelectedIndex(0);

cb2.setSelected(false);

t2.setSelectedIndex(0);

cb3.setSelected(false);

t3.setSelectedIndex(0);

allInfo.setText("");

}

});

}

}

Java 用户界面设计 求界面代码

一: 首先弄清题目的意思

A.需要的主要组件列表:

1. ?创建一个窗口,窗口标题叫Information

2. ?3个标签, 用于显示文字 Name Number Class

3. ?3个文本框, 用于填写信息

4. ?1个按钮, ?文字是确认

5. ?1个文本域

B.业务逻辑

1. 当点击按钮确认的时候, 把 文本框的信息显示到文本域

C.设计的主要技术

JLabel , JButton, JTextField ...等, 都是swing的组件 , ?所以应该使用swing进行创建

二: ?确定使用的布局

swing虽然重写了大部分的组件, 但是布局, 依旧沿袭awt技术

分析图片上的布局:

至少有2种方法可以实现,?

方法一: 绝对布局 , 优点: ?配合可视化GUI拖曳, 可以完美的实现图上的组件的位置

但是缺点也是致命的, 不同的操作系统平台下, 可能会出现位置的移动,

只适合开发平台, 移植效果差 . ?所以不推荐使用

方法二: 灵活的表格布局, 配合流式布局 , 所有操作系统下,显示效果都比较统一.?

三: 效果图

四: 参考代码

import?java.awt.*;

import?java.awt.event.*;

import?javax.swing.*;

public?class?FrameDemo?extends?JFrame?{

//申明需要的组件

private?final?JTextField?jtf1,jtf2,jtf3;

private?final?JTextArea?jta;

public?FrameDemo()?{

setTitle("Information");//设置窗口标题

setSize(320,?360);//设置窗口大小

setLocationRelativeTo(null);//设置窗口居中

setDefaultCloseOperation(EXIT_ON_CLOSE);//设置关闭时退出虚拟机

getContentPane().setLayout(new?FlowLayout());//设置窗口布局为流式布局

JPanel?jp?=?new?JPanel(new?GridLayout(4,?2));//设置jp面板为表格布局4行2列

//第一行

JPanel?jp01?=?new?JPanel();

JLabel?jl1?=?new?JLabel("Name:");

jp01.add(jl1);

JPanel?jp1?=?new?JPanel();

jtf1?=?new?JTextField(8);

jp1.add(jtf1);

//第二行

JPanel?jp02?=?new?JPanel();

JLabel?jl2?=?new?JLabel("Number:");

jp02.add(jl2);

JPanel?jp2?=?new?JPanel();

jtf2?=?new?JTextField(8);

jp2.add(jtf2);

//第三行

JPanel?jp03?=?new?JPanel();

JLabel?jl3?=?new?JLabel("Class:");

jp03.add(jl3);

JPanel?jp3?=?new?JPanel();

jtf3?=?new?JTextField(8);

jp3.add(jtf3);

//第四行

JPanel?jp04?=?new?JPanel();

JLabel?jl4?=?new?JLabel("");

jp04.add(jl4);

JPanel?jp4?=?new?JPanel();

JButton?jb?=?new?JButton("确认");

jp4.add(jb);

jp.add(jp01);

jp.add(jp1);

jp.add(jp02);

jp.add(jp2);

jp.add(jp03);

jp.add(jp3);

jp.add(jp04);

jp.add(jp4);

getContentPane().add(jp);

jta?=?new?JTextArea();

jta.setColumns(20);//设置文本域的大小

jta.setEditable(false);//设置文本域不可编辑

jta.setBackground(jp.getBackground());//设置文本域的背景色和面板一样

getContentPane().add(jta);

jb.addActionListener(new?ActionListener()?{//给按钮添加事件

public?void?actionPerformed(ActionEvent?e)?{//点击按钮,显示信息到文本域

String?name?=?jtf1.getText();

String?number?=?jtf2.getText();

String?clazz?=?jtf3.getText();

jta.setText("You?name?is?"+name+"?number?is?"+number+"?class?is?"+clazz);

}

});

}

public?static?void?main(String[]?args)?{

new?FrameDemo().setVisible(true);//创建窗口,被设置为可见

}

}

五: 拓展

虽然图形界面的实现方法是多样的, ?我们一定要根据具体情况, 选择一个比较优化的 合理的, 符合业务逻辑的实现方法

在java中,设计图形用户界面需要经历哪几个基本步骤

1, 分析业务需求, 理顺业务逻辑

2, 根据业务需要考虑使用何种容器(JFrame ,Frame ,JWindow..) 需要的数量.

3, 每个容器(窗口)使用组件

4.组件使用何种布局方式(边界布局,绝对布局,网格布局..),排列在容器(窗口)中

5.组件中需要响应那些事件, 把事件响应代码写好,然后绑定到组件上(addListener...)

6.调试,测试

java用户登录界面的设计?

import javax.swing.*;

import java.awt.*;

public class Frame extends JFrame {

public static void main(String[] args) {

new Frame();

}

public Frame() throws HeadlessException {

Container contentPanel = this.getContentPane();

JPanel headerPanel = new JPanel();

headerPanel.setLayout(new FlowLayout());

headerPanel.add(new JLabel("欢迎进入学生成绩管理系统"));

JPanel centerPanel = new JPanel();

centerPanel.setLayout(new GridLayout(2, 2));

centerPanel.add(new JLabel("用户名", JLabel.CENTER));

centerPanel.add(new JTextField());

centerPanel.add(new JLabel("密码", JLabel.CENTER));

centerPanel.add(new JTextField());

JPanel footerPanel = new JPanel();

footerPanel.setLayout(new FlowLayout());

footerPanel.add(new JButton("登录"));

footerPanel.add(new JButton("取消"));

contentPanel.add(headerPanel, BorderLayout.NORTH);

contentPanel.add(centerPanel, BorderLayout.CENTER);

contentPanel.add(footerPanel, BorderLayout.SOUTH);

this.setTitle("Login");

this.setBounds(0, 0, 300, 200);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

}

如何用JAVA编写一个简单用户登陆界面?

什么都不说了 直接给你代码吧\x0d\x0apackage com.moliying.ui;\x0d\x0aimport java.awt.BorderLayout;\x0d\x0aimport java.awt.Container;\x0d\x0aimport java.awt.FlowLayout;\x0d\x0aimport java.awt.List;\x0d\x0aimport java.awt.event.ActionEvent;\x0d\x0aimport java.awt.event.ActionListener;\x0d\x0aimport java.io.BufferedWriter;\x0d\x0aimport java.io.FileOutputStream;\x0d\x0aimport java.io.OutputStreamWriter;\x0d\x0aimport java.util.ArrayList;\x0d\x0aimport java.util.Arrays;\x0d\x0aimport javax.swing.JButton;\x0d\x0aimport javax.swing.JFrame;\x0d\x0aimport javax.swing.JLabel;\x0d\x0aimport javax.swing.JPanel;\x0d\x0aimport javax.swing.JPasswordField;\x0d\x0aimport javax.swing.JTextField;\x0d\x0apublic class Login {\x0d\x0aprivate JFrame frame = new JFrame("登录");\x0d\x0aprivate Container c = frame.getContentPane();\x0d\x0aprivate JTextField username = new JTextField();\x0d\x0aprivate JPasswordField password = new JPasswordField();\x0d\x0aprivate JButton ok = new JButton("确定");\x0d\x0aprivate JButton cancel = new JButton("取消");\x0d\x0apublic Login() {\x0d\x0aframe.setSize(300, 200);\x0d\x0aframe.setBounds(450, 300, 300, 200);\x0d\x0ac.setLayout(new BorderLayout());\x0d\x0ainitFrame();\x0d\x0aframe.setVisible(true);\x0d\x0a}\x0d\x0aprivate void initFrame() {\x0d\x0a// 顶部\x0d\x0aJPanel titlePanel = new JPanel();\x0d\x0atitlePanel.setLayout(new FlowLayout());\x0d\x0atitlePanel.add(new JLabel("系统管理员登录"));\x0d\x0ac.add(titlePanel, "North");\x0d\x0a// 中部表单\x0d\x0aJPanel fieldPanel = new JPanel();\x0d\x0afieldPanel.setLayout(null);\x0d\x0aJLabel a1 = new JLabel("用户名:");\x0d\x0aa1.setBounds(50, 20, 50, 20);\x0d\x0aJLabel a2 = new JLabel("密 码:");\x0d\x0aa2.setBounds(50, 60, 50, 20);\x0d\x0afieldPanel.add(a1);\x0d\x0afieldPanel.add(a2);\x0d\x0ausername.setBounds(110, 20, 120, 20);\x0d\x0apassword.setBounds(110, 60, 120, 20);\x0d\x0afieldPanel.add(username);\x0d\x0afieldPanel.add(password);\x0d\x0ac.add(fieldPanel, "Center");\x0d\x0a// 底部按钮\x0d\x0aJPanel buttonPanel = new JPanel();\x0d\x0abuttonPanel.setLayout(new FlowLayout());\x0d\x0abuttonPanel.add(ok);\x0d\x0abuttonPanel.add(cancel);\x0d\x0ac.add(buttonPanel, "South");\x0d\x0a\x0d\x0aok.addActionListener(new ActionListener() {\x0d\x0a\x0d\x0a@Override\x0d\x0apublic void actionPerformed(ActionEvent e) {\x0d\x0aSystem.out.println(username.getText().toString());\x0d\x0a}\x0d\x0a});\x0d\x0a\x0d\x0acancel.addActionListener(new ActionListener() {\x0d\x0a\x0d\x0a@Override\x0d\x0apublic void actionPerformed(ActionEvent e) {\x0d\x0aframe.setVisible(false);\x0d\x0a}\x0d\x0a});\x0d\x0a}\x0d\x0apublic static void main(String[] args) {\x0d\x0a//new Login();\x0d\x0a\x0d\x0aString ss = "abbabbbaabbbccba";\x0d\x0a\x0d\x0aSystem.out.println(ss.split("b").length);\x0d\x0a\x0d\x0a}\x0d\x0a}

(责任编辑:IT教学网)

更多

推荐ASP.NET教程文章