java编程中,GUI界面的一般框架有什么??希望大神给写个程序实例,程序内容包括布局的应用,多个
发布网友
发布时间:2022-04-22 22:52
我来回答
共1个回答
热心网友
时间:2023-10-07 07:27
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);
}
}
}
运行效果如图
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大神,有谁能推荐个好一点的java的GUI可视化编辑器啊,就...
netbean IDE或eclipse的插件VE:netbean没用过,是sun公司出的可视化编程环境;eclipse的插件VE,除VE之外还得装GEF和emf,装的时候得注意eclipse和VE的版本对应,当时我用的是elipse3.6和VE1.5,不过效果差强人意。
紧急求助,一个简单的java编程问题,请高手帮帮忙!
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintStream;import java.net.InetAddress;import java.net.Socket;import java.util.StringTokenizer;import javax.swing.BorderFactory;import javax.swing.JButton;import javax.swing.JFrame;impor...
Java编程,为什么唯一一个按钮布满整个窗体?
pan.add(button);另外,createJFrame方法的第一句根本没有用处,因为你的程序主类就是JFrame子类,当你的程序主类实例化时,JFrame已经潜在地实例化了,就不必另JFrame jf=new JFrame()了。此时,你的程序主类实例就是一个JFrame,所以我给你的这些代码中getContentPane方法调用直接使用自身(父类JFr...
JAVA如何部署GUI程序
运行Java程序(SWING或SWT的桌面程序)可以直接执行。class文件或将所有的。class文件及相关的其他文件压缩成。jar文件,然后使用javaw -jar my.jar来运行程序(其中my.jar是一个jar文件名,可以是任何指定的jar文件)。但在windows下,用户习惯直接运行一个exe来执行程序。在网上有很多程序可以将my.jar或...
关于java的题目: 设计一个GUI程序,在窗口的一个文本框中输入字符,其内...
public Test(){ init();} public void init(){ this.setTitle("input");this.setBounds(300, 300, 200,200);setDefaultCloseOperation(EXIT_ON_CLOSE);this.setContentPane(new Panel());setResizable(false);setVisible(true);frame=new JFrame("show");frame.setBounds(600, 300, 200,200);fr...
常见的十五种Java开发工具是什么,有什么特点
在NetBeans 3.5.1基础上,Sun开发出了JavaOne Studio5,为用户提供了一个更加先进的企业编程环境。在新的JavaOne Studio5里有一个应用框架,开发者可以利用这些模块快速开发自己在网络服务方面的各种应用程序。4、Borland 的JBuilder Jbuilder进入了Java集成开发环境的王国,它满足很多方面的应用,尤其是...
.编写Application程序,构造一GUI,实现对两个数的加、减、乘、除功能...
学习Java的第一步是安装好JDK,写一个Hello World,? 其实JDK的学习没有那么简单,关于JDK有两个问题是很容易一直困扰Java程序员的地方:一个是CLASSPATH的问题,其实从原理上来说,是要搞清楚JRE的ClassLoader是如何加载Class的;另一个问题是package和import问题,如何来寻找类的路径问题。把这两个问题摸索清楚了,就...
java中gui编程使用的多么?
个人理解:gui编程,主要是图形化界面加上事件的处理,说实话,我感觉用的不多,不过主要是了解gui编程的思想,像他里面的回调机制,匿名内部类。。。
求编写一段java程序
import java.awt.BorderLayout;import java.awt.Button;import java.awt.Frame;import java.awt.TextArea;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.DataInputStream;import java.io....