女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

    文章

    11465

    瀏覽量

    212839
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6097

    瀏覽量

    36143
收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

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

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

    Perforce JRebel是一款Java開發效率工具,旨在幫助java開發人員更快地編寫更好的應用程序。JRebel可即時重新加載對代碼
    的頭像 發表于 04-27 13:44 ?164次閱讀
    <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 ?717次閱讀

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    工控主板有哪些特點?

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

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

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

    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>應用說明

    工控主板環保智能設備中的應用

    工控主板環保智能設備中的應用,對于環境監測、資源管理、污染控制等方面起到了至關重要的作用。以下是工控主板
    的頭像 發表于 07-17 15:54 ?533次閱讀
    <b class='flag-5'>工控</b><b class='flag-5'>主板</b><b class='flag-5'>在</b>環保智能設備中的應用

    華納云:java web和java有什么區別java web和java有什么區別

    Java Web和Java是兩個不同的概念,它們功能、用途和實現方式存在一些區別,下面將詳細介紹它們之間的區別。 1. 功能和用途: – Jav
    的頭像 發表于 07-16 13:35 ?1371次閱讀
    華納云:<b class='flag-5'>java</b> web和<b class='flag-5'>java</b>有什么區別<b class='flag-5'>java</b> web和<b class='flag-5'>java</b>有什么區別