「javagui结构」javagui组件

博主:adminadmin 2022-12-01 00:37:07 88

本篇文章给大家谈谈javagui结构,以及javagui组件对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

在java中什么是GUI?构成GUI的要素有哪些?

GUI 是图形用户界面

JAVA中的编写图形界面的是

java.awt和javax.swing两个包

JAVA有很多GUI产品,eclipse就是

Java GUI中有哪几种常用的布局方式,各有什么特点?

最经常用到的如下:

1、BorderLayout布局,统领整个框架的布局

2、GridBagLayout网格包布局,细微点修饰

3、空布局,有些时候空布局也会用得很多。但一个窗口大小不变的时候,那么空布局也显得非常好

java中GUI的实现方式是???

其实无论在什么平台下,GUI应用程序的基本开发方法都是相似的。一般都包括下面这样四个步骤:

①创建容器

首先要创建一个GUI应用程序,需要创建一个用于容纳所有其它GUI组件元素的载体,Java中称为容器。典型的包括窗口(Window)、框架(Frame/JFrame)、对话框(Dialog/JDialog)、面板(Panel/JPanel)等。只有先创建了这些容器,其它界面元素如按钮(Button/JButton)、标签(Label/JLabel)、文本框(TextField/JTextField)等才有地方放。 ②添加组件

为了实现GUI应用程序的功能,为了与用户交换,需要在容器上添加各种组件/控件。这需要根据具体的功能要求来决定用什么组件。例如,如果需要提示信息,可用标签(Label/JLabel);如果需要输入少量文本,可用文本框(TextField/JTextField);如果需要输入较多文本,可用文本区域(TextArea/JTextArea);如果需要输入密码,可用密码域(JPasswordField)等等。

③安排组件

与传统的Windows环境下的GUI软件开发工具不同,为了更好地实现跨平台,Java程序中各组件的位置、大小一般不是以绝对量来衡量,而是以相对量来衡量。例如有时候,程序的组件的位置是按"东/East"、"西/West"、"南/South"、"北/North"、"中 /Center"这种方位来标识的。因此,在组织界面时,除了要考虑所需的组件种类外,还需要考虑如何安排这些组件的位置与大小。这一般是通过设置布局管理器(Layout Manager)及其相关属性来实现的。事实上上述按方位来安排组件就是采用了Java中多种布局管理器里的BorderLayout布局管理器。

④处理事件

为了完成一个GUI应用程序所应具备的功能,除了适当地安排各种组件产生美观的界面外,还需要处理各种界面元素事件,以便真正实现与用户的交换,完成程序的功能。在Java程序中这一般是通过实现适当的事件监听者接口来完成的。比如如果需要响应按钮事件,就需要实现 ActionListener监听者接口;如果需要响应窗口事件,就需要实现WindowListener监听者接口。

java中的GUI

其实你也不用严格的按着几步来做:

1,导入包也就是

import java.awt.*;

import java.awt.event.*;

或者import javax.swing.*;

import javax.swing.event.*;

2,构造,估计就是构造方法,就是初始化你的组件,

3,不知道

4,应该是给组件加监视器

5,实现接口的方法,也就是当你按了按钮或选择了菜单项会发生的动作

java编程中,GUI界面的一般框架有什么??希望大神给写个程序实例,程序内容包括布局的应用,多个

java   GUI一般,通过AWT,SWING 实现

其余比较流行的是SWT,但是它不是官方库, 并且不能跨平台

//注意:

Swing, 所以很多不涉及界面组件的一些类比如布局 等Swing也可以使用

但是组件,最好不要混用, 容易出现一些组件叠加,等显示错误 比如JButton TextField等混用

//参考代码

下面使用Swing组件来实现

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

//本类实现了ActionListener接口. 一个ActionListener可以响应JMenuItem 和JButton的动作

//本类实现FocusListener接口,一个FocusListener可以响应JTextField,JButton等

