91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

英創信息技術在低成本工控主板上開發Java圖形應用程序

英創信息技術 ? 來源:英創信息技術 ? 作者:英創信息技術 ? 2020-02-06 11:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著互聯網技術的快速發展,Java語言以其簡單可靠,安全性高,可移植性強等特點得到極大普及,長期占據編程語言排行榜第一的位置,特別是在嵌入式領域得到了越來越多的應用。為了滿足客戶在嵌入式主板上運行Java程序的需求,英創公司在ESM335x、ESM6800等主流產品型號中移植了針對嵌入式Linux的JRE(Java Runtime Environment),以支持常規的Java通訊、控制類程序的運行。JRE的運行需要占用的內存超過100MB,英創公司的低成本嵌入式主板ESM6800H和ESM6800V即可滿足Java虛擬機對硬件環境的要求。進一步,ESM6800H和ESM6800V這二款型號的主板還可以支持X11圖形系統。在X11圖形系統的環境中,就可以直接通過Java的圖形用戶接口實現圖形界面的開發,其開發過程類似于WinCE+C#,這樣就彌補了ESM6800沒有WinCE系統,從而不能使用C#開發界面的遺憾。

Java的圖形用戶接口可以讓用戶構建一個通用的界面,使其在所有平臺上都能正常顯示,Java構建界面要使用抽象窗口工具包AWT(Abstract Window Toolkit)和Swing。Swing可以看作是AWT的改良版,而不是代替AWT,是對AWT的提高和擴展。所以,在實現界面的程序中,Swing和AWT都要用到,它們共存于Java基礎類(Java Foundation Class,JFC)中。用戶通過英創公司提供的eclipse軟件就能夠完成圖形界面程序的開發。環境搭建的詳細方法可以參考文章:《英創主板JAVA應用開發簡介》。本文主要簡要介紹何如使用Java實現圖形界面。

Java的圖形接口組件按其作用可分為基本組件(Component)和容器(Container)兩大類:基本組件,不能容納其他組件,如按鈕、文本框等圖形界面元素。容器可以用來容納其他的組件,如窗口、對話框等,下面是常用組件的列表。

組件名稱 組件簡介
JTextField 單行文本框,為用戶處理輸入信息
JTextArea 多行文本框,為用戶處理輸入信息
JButton 按鈕類,為用戶提供具有文本和圖標的按鈕
JLabel 標簽,為用戶提供包含說明性文本和圖標
JCheckBox 復選框,為用戶提供多項選擇
JRadioButton 單選按鈕,為用戶提供單項選擇
JComboBox 組合框,為用戶提供下拉菜單
JPasswordField 密碼框,允許輸入單行密碼,密碼框默認回顯字符是“*”

圖形窗口一般是上述各個組件的承載體,處于非常重要的位置,在JAVA中常用的窗體包括JFrame和JDialog這兩種形式。

窗體名稱 簡介
JFrame 框架窗口,它支持窗口周邊的框架、標題欄,以及最小化、最大化和關閉按鈕
JDialog 對話框基類,為用戶提供構造并管理通用對話框

我們以串口通訊為例,通過Java實現一個簡單的串口測試界面。

窗口是圖形界面的基礎,所有用戶設計的可視組件都是放在窗口中的,所以首先我們需要構建一個窗口,下面我們就使用框架窗口(JFrame)來構建一個窗口對象:

public class MainGui extends JFrame {

public MainGui() {

setSize(800, 480);

setTitle("串口測試程序");

setLocationRelativeTo(null);

setDefaultCloseOperation(MainGui.EXIT_ON_CLOSE);

setVisible(true);

}

}

我們給窗口取名為“串口測試程序”,接下來我們在串口上增加提供打開串口操作、關閉串口操作和發送數據的按鈕,按鈕(JButton)在界面中用于觸發動作事件,按鈕上可以顯示文本,當按鈕動作時,能觸發動作事件,按鈕動作事件的相關接口類是ActionListener, 構建按鈕的部分代碼如下:

class RightPanel extends JPanel {

public RightPanel() {

this.setLayout(new GridLayout(13, 1, 0, 5));

JButton button_open = new JButton("打開串口");

JButton button_write = new JButton("發送");

JButton button_close = new JButton("關閉串口");

button_open.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

mes = tty + ":" + baud + "-8-1-0";

exitflag = true;

if(Serial_Port.openport(mes.toString()) == -1)

JOptionPane.showMessageDialog(null,"open fail!","消息框",JOptionPane.YES_OPTION);

button_open.setEnabled(false);

button_write.setEnabled(true);

button_close.setEnabled(true);

}

});

button_write.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

