pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

Java有趣好玩的圖形界面開發八個案例實現

今天使用GUI技術寫了幾個練習的Demo,希望對大家學習圖形用戶界面有所幫助,感興趣的同學來看看吧,動手敲一遍理解更通透

雖然GUI技術沒有很大的市場,甚至很多初學者放棄學習GUI,但是學習GUI編程的過程對于提高編程興趣,深入理解Java編程有很大的作用。效果圖如下,加油吧!!

1.復選框和單選框按鈕組

—在框架窗口中加入復選框和單選框按鈕組

import javax.swing.*;
public class App extends JFrame{
    static JFrame jFrame=new JFrame("復選框和單選組按鈕選取框");
    static JCheckBox jCheckBox1=new JCheckBox("粗體",true);
    static JCheckBox jCheckBox2=new JCheckBox("斜體");
    static JCheckBox jCheckBox3=new JCheckBox("下劃線");
    static JRadioButton jRadioButton1=new JRadioButton("紅色",true);
    static JRadioButton jRadioButton2=new JRadioButton("綠色",true);
    static JRadioButton jRadioButton3=new JRadioButton("藍色");
    public static void main(String[] args) {
        ButtonGroup buttonGroup=new ButtonGroup();
        jFrame.setLocation(200,150);
        jFrame.setSize(300,220);
        jFrame.setLayout(null);
        jCheckBox1.setBounds(20,20,50,20);
        jCheckBox2.setBounds(20,40,50,20);
        jCheckBox3.setBounds(20,60,70,20);
        jRadioButton1.setBounds(40,100,50,20);
        jRadioButton2.setBounds(40,120,50,20);
        jRadioButton3.setBounds(40,140,50,20);
        jFrame.add(jCheckBox1);
        jFrame.add(jCheckBox2);
        jFrame.add(jCheckBox3);
        buttonGroup.add(jRadioButton1);
        buttonGroup.add(jRadioButton2);
        buttonGroup.add(jRadioButton3);
        jFrame.add(jRadioButton1);
        jFrame.add(jRadioButton2);
        jFrame.add(jRadioButton3);
        jFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);
        jFrame.setVisible(true);
    }
}

2.文本編輯組件和滾動窗格

—設置文本編輯組件和滾動窗格

import javax.swing.*;
public class App extends JFrame{
    JTextField jTextField=new JTextField("該文本框不可編輯",30);
    static JPasswordField jPasswordField=new JPasswordField("HelloWorld",30);
    public App(String str){
        super(str);
        jTextField.setBounds(20,40,140,20);
        jTextField.setEditable(false);
        add(jTextField);
    }
    public static void main(String[] args) {
        App jFrame=new App("文本編輯功能窗口");
        JTextArea jTextArea=new JTextArea("你好",10,30);
        JScrollPane jScrollPane=new JScrollPane(jTextArea);
        jFrame.setLocation(200,150);
        jFrame.setSize(240,220);
        jFrame.setLayout(null);
        jScrollPane.setBounds(20,70,160,100);
        jPasswordField.setBounds(20,10,140,10);
        jFrame.add(jPasswordField);
        jFrame.add(jScrollPane);
        char[] passWorld=jPasswordField.getPassword();
        String str=new String(passWorld);
        System.out.println("密碼是:"+passWorld+"轉換后"+str);
        jFrame.setVisible(true);
        jFrame.setResizable(false);
        jFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);
    }
}

輸出結果:密碼是:[C@370736d9轉換后HelloWorld

3.多個選項卡設置

—在窗口中放一個選項卡窗格,并在選項卡窗格中加入若干選項卡,每個選項卡中放置一個帶圖像的標簽組件。

import javax.swing.*;
public class App extends JFrame {
    public App(){
        JLabel[] jLabels=new JLabel[6];
        Icon pic;
        String title;
        for(int i=1;i<=5;i++){
            pic=new ImageIcon("images\\t"+i+".png");
            jLabels[i]=new JLabel();
            jLabels[i].setIcon(pic);
            title="第"+i+"頁";
            jTabbedPane.add(title,jLabels[i]);
        }
        this.add(jTabbedPane);
    }
    JTabbedPane jTabbedPane=new JTabbedPane(JTabbedPane.TOP);
    public static void main(String[] args) {
        App jFrame=new App();
        jFrame.setTitle("選項卡的應用");
        jFrame.setSize(300,300);
        jFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);
        jFrame.setVisible(true);
    }
}

4.在框架窗口中加入面板

import javax.swing.*;
import javax.swing.border.TitledBorder;
public class App {
    public static void main(String[] args) {
        JFrame jFrame=new JFrame("我的框架");
        jFrame.setSize(210,180);
        jFrame.setLocation(500,400);
        JPanel jPanel=new JPanel();
        jPanel.setSize(120,90);
        jPanel.setLocation(40,30);
        JButton jButton=new JButton("點擊我");
        jButton.setSize(80,20);
        jButton.setLocation(20,30);
        jFrame.setLayout(null);
        jPanel.setLayout(null);
        jPanel.add(jButton);
        jPanel.setBorder(new TitledBorder("面板區"));
        jFrame.add(jPanel);
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        jFrame.setVisible(true);
    }
}

