首页编程java编程java界面设计代码,简单的Java窗口代码

java界面设计代码,简单的Java窗口代码

编程之家2026-06-02823次浏览

大家好,今天给各位分享java界面设计代码的一些知识,其中也会对简单的Java窗口代码进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!

java界面设计代码,简单的Java窗口代码

用Java语言设计一个界面,

首先:采用什么技术实现

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

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

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

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

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

java界面设计代码,简单的Java窗口代码

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

单选按钮需要用到组件JRadioButton

复选框需要用到组件JCheckBox

组合框需要用到组件JComboBox

图片效果

参考代码如下

//导入所需要的包

importjava.awt.event.*;

importjavax.swing.border.*;

importjavax.swing.*;

importjava.awt.*;

publicclassClassFrameextendsJFrame{//写一个类继承自JFrame窗体

//定义组件

privatestaticfinallongserialVersionUID=1L;

privateJPanelcontentPane;

privateJTextFieldtfName,tfNum,allInfo;

privateJRadioButtonrb1,rb2;

privateJCheckBoxcb1,cb2,cb3;

privateJComboBox<String>t1,t2,t3;

publicstaticvoidmain(String[]args){

EventQueue.invokeLater(newRunnable(){

publicvoidrun(){

try{

ClassFrameframe=newClassFrame();//创建一个窗口实例

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

}catch(Exceptione){

e.printStackTrace();

}

}

});

}

/**

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

*/

publicClassFrame(){

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

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

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

setLocationRelativeTo(null);//窗体居中

contentPane=newJPanel();//内容面板

contentPane.setBorder(newEmptyBorder(5,5,5,5));

contentPane.setLayout(newBorderLayout(0,0));//设置布局

setContentPane(contentPane);

JPanelpanel=newJPanel(newGridLayout(5,1,5,10));//5行1列的表格布局

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

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

JPanelpanel_1=newJPanel();

panel.add(panel_1);

JLabellabel=newJLabel("姓名");

panel_1.add(label);

tfName=newJTextField();

panel_1.add(tfName);

tfName.setColumns(10);

JLabellabel_2=newJLabel("学号");

panel_1.add(label_2);

tfNum=newJTextField();

tfNum.setColumns(10);

panel_1.add(tfNum);

rb1=newJRadioButton("男");

panel_1.add(rb1);

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

rb2=newJRadioButton("女");

panel_1.add(rb2);

ButtonGroupbts=newButtonGroup();//单选按钮需要加入同一个ButonGroup中才能生效

bts.add(rb1);

bts.add(rb2);

JPanelpanel_2=newJPanel();

panel.add(panel_2);

cb1=newJCheckBox("高等数学");

panel_2.add(cb1);

t1=newJComboBox<String>();

t1.setModel(newDefaultComboBoxModel<String>(newString[]{"林老师","赵老师","孙老师"}));

panel_2.add(t1);

JPanelpanel_3=newJPanel();

panel.add(panel_3);

cb2=newJCheckBox("世界经济");

panel_3.add(cb2);

t2=newJComboBox<String>();

t2.setModel(newDefaultComboBoxModel<String>(newString[]{"张老师","刘老师"}));

panel_3.add(t2);

JPanelpanel_4=newJPanel();

panel.add(panel_4);

cb3=newJCheckBox("音乐赏析");

panel_4.add(cb3);

t3=newJComboBox<String>();

t3.setModel(newDefaultComboBoxModel<String>(newString[]{"王老师","周老师"}));

panel_4.add(t3);

JPanelpanel_5=newJPanel();

panel.add(panel_5);

JButtonjbOk=newJButton("确定");

panel_5.add(jbOk);

JButtonjbRest=newJButton("重填");

panel_5.add(jbRest);

JPanelpanelSouth=newJPanel();

contentPane.add(panelSouth,BorderLayout.SOUTH);

JLabellabe=newJLabel("选课信息");

labe.setHorizontalAlignment(SwingConstants.LEFT);

panelSouth.add(labe);

allInfo=newJTextField();

allInfo.setColumns(30);

panelSouth.add(allInfo);

JPanelpanelNorth=newJPanel();

contentPane.add(panelNorth,BorderLayout.NORTH);

JLabellabelTitle=newJLabel("学生选课界面");

labelTitle.setForeground(Color.DARK_GRAY);

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

panelNorth.add(labelTitle);

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

jbOk.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

StringBuilderinfo=newStringBuilder();

Stringname=tfName.getText();

Stringnum=tfNum.getText();

Stringsex;

if(rb1.isSelected()){

sex="男";

}else{

sex="女";

}

info.append(name+num+sex);

if(cb1.isSelected()){

Stringc=cb1.getText();

Stringt=t1.getSelectedItem().toString();

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

}

if(cb2.isSelected()){

Stringc=cb2.getText();

Stringt=t2.getSelectedItem().toString();

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

}

if(cb3.isSelected()){

Stringc=cb3.getText();

Stringt=t3.getSelectedItem().toString();

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

}

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

}

});

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

