99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)在低成本工控主板上開發(fā)Java圖形應(yīng)用程序

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

public class MainGui extends JFrame {

public MainGui() {

setSize(800, 480);

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

setLocationRelativeTo(null);

setDefaultCloseOperation(MainGui.EXIT_ON_CLOSE);

setVisible(true);

}

}

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

class RightPanel extends JPanel {

public RightPanel() {

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

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

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

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

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

}

}

接下來我們?yōu)榇诘慕邮芎桶l(fā)送的數(shù)據(jù)添加兩個顯示區(qū)域,可以選擇文本框(JTextField)和文本區(qū)(JTextArea)來實現(xiàn),文本框與文本區(qū)的主要區(qū)別是文本區(qū)可存放多行文本。在這里我們選用文本區(qū)來實現(xiàn),并用GridBagLayout進行兩個文本區(qū)的布局管理,構(gòu)建文本區(qū)的部分代碼如下:

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

}

}

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

    關(guān)注

    87

    文章

    11511

    瀏覽量

    213879
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6102

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    科普|信創(chuàng)是什么?一文讀懂“信息技術(shù)應(yīng)用創(chuàng)新”戰(zhàn)略

    什么是信創(chuàng)?信創(chuàng),即“信息技術(shù)應(yīng)用創(chuàng)新”,是國家推動IT系統(tǒng)自主可控、安全可控的重要戰(zhàn)略工程。它不僅是技術(shù)層面的創(chuàng)新,更承載著保障國家網(wǎng)絡(luò)安全、推動產(chǎn)業(yè)升級和實現(xiàn)數(shù)字主權(quán)的重任。簡單來
    的頭像 發(fā)表于 06-13 10:06 ?2031次閱讀
    科普|信<b class='flag-5'>創(chuàng)</b>是什么?一文讀懂“<b class='flag-5'>信息技術(shù)</b>應(yīng)用創(chuàng)新”戰(zhàn)略

    創(chuàng)浪潮下,國產(chǎn)主板有什么新的發(fā)展機遇?

    信息技術(shù)應(yīng)用創(chuàng)新浪潮的推動下,國產(chǎn)主板迎來了諸多新的發(fā)展機遇。信創(chuàng)產(chǎn)業(yè)旨在實現(xiàn)信息技術(shù)領(lǐng)域的自主可控,這一戰(zhàn)略目標為國產(chǎn)
    的頭像 發(fā)表于 05-09 09:24 ?223次閱讀
    信<b class='flag-5'>創(chuàng)</b>浪潮下,國產(chǎn)<b class='flag-5'>主板</b>有什么新的發(fā)展機遇?

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

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

    基于QT開發(fā)國產(chǎn)主板終端桌面程序 高效、穩(wěn)定、跨平臺的解決方案

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

    工業(yè)級主板工控主板的區(qū)別?

    工業(yè)領(lǐng)域,主板的重要性是被無限放大的。大型工廠里日夜不停運轉(zhuǎn)的自動化生產(chǎn)線、精準控制的智能電網(wǎng)系統(tǒng)、以及極端環(huán)境下依然穩(wěn)定采集數(shù)據(jù)的石油勘探設(shè)備,它們背后都依靠著工業(yè)級
    的頭像 發(fā)表于 01-02 10:01 ?531次閱讀

    SSM框架在Java開發(fā)中的應(yīng)用 如何使用SSM進行web開發(fā)

    SSM框架,即Spring、SpringMVC和MyBatis的整合,是Java Web開發(fā)中常用的技術(shù)棧。它通過分層架構(gòu),實現(xiàn)了視圖、控制、業(yè)務(wù)邏輯和數(shù)據(jù)訪問的分離,提高了代碼的可維護性和可擴展性
    的頭像 發(fā)表于 12-16 17:28 ?1598次閱讀

    國產(chǎn)工控主板有什么優(yōu)勢、特點?

    隨著國產(chǎn)工控主板的發(fā)展,國內(nèi)企業(yè)也不斷開發(fā)新的工控主板,為了滿足國內(nèi)企業(yè)的發(fā)展需求,一些國產(chǎn)
    的頭像 發(fā)表于 11-15 10:11 ?533次閱讀

    ?什么是國產(chǎn)工控主板,國產(chǎn)工控主板的特點有哪些?

    什么是國產(chǎn)工控主板呢?國產(chǎn)工控主板是工業(yè)計算機的主板,是一種計算機系統(tǒng)的硬件設(shè)備,是專門為工業(yè)控制場景設(shè)計和生產(chǎn)的電路板。它在國內(nèi)的研發(fā)和制
    的頭像 發(fā)表于 11-07 10:29 ?700次閱讀

    國產(chǎn)工控主板,信創(chuàng)產(chǎn)業(yè)發(fā)展新引擎

    在當今科技飛速發(fā)展的時代,信創(chuàng)產(chǎn)業(yè)正成為國家戰(zhàn)略的重要支撐。而我們的國產(chǎn)工控主板,以其卓越的性能和可靠的品質(zhì),為信創(chuàng)產(chǎn)業(yè)的發(fā)展注入強大動力。國產(chǎn)工控
    的頭像 發(fā)表于 11-06 10:29 ?675次閱讀

    中科創(chuàng)達榮獲2024年軟件和信息技術(shù)服務(wù)優(yōu)秀企業(yè)

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

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

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

    工控主板有哪些特點?

    ?工控主板是用于工業(yè)控制領(lǐng)域的專用主板,具有以下特點: 穩(wěn)定性:工控主板通常經(jīng)過嚴格的測試和優(yōu)化,具有較高的穩(wěn)定性和可靠性,能夠
    的頭像 發(fā)表于 10-10 08:55 ?852次閱讀

    創(chuàng)國產(chǎn)化背景下的工控主板發(fā)展現(xiàn)狀

    創(chuàng),是信息技術(shù)應(yīng)用創(chuàng)新產(chǎn)業(yè)的簡稱,于2016年“信創(chuàng)工委會”(信息技術(shù)應(yīng)用創(chuàng)新工作委員會)提出,目的就是要推動我們國內(nèi)軟硬件關(guān)鍵技術(shù)的研發(fā)
    的頭像 發(fā)表于 09-21 16:15 ?886次閱讀

    TM4C MCU用FreeRTOS開發(fā)通用應(yīng)用程序應(yīng)用說明

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

    工控主板接口全解析:國產(chǎn)主板的多樣連接

    接口以其豐富的類型和卓越的性能,滿足了工業(yè)領(lǐng)域多樣化的應(yīng)用需求。 1.PCIe接口 ? 作為工控主板的高速外設(shè)連接通道,PCIe接口以其卓越的數(shù)據(jù)傳輸速率,支持著廣泛的擴展卡,包括但不限于網(wǎng)絡(luò)適配器、
    的頭像 發(fā)表于 09-06 14:54 ?2471次閱讀
    <b class='flag-5'>工控</b><b class='flag-5'>主板</b>接口全解析:國產(chǎn)<b class='flag-5'>主板</b>的多樣連接