5.在窗口中加入標簽

—在窗口中加入標簽,并設置框架的背景色及標簽上文字的顏色和字體。

import javax.swing.*;
import java.awt.*;
public class App {
 public static void main(String[] args) {
  JFrame jFrame=new JFrame("標簽類窗口");
  JLabel jLabel=new JLabel("我是一個標簽",JLabel.CENTER);//創建標簽類對象
  jFrame.setLayout(null);//取消默認布局管理器
  jFrame.setSize(300,200);//設置窗口的大小
  Container c=jFrame.getContentPane();//獲取內容窗格
  c.setBackground(Color.CYAN);//設置窗口的背景色
  jLabel.setOpaque(true);//設置標簽為不透明
  jLabel.setBackground(Color.RED);//設置標簽的背景色
  jLabel.setForeground(Color.YELLOW);//設置標簽的前景色
  jLabel.setLocation(80,60);
  jLabel.setSize(130,30);
  Font font=new Font("楷體",Font.PLAIN,20);//創建字體對象
  jLabel.setFont(font);//設置標簽上的字體
  jFrame.add(jLabel);
  jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  jFrame.setVisible(true);
 }
}

6.框架中加入指定大小的標簽

—在框架中加入指定大小的標簽,并設置當鼠標懸停在標簽上時給出相應的提示信息。

import javax.swing.*;
import java.awt.*;
public class App {
 public static void main(String[] args) {
  JFrame jFrame=new JFrame("標簽類窗口");
  JLabel jLabel=new JLabel("我是一個標簽",JLabel.CENTER);//創建標簽類對象
  jFrame.setLayout(null);//取消默認布局管理器
  jFrame.setSize(300,200);//設置窗口的大小
  Container c=jFrame.getContentPane();//獲取內容窗格
  c.setBackground(Color.CYAN);//設置窗口的背景色
  jLabel.setOpaque(true);//設置標簽為不透明
  jLabel.setBackground(Color.RED);//設置標簽的背景色
  jLabel.setForeground(Color.YELLOW);//設置標簽的前景色
  jLabel.setLocation(80,60);
  jLabel.setSize(130,30);
  jLabel.setToolTipText("我被設置為不透明");
  Font font=new Font("楷體",Font.PLAIN,20);//創建字體對象
  jLabel.setFont(font);//設置標簽上的字體
  jFrame.add(jLabel);
  jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  jFrame.setVisible(true);
 }
}

7.在框架窗口中加入按鈕

import javax.swing.*;
import java.awt.*;
public class App extends JFrame {
 public static void main(String[] args) {
  App jFrame=new App();
  jFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);
  ImageIcon icon=new ImageIcon("images\\java.png");
  JButton jButton=new JButton();
  jButton.setText("選擇");
  jButton.setIcon(icon);
  jFrame.setLayout(null);
  jFrame.setSize(200,180);
  jFrame.setTitle("按鈕類窗口");
  jButton.setBounds(50,45,100,40);
  jButton.setToolTipText("我是按鈕");
  jFrame.add(jButton);
  jFrame.setVisible(true);
 }
}

8.框架窗口的創建

import javax.swing.*;
import java.awt.*;
public class App {
    static JFrame jFrame = new JFrame("這是一個Swing程序");//創建靜態框架并設置標題
    public static void main(String[] args) {
        JLabel label = new JLabel("我是一個標簽");//創建一個標簽對象
        jFrame.setSize(400, 300);//設置框架的大小
        Image image=(new ImageIcon("images\\java.jpg")).getImage();//創建圖標對象
        jFrame.setIconImage(image);//設置窗口的顯示圖標
        jFrame.setLocationRelativeTo(null);//設置窗口的位置
        jFrame.add(label);//將標簽對象加入到窗口中
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//單擊窗口的關閉按鈕,結束程序
        jFrame.setVisible(true);//設置窗口可見
    }
}

總結

  • 圖形用戶界面是應用程序與用戶交互的窗口,利用它可以接受用戶的輸入并向用戶輸出程序執行的結果。
  • 圖形用戶界面技術(GUI)是指用圖形的方式,借助菜單,按鈕等標準界面元素與鼠標操作,幫助用戶方便的向計算機系統發出指令,啟動操作,并將計算機系統運行的結果以圖形的方式顯示給用戶的技術。
  • Java提供了兩個處理圖形界面的包:java.awt和javax.swing。其中javax.swing包是java.awt的擴展。
  • Javax.swing包中包含組件類,事件類,接口,布局類,菜單類等,其繼承關系如下:

少年沒有烏托邦,心向遠方自明朗。與風隨行皆理想,遺憾最終皆幻想。

