① java编程中,GUI界面的一般框架有什么希望大神给写个程序实例,程序内容包括布局的应用,多个
java GUI一般,通过AWT,SWING 实现
其余比较流行的是SWT,但是它不是官方库, 并且旦核不能跨平台
//注意:
Swing, 所以很多不涉及界面组件的一些类比如布局 等Swing也可以使用
但是组件,最好不要混用, 容易出现一些组件叠加,等显示错误 比如JButton TextField等混用
//参考代码
下面使用Swing组件来实哗告现
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
//本类实现了ActionListener接口.一个ActionListener可以响应JMenuItem和JButton的动作
//本类实现FocusListener接口,一个FocusListener可以响应JTextField,JButton等
//JButton响应多个事件接口
,FocusListener{
privateJTextFieldjtf1;
privateJTextFieldjtf2;
privateJTextFieldjtf3;
privateJButtonjb1;
publicMyGuiFrame(){
//----------窗口属性乱迟明的设置----------
setTitle("窗口应用程序");//窗口标题
setSize(380,120);//窗口大小
setLocationRelativeTo(null);//窗口居于屏幕中央
setDefaultCloseOperation(EXIT_ON_CLOSE);//点击关闭窗口后退出jvm虚拟机
getContentPane().setLayout(newBorderLayout(5,3));//边界布局,水平间距5,垂直间距3
//菜单栏组件初始化
initMenu();
//主要面板的初始化
initPanel();
}
privatevoidinitPanel(){
JPaneljp=newJPanel(newFlowLayout(FlowLayout.CENTER));//流式布局
jtf1=newJTextField(8);
jtf1.addFocusListener(this);//添加焦点响应
JLabeljl=newJLabel("+");
jtf2=newJTextField(8);
jtf2.addFocusListener(this);
jb1=newJButton("=");
jb1.addActionListener(this);//添加动作响应
jb1.addFocusListener(this);//添加焦点响应
jtf3=newJTextField(8);
jtf3.setEditable(false);
jp.add(jtf1);
jp.add(jl);
jp.add(jtf2);
jp.add(jb1);
jp.add(jtf3);
getContentPane().add(jp,BorderLayout.CENTER);
}
privatevoidinitMenu(){//菜单栏的初始化和设置
JMenuBarjmb=newJMenuBar();
JMenujm1=newJMenu("系统");
JMenuItemjmi101=newJMenuItem("退出");
jmi101.addActionListener(this);//添加动作响应
JMenujm2=newJMenu("帮助");
JMenuItemjmi201=newJMenuItem("功能说明");
jmi201.addActionListener(this);
jm1.add(jmi101);
jm2.add(jmi201);
jmb.add(jm1);
jmb.add(jm2);
setJMenuBar(jmb);//设置菜单栏
}
//main方法,创建对象窗口,并且设置可见
publicstaticvoidmain(String[]args){
newMyGuiFrame().setVisible(true);
}
//动作响应处理
publicvoidactionPerformed(ActionEvente){
Stringcmd=e.getActionCommand();//根据命令来区分不同的操作
if(cmd.equals("退出")){
System.exit(0);
}
if(cmd.equals("功能说明")){
JOptionPane.showMessageDialog(this,"加法");
}
if(cmd.equals("=")){
Strings1=jtf1.getText().trim();
Strings2=jtf2.getText().trim();
if(s1.equals("")){
s1="0";
}
if(s2.equals("")){
s2="0";
}
doublenum1=Double.parseDouble(s1);//从字符串转小数
doublenum2=Double.parseDouble(s2);
jtf3.setText((num1+num2)+"");//数字类型转字符串类型
}
}
//焦点响应处理
publicvoidfocusGained(FocusEvente){//获得焦点
JComponentcmp=(JComponent)e.getComponent();//根据事件来源组件来区分不同的操作
if(cmp==jtf1||cmp==jtf2){
cmp.setBorder(BorderFactory.createLineBorder(Color.BLUE));//设置边框
}
if(cmp==jb1){
jb1.setForeground(Color.RED);//设置文字颜色
}
}
publicvoidfocusLost(FocusEvente){//失去焦点
JComponentcmp=(JComponent)e.getComponent();
if(cmp==jtf1||cmp==jtf2){
cmp.setBorder(BorderFactory.createLineBorder(Color.GRAY));
}
if(cmp==jb1){
jb1.setForeground(Color.BLACK);
}
}
}
运行效果如图
② 进行java基本的gui设计需要用到的包
1. Java GUI设计主要依赖于java.awt包,这个包提供了创建图形用户界面的基础类。
2. java.awt包中包含了用于构建用户界面和绘制图形图像的各种类。
3. 在进行Java基本的GUI设计时,需要使用java.awt包中的类来定义窗口、按钮、文本框等界面元素。