//JButton响应多个事件接口

public class MyGuiFrame extends JFrame implements ActionListener, FocusListener {

private JTextField jtf1;

private JTextField jtf2;

private JTextField jtf3;

private JButton jb1;

public MyGuiFrame() {

// ----------窗口属性的设置----------

setTitle("窗口应用程序");// 窗口标题

setSize(380, 120);// 窗口大小

setLocationRelativeTo(null);// 窗口居于屏幕中央

setDefaultCloseOperation(EXIT_ON_CLOSE);// 点击关闭窗口后退出jvm虚拟机

getContentPane().setLayout(new BorderLayout(5, 3));// 边界布局,水平间距5,垂直间距3

// 菜单栏组件初始化

initMenu();

// 主要面板的初始化

initPanel();

}

private void initPanel() {

JPanel jp = new JPanel(new FlowLayout(FlowLayout.CENTER));// 流式布局

jtf1 = new JTextField(8);

jtf1.addFocusListener(this);// 添加焦点响应

JLabel jl = new JLabel("+");

jtf2 = new JTextField(8);

jtf2.addFocusListener(this);

jb1 = new JButton("=");

jb1.addActionListener(this);// 添加动作响应

jb1.addFocusListener(this);// 添加焦点响应

jtf3 = new JTextField(8);

jtf3.setEditable(false);

jp.add(jtf1);

jp.add(jl);

jp.add(jtf2);

jp.add(jb1);

jp.add(jtf3);

getContentPane().add(jp, BorderLayout.CENTER);

}

private void initMenu() {// 菜单栏的初始化和 设置

JMenuBar jmb = new JMenuBar();

JMenu jm1 = new JMenu("系统");

JMenuItem jmi101 = new JMenuItem("退出");

jmi101.addActionListener(this);// 添加动作响应

JMenu jm2 = new JMenu("帮助");

JMenuItem jmi201 = new JMenuItem("功能说明");

jmi201.addActionListener(this);

jm1.add(jmi101);

jm2.add(jmi201);

jmb.add(jm1);

jmb.add(jm2);

setJMenuBar(jmb);//设置菜单栏

}

// main方法, 创建对象窗口, 并且设置可见

public static void main(String[] args) {

new MyGuiFrame().setVisible(true);

}

// 动作响应处理

public void actionPerformed(ActionEvent e) {

String cmd = e.getActionCommand();//根据命令来区分不同的操作

if (cmd.equals("退出")) {

System.exit(0);

}

if (cmd.equals("功能说明")) {

JOptionPane.showMessageDialog(this, "加法");

}

if (cmd.equals("=")) {

String s1 = jtf1.getText().trim();

String s2 = jtf2.getText().trim();

if(s1.equals("")){

s1="0";

}

if(s2.equals("")){

s2="0";

}

double num1 = Double.parseDouble(s1);//从字符串转小数

double num2 = Double.parseDouble(s2);

jtf3.setText((num1 + num2) + "");// 数字类型转字符串类型

}

}

// 焦点响应处理

public void focusGained(FocusEvent e) {//获得焦点

JComponent cmp = (JComponent) e.getComponent();//根据事件来源组件来区分不同的操作

if (cmp == jtf1 || cmp == jtf2) {

cmp.setBorder(BorderFactory.createLineBorder(Color.BLUE));// 设置边框

}

if (cmp == jb1) {

jb1.setForeground(Color.RED);//设置文字颜色

}

}

public void focusLost(FocusEvent e) {//失去焦点

JComponent cmp = (JComponent) e.getComponent();

if (cmp == jtf1 || cmp == jtf2) {

cmp.setBorder(BorderFactory.createLineBorder(Color.GRAY));

}

if (cmp == jb1) {

jb1.setForeground(Color.BLACK);

}

}

}

运行效果如图

javagui结构的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于javagui组件、javagui结构的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-01,除非注明,否则均为首码项目网原创文章,转载请注明出处。