⑴ java的三大框架是什么如何进行学习的呢
三大框架:Struts+Hibernate+Spring。Java三大框架主要用来做WEN应用。
Struts主要负责表示层的显示。
Spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作)。
Hibernate主要是数据持久化到数据库。
再用jsp的servlet做网页开发的时候有个web.xml的映射文件,里面有一个mapping的标签就是用来做文件映射的。当在浏览器上输入URL得知的时候,文件就会根据写的名称对应到一个JAVA文件,根据java文件里编写的内容显示在浏览器上,就是一个网页。
(1)java图形界面编程框架扩展阅读:
Java框架益处:
减少设计辛劳:
集合框架通过提供有用的数据结构和算法使你能集中注意力于你的程序的重要部分上,而不是为了让程序能正常运转而将注意力于低层设计上。通过这些在无关API之间的简易的互用性,使你免除了为改编对象或转换代码以便联合这些API而去写大量的代码。
提高速度质量:
集合框架通过提供对有用的数据结构和算法的高性能和高质量的实现使你的程序速度和质量得到提高。因为每个接口的实现是可互换的,所以的程序可以很容易的通过改变一个实现而进行调整。
另外,可以从写自己的数据结构的苦差事中解脱出来,从而有更多时间关注于程序其它部分的质量和性能。
API缺点:
许多API天生的有对集合的存储和获取。在过去,这样的API都有一些子API帮助操纵它的集合内容,因此在那些特殊的子API之间就会缺乏一致性,也不得不从零开始学习,并且在使用时也很容易犯错。而标准集合框架接口的出现使这个问题迎刃而解。
⑵ Java常用的框架有哪些
Java常用的框架:Hibernate、Spring、Struts、jQuery、Redis五种。
⑶ java编程实现一个学生信息管理系统的图形界面
package 学生管理界面;
import java.awt.BorderLayout;
import java.awt.Checkbox;
import java.awt.CheckboxGroup;
import java.awt.Container;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
//录入的信息包括学号、姓名、性别、出生日期、是否联合培养等
public class 学生信息图形界面 extends JFrame implements ActionListener {
public 学生信息图形界面() { //构造方法
//界面显示问题
super("学生信息图形界面");
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setSize(320, 300);
setVisible(true);
Container content = getContentPane();
JPanel jp1 = new JPanel(); //创建一个面板
JLabel label = new JLabel("欢迎使用学生信息管理系统"); //欢迎界面的欢迎语句
label.setFont(new Font("楷体_GB2312", Font.BOLD, 20)); //设置显示的字体
jp1.add(label); //将标签添加到面板jp1中
JPanel jp2 = new JPanel(); //创建一个面板,用于摆放提示各种功能的标签
JLabel label1 = new JLabel("请输入学生的详细资料:"); //输入提示输入的语言:
label1.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体
JLabel label2 = new JLabel("学 生 学 号:"); //提示各种输入内容的标签
label2.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体t
JTextField field1=new JTextField(10); //10为学号长度,可自行设定
JLabel label3 = new JLabel("学 生 姓 名:"); //提示输入学生姓名的标签
label3.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体
JTextField field2=new JTextField(10); //10为姓名长度,可自行设定
JLabel label4 = new JLabel("学 生 性 别: "); //提示输入学生性别的标签
label4.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体
CheckboxGroup group1 = new CheckboxGroup(); //创建一个复选框用于选择某一功能
Checkbox check11 = new Checkbox("男",true,group1); //添加选项到复选框中
check11.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体
check11.addItemListener(new CheckHandler1(1)); //给相应复选框添加事件监听器
Checkbox check12 = new Checkbox("女",false,group1); //添加选项到复选框中
check12.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体
check12.addItemListener(new CheckHandler1(2)); //给相应复选框添加事件监听器
JLabel label5 = new JLabel("出 生 日 期:"); //提示输入出生日期的标签
label5.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体
JTextField field3=new JTextField("2000",3); //3为姓名长度,可自行设定
JLabel label51 = new JLabel("年");
label51.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体
JTextField field4=new JTextField("01",2); //2为姓名长度,可自行设定
JLabel label52 = new JLabel("月");
label52.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体
JTextField field5=new JTextField("01",2); //2为姓名长度,可自行设定
JLabel label53 = new JLabel("日");
label53.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体
JLabel label6 = new JLabel("联合培养:"); //提示选择联合培养与否的标签
label6.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体
CheckboxGroup group2 = new CheckboxGroup(); //创建一个复选框用于选择某一功能
Checkbox check21 = new Checkbox("是",true,group2); //添加选项到复选框中
check21.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体
check21.addItemListener(new CheckHandler2(1)); //给相应复选框添加事件监听器
Checkbox check22 = new Checkbox("否",false,group2); //添加选项到复选框中
check22.setFont(new Font("楷体_GB2312", Font.BOLD, 18)); //设置显示的字体
check22.addItemListener(new CheckHandler2(2)); //给相应复选框添加事件监听器
//添加组件到面板容器中
jp2.add(label1);
jp2.add(label2);
jp2.add(field1);
jp2.add(label3);
jp2.add(field2);
jp2.add(label4);
jp2.add(check11); jp2.add(check12);
jp2.add(label5);
jp2.add(field3);jp2.add(label51); jp2.add(field4);jp2.add(label52); jp2.add(field5);jp2.add(label53);
jp2.add(label6);
jp2.add(check21); jp2.add(check22);
content.add(jp1, BorderLayout.NORTH); //分别添加面板到容器中
content.add(jp2, BorderLayout.CENTER); //分别添加面板到容器中
}
public void actionPerformed(ActionEvent e) {
// 事件响应处理
}
class CheckHandler1 implements ItemListener //复选框键的事件响应类
{
private int sel;
CheckHandler1(int select)
{
sel = select;
}
public void itemStateChanged(ItemEvent e)
{
switch(sel)
{
case 1:method1();break; //调用选择的相应功能的方法
case 2:method2();break; //调用选择的相应功能的方法
}
}
private void method1() { //事件响应方法
}
private void method2() { // 事件响应方法
}
}
class CheckHandler2 implements ItemListener //复选框键的事件响应类
{
private int sel;
CheckHandler2(int select)
{
sel = select;
}
public void itemStateChanged(ItemEvent e)
{
switch(sel)
{
case 1:method1();break; //调用选择的相应功能的方法
case 2:method2();break; //调用选择的相应功能的方法
}
}
private void method1() { //事件响应方法
}
private void method2() { //事件响应方法
}
}
//测试
public static void main(String[] args) {
学生信息图形界面 界面 = new 学生信息图形界面();
界面.setVisible(true);
}
}
⑷ java编写一个应用程序,其功能为:显示一个图形框架界面,在其图形框架上摆放三个按钮。三个按钮的标
参考代码和注释如下
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
//本类继承自JFrame,实现了ActionListener接口
{
JButtonjb1,jb2,jb3;
//构造方法:组件的初始化,排版,窗口的设置
publicButtonFrame(){
jb1=newJButton("test1");
jb1.addActionListener(this);
jb2=newJButton("test2");
jb2.addActionListener(this);
jb3=newJButton("test3");
jb3.addActionListener(this);
add(jb1);
add(jb2);
add(jb3);
setLayout(newFlowLayout());
setTitle("窗口");//培闭银纤窗口标题
setSize(280,220);//窗口大小
setLocationRelativeTo(null);//窗口居中
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//当窗口关闭时,程序结束
}
//处理按钮点击事件
publicvoidactionPerformed(ActionEvente){
System.out.println("Button"+e.getActionCommand());
//比较啰嗦的写法
//JButtonjbTemp=(JButton)e.getSource();
//if(jb1==jbTemp){
//System.out.println("Buttontest1");
//}elseif(jb2==jbTemp){
//System.out.println("Buttontest2"配搏裂);
//}elseif(jb3==jbTemp){
//System.out.println("Buttontest3");
//}
}
publicstaticvoidmain(String[]args){
newButtonFrame().setVisible(true);//实例化窗口并可见
}
}
效果图
⑸ java图形界面编程
//这是哪个背景类
import java.awt.Image;
import java.awt.*;
import javax.swing.*;
public class ImageBack extends JPanel{
Image im = null;
public imageback(Image im){
this.im=im;
int width = Toolkit.getDefaultToolkit().getScreenSize().width;
int height = Toolkit.getDefaultToolkit().getScreenSize().height;
this.setSize(width,height);
this.setVisible(true);
}
public static void main(String args[]){
}
public void paintComponent(Graphics g){
//清屏
super.paintComponent(g);
g.drawImage(im, 0, 0, this.getWidth(),this.getHeight(),this);
}
}
import javax.swing.*;
import java.io.File;
import java.io.IOException;
import java.net.*;
/**
* 学生管理系统主界面
*/
public class StuMain extends JFrame{
//背景图片
Image image=null;
public StuMain() {
try {
image = ImageIO.read(new File("images/start.jpg"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//把你要的背景图片放到背景面板里
imageback im = new imageback(image);
//把有背景的图片的JPanel放到JFrame里面
this.add(im);
//添加框架的关闭事件处理
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.pack();
//设置框架的大小
//设置标题
this.setTitle("学生管理系统");
this.setVisible(true);
}
public static void main(String args[]){
new StuMain();
}
}
如果那不懂随时米我 qq896182794
⑹ 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框架类型
一种是比较老的AWT框架,一种是新的Swing框架。awt(Abstract window toolkit)的消息机制是基于分层处理的,事件沿着层次结构沿着容器的上方传递。自从java1.1开始,java开始采用新的事件处理模型,采用委托事件模型。
2:委托事件处理
事件源与事件处理程序分开,其实就是建立一种事件源,监听器的模式,事件源就是产生消息的源头,指的是Button,Checkbox ,CheckboxGroup,Choice,List,TextArea,TextField,Menu等各种各样的空间。
监听器就是各种各样的接口,程序要处理相应的时间就必须实现这些接口。
事件处理的逻辑步骤,(1)事件源添加监听器(2)实现监听器的接口。
3:事件类型,监听器相关接口
事件 监听器
ActionEvent ActionListener
AdjustmentEvent AdjustmentListener
ComponentEvent ComponentListener
Containe rEvent ContainerListener
FocusEvent FocusListener
KeyEvent KeyListener
MouseEvent MouseListener
WindowEvent WindowListener
ItemEvent ItemListener
TextEvent TextListener
事件添加以及删除函数,形式都如下所示:
addActionListener( ) //添加监听器
removeActionListener( ) //删除监听器
每个事件监听器都有一个或者几个接口,当implements interface时必须实现所有的的监听器的接口函数,即便函数什么也不做,为了减少这种写空函数的麻烦,java为监听器中函数多于一个提供了一个适配器,适配器里面有默认的函数,需要的时候仅仅重写需要重写的函数即可,如下所示:
class MyWindowListener extends WindowAdapter {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
4:applet
applet是可以在HTML网页中运行的程序,它在运行的时候会有安全限制,它可以不需要main函数,一个典型的applet程序如下所示:
import java.awt.*;
import java.applet.*;
public class Applet1 extends Applet {
public void paint(Graphics g) {
g.drawString("First applet", 10, 10);
}
}
所有public类必须继承Applet类,Applet中主要的方法有 init(),start(),paint(),stop(),destroy(),
init 在程序片被创建时候调用;start在程序片进入web浏览器后调用,是在Init之后;stop是在程序片离开浏览器中的视野时关闭响应操作;destroy是在程序片不再被需要时销毁程序片。
5:常用组件类型
(1)Button 按键
public Button();public Button(String label);
(2)TextFiled 输入框
TextField();TextField(int columns);TextField(String text);TextField(String text, int columns)
(3)TextArea 文本输入区域
TextArea();TextArea(int rows,int columns);TextArea(String text);
TextArea(String text,int rows,int columns);TextArea(String text,int rows,int columns,int scrollbars);
(4)Lable 标签
Label();Label(String text);Label(String text,int alignment)
(5)Checkbox 复选框
Checkbox();Checkbox(String label);Checkbox(String label, boolean state);
Checkbox(String label, boolean state, CheckboxGroup group);
Checkbox(String label, CheckboxGroup group, boolean state);
(6)CheckboxGroup 单选按钮
CheckboxGroup()
它把Checkbox 放在一起,如下所示:
CheckboxGroup cbg = new CheckboxGroup();
add(new Checkbox("one", cbg, true));
add(new Checkbox("two", cbg, false));
add(new Checkbox("three", cbg, false));
(7)Choice 下拉列表
Choice();
点击会会出现一个下拉列表,可以向其中添加Item,如下程序所示:
Choice ColorChooser = new Choice();
ColorChooser.add("Green");
ColorChooser.add("Red");
ColorChooser.add("Blue");