到此這篇關于Java有趣好玩的圖形界面開發八個案例實現的文章就介紹到這了,更多相關Java圖形界面內容請搜索html5模板網以前的文章希望大家以后多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

主站蜘蛛池模板: 北京三友信电子科技有限公司-ETC高速自动栏杆机|ETC机柜|激光车辆轮廓测量仪|嵌入式车道控制器 | 硅PU球场、篮球场地面施工「水性、环保、弹性」硅PU材料生产厂家-广东中星体育公司 | 新能源汽车电机定转子合装机 - 电机维修设备 - 睿望达 | 桥架-槽式电缆桥架-镀锌桥架-托盘式桥架 - 上海亮族电缆桥架制造有限公司 | 齿辊分级破碎机,高低压压球机,立式双动力磨粉机-郑州长城冶金设备有限公司 | 济南网站建设|济南建网站|济南网站建设公司【济南腾飞网络】【荐】 | 钢衬玻璃厂家,钢衬玻璃管道 -山东东兴扬防腐设备有限公司 | 塑胶跑道施工-硅pu篮球场施工-塑胶网球场建造-丙烯酸球场材料厂家-奥茵 | 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 砂磨机_立式纳米砂磨机_实验室砂磨机-广州儒佳化工设备厂家 | 光栅尺_Magnescale探规_磁栅尺_笔式位移传感器_苏州德美达 | 月嫂_保姆_育婴_催乳_母婴护理_产后康复_养老护理-吉祥到家家政 硫酸亚铁-聚合硫酸铁-除氟除磷剂-复合碳源-污水处理药剂厂家—长隆科技 | 电力测功机,电涡流测功机,磁粉制动器,南通远辰曳引机测试台 | 诚暄电子公司首页-线路板打样,pcb线路板打样加工制作厂家 | 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 生物颗粒燃烧机-生物质燃烧机-热风炉-生物颗粒蒸汽发生器-丽水市久凯能源设备有限公司 | 顺景erp系统_erp软件_erp软件系统_企业erp管理系统-广东顺景软件科技有限公司 | 渣油泵,KCB齿轮泵,不锈钢齿轮泵,重油泵,煤焦油泵,泊头市泰邦泵阀制造有限公司 | 泰国专线_泰国物流专线_广州到泰国物流公司-泰廊曼国际 | 广州中央空调回收,二手中央空调回收,旧空调回收,制冷设备回收,冷气机组回收公司-广州益夫制冷设备回收公司 | 酒万铺-酒水招商-酒水代理| 右手官网|右手工业设计|外观设计公司|工业设计公司|产品创新设计|医疗产品结构设计|EMC产品结构设计 | 湖南专升本-湖南省专升本报名-湖南统招专升本考试网 | 净化车间_洁净厂房_净化公司_净化厂房_无尘室工程_洁净工程装修|改造|施工-深圳净化公司 | 亚克隆,RNAi干扰检测,miRNA定量检测-上海基屹生物科技有限公司 | 并离网逆变器_高频UPS电源定制_户用储能光伏逆变器厂家-深圳市索克新能源 | Akribis直线电机_直线模组_力矩电机_直线电机平台|雅科贝思Akribis-杭州摩森机电科技有限公司 | 在线钠离子分析仪-硅酸根离子浓度测定仪-油液水分测定仪价格-北京时代新维测控设备有限公司 | 超高频感应加热设备_高频感应电源厂家_CCD视觉检测设备_振动盘视觉检测设备_深圳雨滴科技-深圳市雨滴科技有限公司 | POM塑料_PBT材料「进口」聚甲醛POM杜邦原料、加纤PBT塑料报价格找利隆塑料 | 骨密度仪-骨密度测定仪-超声骨密度仪-骨龄测定仪-天津开发区圣鸿医疗器械有限公司 | 二手注塑机回收_旧注塑机回收_二手注塑机买卖 - 大鑫二手注塑机 二手光谱仪维修-德国OBLF光谱仪|进口斯派克光谱仪-热电ARL光谱仪-意大利GNR光谱仪-永晖检测 | 电竞学校_电子竞技培训学校学院-梦竞未来电竞学校官网 | ORP控制器_ORP电极价格-上优泰百科| 【法利莱住人集装箱厂家】—活动集装箱房,集装箱租赁_大品牌,更放心 | 精密光学实验平台-红外粉末压片机模具-天津博君 | 酒精检测棒,数显温湿度计,酒安酒精测试仪,酒精检测仪,呼气式酒精检测仪-郑州欧诺仪器有限公司 | 节流截止放空阀-不锈钢阀门-气动|电动截止阀-鸿华阀门有限公司 | 免联考国际MBA_在职MBA报考条件/科目/排名-MBA信息网 | 高铝矾土熟料_细粉_骨料_消失模_铸造用铝矾土_铝酸钙粉—嵩峰厂家 | 硫酸亚铁-聚合硫酸铁-除氟除磷剂-复合碳源-污水处理药剂厂家—长隆科技 |