String strs = textPane.getText();

String send_buf = ToolsFunc.formatHexString(strs);

System.out.print(send_buf.length());

if(send_buf.length() > 1)

{

System.out.println(send_buf);

Serial_Port.writeport(strs);

}

}

});

button_close.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

Serial_Port.closeport();

button_open.setEnabled(true);

button_write.setEnabled(false);

button_close.setEnabled(false);

}

});

add(button_open);

add(button_write);

add(button_close);

button_open.setEnabled(true);

button_write.setEnabled(false);

button_close.setEnabled(false);

}

}

接下來我們為串口的接受和發送的數據添加兩個顯示區域,可以選擇文本框(JTextField)和文本區(JTextArea)來實現,文本框與文本區的主要區別是文本區可存放多行文本。在這里我們選用文本區來實現,并用GridBagLayout進行兩個文本區的布局管理,構建文本區的部分代碼如下:

class CenterPanel extends JPanel {

public CenterPanel() {

GridBagLayout layout = new GridBagLayout();

GridBagConstraints s= new GridBagConstraints();

this.setLayout(layout);

textField = new JTextArea(20, 50);

textField.setTabSize(4);

textField.setLineWrap(true);

textField.setEditable(false);

JScrollPane jscrollPane = new JScrollPane(textField);

textPane = new JTextArea(1, 50);

textPane.setCursor(new Cursor(Cursor.TEXT_CURSOR));

JScrollPane jscrollPane_1 = new JScrollPane(textPane);

textPane.setLineWrap(true);

this.add(jscrollPane);

this.add(jscrollPane_1);

s.gridwidth=0;

s.weightx = 0.5;

s.ipady = 320;

s.ipadx = 640;

s.weighty=0.8;

layout.setConstraints(jscrollPane, s);

s.gridwidth=0;

s.weightx = 0.5;

s.ipady = 10;

s.weighty=0.1;

layout.setConstraints(jscrollPane_1, s);

}

}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11511

    瀏覽量

    213796
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6101

    瀏覽量

    36303
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    科普|信是什么?一文讀懂“信息技術應用創新”戰略

    什么是信?信,即“信息技術應用創新”,是國家推動IT系統自主可控、安全可控的重要戰略工程。它不僅是技術層面的創新,更承載著保障國家網絡安全、推動產業升級和實現數字主權的重任。簡單來
    的頭像 發表于 06-13 10:06 ?1990次閱讀
    科普|信<b class='flag-5'>創</b>是什么?一文讀懂“<b class='flag-5'>信息技術</b>應用創新”戰略

    浪潮下,國產主板有什么新的發展機遇?

    信息技術應用創新浪潮的推動下,國產主板迎來了諸多新的發展機遇。信產業旨在實現信息技術領域的自主可控,這一戰略目標為國產
    的頭像 發表于 05-09 09:24 ?217次閱讀
    信<b class='flag-5'>創</b>浪潮下,國產<b class='flag-5'>主板</b>有什么新的發展機遇?

    Java開發者必備的效率工具——Perforce JRebel是什么?為什么很多Java開發者在用?

    Perforce JRebel是一款Java開發效率工具,旨在幫助java開發人員更快地編寫更好的應用程序。JRebel可即時重新加載對代碼
    的頭像 發表于 04-27 13:44 ?263次閱讀
    <b class='flag-5'>Java</b><b class='flag-5'>開發</b>者必備的效率工具——Perforce JRebel是什么?為什么很多<b class='flag-5'>Java</b><b class='flag-5'>開發</b>者在用?

    基于QT開發國產主板終端桌面程序 高效、穩定、跨平臺的解決方案

    開發者們面臨的一個重要挑戰。本文將介紹如何基于QT框架,開發適用于國產主板的終端桌面程序,并探討其優勢和應用場景。 QT是一個跨平臺的C++圖形
    的頭像 發表于 01-08 15:34 ?865次閱讀

    工業級主板工控主板的區別?

    工業領域,主板的重要性是被無限放大的。大型工廠里日夜不停運轉的自動化生產線、精準控制的智能電網系統、以及極端環境下依然穩定采集數據的石油勘探設備,它們背后都依靠著工業級
    的頭像 發表于 01-02 10:01 ?523次閱讀

    SSM框架在Java開發中的應用 如何使用SSM進行web開發

    SSM框架,即Spring、SpringMVC和MyBatis的整合,是Java Web開發中常用的技術棧。它通過分層架構,實現了視圖、控制、業務邏輯和數據訪問的分離,提高了代碼的可維護性和可擴展性
    的頭像 發表于 12-16 17:28 ?1583次閱讀

    國產工控主板有什么優勢、特點?

    隨著國產工控主板的發展,國內企業也不斷開發新的工控主板,為了滿足國內企業的發展需求,一些國產
    的頭像 發表于 11-15 10:11 ?510次閱讀

    ?什么是國產工控主板,國產工控主板的特點有哪些?

    什么是國產工控主板呢?國產工控主板是工業計算機的主板,是一種計算機系統的硬件設備,是專門為工業控制場景設計和生產的電路板。它在國內的研發和制
    的頭像 發表于 11-07 10:29 ?689次閱讀

    國產工控主板,信產業發展新引擎

    在當今科技飛速發展的時代,信產業正成為國家戰略的重要支撐。而我們的國產工控主板,以其卓越的性能和可靠的品質,為信產業的發展注入強大動力。國產工控
    的頭像 發表于 11-06 10:29 ?673次閱讀

    中科達榮獲2024年軟件和信息技術服務優秀企業

    近日,由中國電子信息行業聯合會主辦的第二十六屆中國國際軟件博覽會(簡稱“軟博會”)天津國家會展中心成功舉行。在此次盛會上,中國電子信息行業聯合會發布了“2024年軟件和信息技術服務企
    的頭像 發表于 10-30 11:44 ?970次閱讀

    如何在低成本ARM平臺部署LVGL免費圖形庫,基于全志T113-i

    系統創建圖形用戶界面(GUI),采用C語言編寫,具有高效性和可定制性,各種微控制器平臺和顯示硬件開發用戶界面時備受歡迎。LVGL具社區免費開源、控件資源豐富、跨平臺可移植等特點。
    發表于 10-29 09:55

    工控主板有哪些特點?

    ?工控主板是用于工業控制領域的專用主板,具有以下特點: 穩定性:工控主板通常經過嚴格的測試和優化,具有較高的穩定性和可靠性,能夠
    的頭像 發表于 10-10 08:55 ?848次閱讀

    國產化背景下的工控主板發展現狀

    ,是信息技術應用創新產業的簡稱,于2016年“信工委會”(信息技術應用創新工作委員會)提出,目的就是要推動我們國內軟硬件關鍵技術的研發
    的頭像 發表于 09-21 16:15 ?880次閱讀

    TM4C MCU用FreeRTOS開發通用應用程序應用說明

    電子發燒友網站提供《TM4C MCU用FreeRTOS開發通用應用程序應用說明.pdf》資料免費下載
    發表于 09-11 14:15 ?0次下載
    <b class='flag-5'>在</b>TM4C MCU<b class='flag-5'>上</b>用FreeRTOS<b class='flag-5'>開發</b>通用<b class='flag-5'>應用程序</b>應用說明

    工控主板接口全解析:國產主板的多樣連接

    接口以其豐富的類型和卓越的性能,滿足了工業領域多樣化的應用需求。 1.PCIe接口 ? 作為工控主板的高速外設連接通道,PCIe接口以其卓越的數據傳輸速率,支持著廣泛的擴展卡,包括但不限于網絡適配器、
    的頭像 發表于 09-06 14:54 ?2451次閱讀
    <b class='flag-5'>工控</b><b class='flag-5'>主板</b>接口全解析:國產<b class='flag-5'>主板</b>的多樣連接
    主站蜘蛛池模板: 久久综合色婷婷 | 午夜影院观看 | 欧美又黄又嫩大片a级 | 色偷偷.com| 天天综合色天天综合色sb | 午夜国产精品免费观看 | 天天干狠狠 | 色综合久久久久久久久久久 | 69自拍视频| 99热成人精品热久久669 | 国产成人精品高清在线 | 曰本在线| 欧美成人伊人久久综合网 | 亚洲综合色婷婷久久 | 国产三级毛片视频 | 国内精品久久久久久久久蜜桃 | 日日拍夜夜嗷嗷叫狠狠 | 亚洲天堂成人在线 | 四虎国产精品高清在线观看 | 国产91久久最新观看地址 | 婷婷综合五月天 | 国产农村女人一级毛片了 | 天天在线干| 国产午夜精品久久久久免费视 | 性欧美hd | 天天做天天添天天谢 | 美女黄色一级片 | 免费观看欧美一级片 | 欧美日韩国产另类一区二区三区 | 四虎4hu | 国产精品美女久久久久网站 | 51成人网| 男人j进入女人免费视频 | 狠狠色成人综合首页 | 天天综合色天天综合网 | 久久99热不卡精品免费观看 | 免费一级毛片不卡在线播放 | 午夜精品久久久久久91 | 女生张开腿让男人桶 | 特级aaaaaaaaa毛片免费视频 | 成人丁香 |