⑴ 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");