jbRest.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

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写一个登陆界面代码。

概述具体框架使用jframe,文本框组件:JTextField;密码框组件:JPasswordField;标签组件:JLabel;复选框组件:JCheckBox;单选框组件:JRadioButton;按钮组件JButton。

登录界面:

代码实例

import javax.swing.*;

import java.awt.*;//导入必要的包

public class denglu extends JFrame{

JTextField jTextField;//定义文本框组件

JPasswordField jPasswordField;//定义密码框组件

JLabel jLabel1,jLabel2;

JPanel jp1,jp2,jp3;

JButton jb1,jb2;//创建按钮

public denglu(){

jTextField= new JTextField(12);

jPasswordField= new JPasswordField(13);

jLabel1= new JLabel("用户名");

jLabel2= new JLabel("密码");

jb1= new JButton("确认");

jb2= new JButton("取消");

jp1= new JPanel();

jp2= new JPanel();

jp3= new JPanel();

//设置布局

this.setLayout(new GridLayout(3,1));

jp1.add(jLabel1);

jp1.add(jTextField);//第一块面板添加用户名和文本框

jp2.add(jLabel2);

jp2.add(jPasswordField);//第二块面板添加密码和密码输入框

jp3.add(jb1);

jp3.add(jb2);//第三块面板添加确认和取消

// jp3.setLayout(new FlowLayout());//因为JPanel默认布局方式为FlowLayout,所以可以注销这段代码.

this.add(jp1);

this.add(jp2);

this.add(jp3);//将三块面板添加到登陆框上面

//设置显示

this.setSize(300, 200);

//this.pack();

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

this.setTitle("登陆");

}

public static void main(String[] args){

new denglu();

}

}

拓展内容java swing包

Swing是一个为Java设计的GUI工具包。

Swing是JAVA基础类的一部分。

Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。

Swing提供许多比AWT更好的屏幕显示元素。它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT。它们是JFC的一部分。它们支持可更换的面板和主题(各种操作系统默认的特有主题),然而不是真的使用原生平台提供的设备,而是仅仅在表面上模仿它们。这意味着你可以在任意平台上使用JAVA支持的任意面板。轻量级组件的缺点则是执行速度较慢,优点就是可以在所有平台上采用统一的行为。

概念解析:

JFrame_ java的GUI程序的基本思路是以JFrame为基础,它是屏幕上window的对象,能够最大化、最小化、关闭。

JPanel_ Java图形用户界面(GUI)工具包swing中的面板容器类,包含在javax.swing包中,可以进行嵌套,功能是对窗体中具有相同逻辑功能的组件进行组合,是一种轻量级容器,可以加入到JFrame窗体中。。

JLabel_ JLabel对象可以显示文本、图像或同时显示二者。可以通过设置垂直和水平对齐方式,指定标签显示区中标签内容在何处对齐。默认情况下,标签在其显示区内垂直居中对齐。默认情况下,只显示文本的标签是开始边对齐;而只显示图像的标签则水平居中对齐。

JTextField_一个轻量级组件,它允许编辑单行文本。

JPasswordField_允许我们输入了一行字像输入框,但隐藏星号(*)或点创建密码(密码)

JButton_ JButton类的实例。用于创建按钮类似实例中的"Login"。

java swing界面设计

GUI图形界面设计的重点是布局

SWING也是采用AWT的布局方式,进行布局管理的。(实现LayoutManager接口的方法,来进行管理布局,API中已有实现类,我们通常只需要指定实现类,而不需要自己重写方法)

常用的布局有绝对布局,边界布局BorderLayout,流布局FlowLayout,表格布局GridLayout。

JFrame等重量级组件,默认布局是边界布局,JPanel轻量级组件,默认布局是流布局

绝对布局:布局的特点,需要指定每个组件的大小,和具体位置。

