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

java编程中,GUI界面的一般框架有什么??希望大神给写个程序实例,程序内容包括布局的应用,多个事件源注册同一个事件监听器(尽量用button),以及一个组件上注册多个事件监听者的。只需要用Jbutton和JmenuItem以及Jtextfield。

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);
}
}

}


运行效果如图

追答

我发的也是程序和代码。但是手机知道只显示图片。代码需要在电脑网页知道上才能显示

并且你追问我的内容电脑网页版知道也不显示。所以你还是登陆电脑网页版知道吧。

追问

谢谢亲!!

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-01-18
不懂

java编程中,GUI界面的一般框架有什么??希望大神给写个程序实例,程序内 ...
下面使用Swing组件来实现 import java.awt.*;import java.awt.event.*;import javax.swing.*;\/\/本类实现了ActionListener接口. 一个ActionListener可以响应JMenuItem 和JButton的动作\/\/本类实现FocusListener接口,一个FocusListener可以响应JTextField,JButton等\/\/JButton响应多个事件接口public class MyGuiF...

java的gui程序设计
\/\/导入swing图形界面开发常用的3个包import java.awt.*;import java.awt.event.*;import javax.swing.*;public class AddFrame extends JFrame implements ActionListener {JTextField jtf1, jtf2, jtf3;public AddFrame() {JPanel jpcenter = new JPanel(new GridLayout(3, 2)); \/\/创建面板,...

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

java中jframe是什么意思
在Java中,JFrame是一个带有标题、按钮、滚动条、文本框等控件的顶层容器,用于创建GUI应用程序的基本框架。它允许程序员在窗口中添加各种组件来创建用户界面。JFrame容器提供了许多方法来操作和管理窗口的行为,例如最小化、最大化和关闭窗口,以及窗口的大小和位置等。JFrame是Java Swing库中最常用的容器...

用java写一个登陆界面代码。
JFrame _ java的GUI程序的基本思路是以JFrame为基础,它是屏幕上window的对象,能够最大化、最小化、关闭。JPanel _ Java图形用户界面(GUI)工具包swing中的面板容器类,包含在javax.swing 包中,可以进行嵌套,功能是对窗体中具有相同逻辑功能的组件进行组合,是一种轻量级容器,可以加入到JFrame窗体中...

简述java程序设计中界面设计中的三种布局方式
2 网格布局实例说明下面,我们来看一个新的程序!首先创建一个testGrid.java文件,并输入以下源程序:源程序:testGrid.javaimport java.awt.*;import javax.swing.*;import java.applet.Applet;public class testGrid extends JApplet{String buttonLabels[]={"No.1","No.2","No.3","No.4","No.5","No.6...

Java语言程序设计目录
Chapter 24:多线程技术Chapter 25:网络编程Chapter 26:国际化支持在Part 7 "高级GUI编程"中,你将探索:Chapter 27:JavaBeans和事件处理Chapter 28:容器、布局管理器和边框Chapter 29:菜单、工具栏、对话框和内置框架Chapter 30:MVC模式和Swing模型Chapter 31:JTable和JTree的应用最后,Part 8 "...

Java设计并实现一个应用程序,能够读取一个文本文件中的内容并显示,同时...
java编写显示文本的应用程序, 需要用到图形界面GUI编程技术.步骤一: 需要搭建一个整体的外观, 调整布局和组件的位置.主要需要使用的组件 JTextField 文本框组件: 用于当做地址栏, 填写文件的路径 JButton 按钮, 用于响应点击事件,根据地址栏的地址读取文件, 并且显示到文本域里 JTextArea 文本域, 用于...

求大神解决Java GUI界面的gridbaglayout的问题,谢谢
你要先实例化网格包布局 再添加控件 并且添加控件的方式不是在框架上添加 是添加在布局上 你这里应该是把gridBagLayout.setConstraints(com,gridBagConstranits);添加到addComponent方法中 当然,你的gridBagLayout也得传过去

【java界面开发】常有人说java不适合开发GUI,想问java在GUI开发上究 ...
我知道的就是第一,做出来的东西不好看,想要好看点要费更多功夫。第二,效率很低,一个button在内存中站很大地方,java还有自己的垃圾回收机制,程序会越跑越快慢。第三,市场占有太低,java的优点是跨平台,所以大多数人都把精力放在跨平台这个优点上,GUI多数都是在windows上运行,c++优势特大。

相似回答