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

作者&投稿:月旭 (若有异议请与网页底部的电邮联系)
开发Java gui项目使用什么框架简单~

用Swing更轻量级.

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

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

}


运行效果如图



不懂


AVA 不是8月20号 公测吗?但我又找不会那个网页了
在这里面登陆QQ帐号,然后选择游戏大区,转一个视频到空间如果人品不是差到极点,一般会跳出对话框提示获得不删档内测资格(我两个号都弄到了,一点不费力)———原创回答团成员专用标识———©原创回答团成员:guyuyang2009 为您解答,希望对您有所帮助,谢谢。

AVA激活码!!!
上会的提问竟然失效了!!!实在没分了,哪位好心人能给我激活983153031这号,电信区。注:我已经参加过抢号活动,只不过激活错了区,现在玩着很卡,哪位好心人送我个激活码或帮我激活下,谢谢。顺带说下,因为我想用983153031这个号玩AVA,它对我很特别,所以注册新号就别说了,请各位帮帮小弟吧。+QQ 展开 ...

(高手进)关于CM4的问题
106 Anatoly Guerk 俄罗斯 84.11.20 Anderlecht 前锋 ★★☆ 3 CM0304妖人大集合(最权威版最完全版...Zbynek Pospech \\Opava \\?,200,000 Quincy Owusu Abeyle\\ Arsenal\\ ?,100,000 Jeremie Aliadiere

高分悬赏,这个人是谁?
韩国的李贞贤

急求 潮流,时尚 图片
http:\/\/image.baidu.com\/i?ct=201326592&cl=2&lm=-1&tn=baiduimage&pv=&word=%B3%B1%C1%F7%CA%B1%C9%D0%CD%BC%C6%AC&z=0 参考资料:回答中的所有参考网站

2009年欢乐中国行有一期是个韩国的女的,叫啥?
李贞贤 那不是欢乐中国行 是2009中韩歌会 【姓名】李贞贤,Li Zhen Xian 【韩文名】이정현李贞贤2009年【日文名】イ・ジョンヒョン,I Jonhyon,Hyony 【英文名】Lee Jung Hyun \/ AVA LEE 【绰号】外星人、JangGu(南北头)、 电子音乐女王Techno Queen、Techno Goddess...

求 钢炼的歌的歌词
但至少也希望自己能化作在宇宙中的蜂花之叶 虽然已站到最后 但也许还是没有答案吧!就像来去无踪的风 用你的手锁门,不再犹豫不决!即使弄错,也不会开第二次 喂,用锁摔落的声音终结一切!让无可救药的灵魂随波逐流吧!在熄灭的瞬间发出仅有的光芒 现在,创造月圆之夜吧!ED3「Motherland」君...

李贞贤是哪国的
。。。中国也有叫李贞贤的

富阳区号多少
4亿元,2013年财政总收入83.2亿元。参考资料:http:\/\/baike.baidu.com\/link?url=_lYcyQXxqaezC19AvagrKtiZ8W6HOC2YtSNTwHJpLgqXNpsT0KAigtAoRL1Or51bKDSXUrl2KmPS5kCG6IMF7ncNzE84PXX2RnkiirLPXVZ8EtnJAwVsQgU7BNvlwyCaUD_mIIfw5nYND-2FthoaXz5Qh53CwSFMYDox6w0nD9O ...

请问:哪里能下载国语版电影《料理鼠王》王心凌配音的那个
好象内地还没有只有预告片.但是有中文字幕的你可以先看看,至于中文版我在帮你找找 观看地址:http:\/\/www.tudou.com\/programs\/view\/8D0h0X0gUPI\/ 下载地址:http:\/\/www.ed530.com\/showtopic.aspx?topicid=32141 ◎中文 名 蔬菜杂烩\/料理鼠王 ◎片 名 Ratatouille ◎年 代 2007 ◎国 家 ...

藁城市17068044202: Java实现GUI编程基本方法都有那些? -
骑穆亮菌: 其实无论在什么平台下,GUI应用程序的基本开发方法都是相似的.一般都包括下面这样四个步骤:①创建容器首先要创建一个GUI应用程序,需要创建一个用于容纳所有其它GUI组件元素的载体,Java中称为容器.典型的包括窗口(...

藁城市17068044202: JAVA:GUI 选择框是什么样的?QQ1105975038最好能截图给我看下. -
骑穆亮菌: 单选框还是多选框?单选是:前面一个圆点 多选是 前面一个CHECK的方框.

藁城市17068044202: 关于JAVA中GUI边框布局的一个问题 -
骑穆亮菌: BorderLayout这样设置setBounds,不起作用的.setBounds要无Layout时使用.

藁城市17068044202: Java 中 如何使用gui -
骑穆亮菌: GUI 是图形用户界面 ,JAVA中的编写图形界面的是 java.awt和javax.swing两个包 .JAVA有很多GUI产品,eclipse就是 .

藁城市17068044202: JAVA实现GUI程序界面 -
骑穆亮菌: java.awt.* java.awt.event.* javax.swing.*

藁城市17068044202: java里面的GUI图形界面编程 -
骑穆亮菌: 如果Panel里的内容是用户程序绘制出来的,那么你的绘制过程需要放在都应界面控件(panel)的paintComponent方法里.

藁城市17068044202: 写一个java GUI界面,有个文本框可输入文本,按个按钮之后输出到文件中 -
骑穆亮菌: 给你写个简单的,参考一下吧 package uni; import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedWriter; import java.io.FileWriter; import java.io....

藁城市17068044202: Java GUI 如何文本上加个框? -
骑穆亮菌: 1. label. setBorder(new LineBorder(Color.green)); 2. setAlignmentY(int desc)

藁城市17068044202: Java实现GUI编程基本方法都有那些?
骑穆亮菌: -!楼上各位都没说到正题上 最简单的方法是编写一个类,继承于javax.swing.JFrame; 重写其构造方法既可实现GUI,不过JAVA的GUI不是很强大,你有兴趣可以与我联系 QQ:1101047

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网