优点:充分的自定义,充分的自由,可以写出漂亮的,细致的界面

缺点:绝对布局在不同的操作系统下,会有一些不同程度的变化,导致界面变形,甚至组件重叠等。在同一操作系统下,窗口放大缩小,界面也会变形

绝对布局的范例

importjavax.swing.JButton;

importjavax.swing.JFrame;

publicclassFrame1extendsJFrame{

JButtonjb1;

publicFrame1(){

setLayout(null);//指定窗口的布局管理器为空,也就是绝对布局

jb1=newJButton("按钮");

jb1.setLocation(100,50);//指定组件的位置

jb1.setSize(80,30);//指定组件的大小

//jb1.setBounds(100,50,80,30);//上面两句代码等同于这句代码

add(jb1);

setSize(300,200);

setLocationRelativeTo(null);

setDefaultCloseOperation(EXIT_ON_CLOSE);

}

publicstaticvoidmain(String[]args){

newFrame1().setVisible(true);

}

}边界布局BorderLayout:它可以对容器组件进行安排,并调整其大小,使其符合下列五个区域:北、南、东、西、中。每个区域最多只能包含一个组件

优点:比较常用的布局,简单易掌握,放大缩小,不影响组件的位置

缺点:组件位置不够灵活。每个区域如果添加多个组件,那么后面的组件会覆盖前面的组件。(因为可以嵌套其他组件使用,所以这些缺点基本都能克服)

3.代码参考

importjavax.swing.*;

importjava.awt.*;

publicclassP004_BorderLayout{

JFramejframe;

JButtonjb1,jb2,jb3,jb4,jb5;

publicP004_BorderLayout(){

jframe=newJFrame();

jframe.setTitle("边界布局");

jframe.setBounds(300,200,180,180);

jb1=newJButton("东");

jframe.add(jb1,BorderLayout.EAST);

jb2=newJButton("西");

jframe.add(jb2,BorderLayout.WEST);

jb3=newJButton("南");

jframe.add(jb3,BorderLayout.SOUTH);

jb4=newJButton("北");

jframe.add(jb4,BorderLayout.NORTH);

jb5=newJButton("中");

jframe.add(jb5);//BorderLayout.CENTER可以省略

jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

jframe.setVisible(true);

}

publicstaticvoidmain(String[]args){

newP004_BorderLayout();

}

}

流布局FlowLayout:像一排文字一个挨着一个的布局。流布局用于安排有向流中的组件,这非常类似于段落中的文本行。流的方向可以指定。

优点:可以快速添加组件,不用指定位置,也不用指定边界

缺点:线性排列,外观单调。(嵌套其他布局,可以忽略缺点)

代码参考

importjava.awt.FlowLayout;

importjavax.swing.*;

publicclassP003_FlowLayout{

JFramejframe;

publicP003_FlowLayout(){

jframe=newJFrame("流式布局");

for(inti=1;i<=5;i++){

jframe.add(newJButton(i+""));

}

jframe.setLocation(380,260);

jframe.setLayout(newFlowLayout(FlowLayout.LEFT));//窗口指定位流式布局,方向从左往右

jframe.pack();

jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

jframe.setVisible(true);

}

publicstaticvoidmain(String[]args){

newP003_FlowLayout();

}

}

表格布局GridLayout:它以矩形网格形式对容器的组件进行布置。容器被分成大小相等的矩形,一个矩形中放置一个组件。

优点:组件整齐排列,

缺点:如果添加的组件数量,和指定的数量不一致,容易导致缺失等

参考代码

importjavax.swing.*;

importjava.awt.*;

publicclassP005_GridLayout{

JFramejframe;

publicP005_GridLayout(){

jframe=newJFrame("表格布局");

jframe.setLayout(newGridLayout(3,4));//表格布局,3行4列

for(inti=0;i<=12;i++){

jframe.add(newJButton(i+""));

}

jframe.setLocation(300,200);

jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

jframe.pack();

jframe.setVisible(true);

}

publicstaticvoidmain(String[]args){

newP005_GridLayout();

}

}

最后:布局是一种灵活的东西。你可以一个布局里嵌套另外一个布局。

比如边界布局的窗口的中间,加入按表格布局的组件,表格布局里面是流式布局。

很多的复杂的界面,通过细分,都能拆分成常用布局的嵌套

java界面设计代码和简单的Java窗口代码的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!

分解机的零件,机械零件3d免费模型库java软件及应用下载?java软件下载