91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

我們以串口通訊為例,通過(guò)Java實(shí)現(xiàn)一個(gè)簡(jiǎn)單的串口測(cè)試界面。

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

public class MainGui extends JFrame {

public MainGui() {

setSize(800, 480);

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

setLocationRelativeTo(null);

setDefaultCloseOperation(MainGui.EXIT_ON_CLOSE);

setVisible(true);

}

}

我們給窗口取名為“串口測(cè)試程序”,接下來(lái)我們?cè)诖谏显黾犹峁┐蜷_(kāi)串口操作、關(guān)閉串口操作和發(fā)送數(shù)據(jù)的按鈕,按鈕(JButton)在界面中用于觸發(fā)動(dòng)作事件,按鈕上可以顯示文本,當(dāng)按鈕動(dòng)作時(shí),能觸發(fā)動(dòng)作事件,按鈕動(dòng)作事件的相關(guān)接口類(lèi)是ActionListener, 構(gòu)建按鈕的部分代碼如下:

class RightPanel extends JPanel {

public RightPanel() {

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

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

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

}

}

接下來(lái)我們?yōu)榇诘慕邮芎桶l(fā)送的數(shù)據(jù)添加兩個(gè)顯示區(qū)域,可以選擇文本框(JTextField)和文本區(qū)(JTextArea)來(lái)實(shí)現(xiàn),文本框與文本區(qū)的主要區(qū)別是文本區(qū)可存放多行文本。在這里我們選用文本區(qū)來(lái)實(shí)現(xiàn),并用GridBagLayout進(jìn)行兩個(gè)文本區(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)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11764

    瀏覽量

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

    關(guān)注

    7

    文章

    6107

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    創(chuàng)產(chǎn)業(yè)駛?cè)肟燔?chē)道,國(guó)產(chǎn)工控主板成自主可控關(guān)鍵支撐

    當(dāng)前,我國(guó)信創(chuàng)產(chǎn)業(yè)規(guī)模大幅突破,信息技術(shù)應(yīng)用創(chuàng)新產(chǎn)業(yè)迎來(lái)高速發(fā)展期。發(fā)展信創(chuàng),早已超越單純的技術(shù)升級(jí)范疇,成為保障國(guó)家信息安全、推動(dòng)經(jīng)濟(jì)高質(zhì)
    的頭像 發(fā)表于 03-04 14:18 ?52次閱讀
    信<b class='flag-5'>創(chuàng)</b>產(chǎn)業(yè)駛?cè)肟燔?chē)道,國(guó)產(chǎn)<b class='flag-5'>工控</b><b class='flag-5'>主板</b>成自主可控關(guān)鍵支撐

    arm嵌入式主板優(yōu)缺點(diǎn)

    設(shè)備里面做控制、數(shù)據(jù)處理使用的CPU板。一般作為工控主板使用。   ARM處理器是一種16/32位的嵌入式RISC微處理器,具有低成本、高性能、低功耗的特點(diǎn)。ARM9系列微處理器具有以下特點(diǎn):支持
    發(fā)表于 01-08 07:08

    國(guó)產(chǎn)金融主板:賦能智慧金融,驅(qū)動(dòng)信創(chuàng)產(chǎn)業(yè)升級(jí)

    隨著信息技術(shù)的飛速迭代,信創(chuàng)產(chǎn)業(yè)已在全球范圍內(nèi)崛起,成為拉動(dòng)經(jīng)濟(jì)增長(zhǎng)、激活創(chuàng)新動(dòng)能的核心力量。創(chuàng)產(chǎn)業(yè)的關(guān)鍵布局中,智慧金融建設(shè)是重中之重,而國(guó)產(chǎn)金融
    的頭像 發(fā)表于 12-31 09:03 ?179次閱讀
    國(guó)產(chǎn)金融<b class='flag-5'>主板</b>:賦能智慧金融,驅(qū)動(dòng)信<b class='flag-5'>創(chuàng)</b>產(chǎn)業(yè)升級(jí)

    國(guó)產(chǎn)芯筑基,飛騰主板賦能信創(chuàng)未來(lái)

    信息技術(shù)自主可控成為國(guó)家戰(zhàn)略的今天,信創(chuàng)產(chǎn)業(yè)正從“政策驅(qū)動(dòng)”邁向“市場(chǎng)驅(qū)動(dòng)”的高質(zhì)量發(fā)展新階段。作為信創(chuàng)產(chǎn)業(yè)鏈的核心硬件基石,主板的國(guó)產(chǎn)化
    的頭像 發(fā)表于 12-30 09:49 ?213次閱讀
    國(guó)產(chǎn)芯筑基,飛騰<b class='flag-5'>主板</b>賦能信<b class='flag-5'>創(chuàng)</b>未來(lái)

    CW32L010低成本BLDC電機(jī)控制開(kāi)發(fā)套件的使用

    [tr][td]CW32L010ESC_Driver電機(jī)驅(qū)動(dòng)板是武漢芯源科技推出的一款低成本BLDC無(wú)刷直流電機(jī)開(kāi)發(fā)板。創(chuàng)開(kāi)源硬件平臺(tái)可以查看該項(xiàng)目的詳情。 https
    發(fā)表于 11-17 07:39

    3A6000四核龍芯工控主板,推動(dòng)信創(chuàng)工控深度融合

    當(dāng)今信創(chuàng)科技快速發(fā)展,技術(shù)的不斷演進(jìn)和市場(chǎng)需求的變化,工控領(lǐng)域也進(jìn)行源源不斷地創(chuàng)新,其中最引人注目的是國(guó)產(chǎn)龍芯
    的頭像 發(fā)表于 11-14 09:10 ?385次閱讀

    工控主板的設(shè)計(jì)特性

    工業(yè)自動(dòng)化、智能裝備、物聯(lián)網(wǎng)等領(lǐng)域,工控主板作為核心控制單元,其設(shè)計(jì)質(zhì)量直接決定了整個(gè)系統(tǒng)的穩(wěn)定性、可靠性與運(yùn)行效率。與消費(fèi)級(jí)主板不同,工控
    的頭像 發(fā)表于 11-13 08:58 ?476次閱讀
    <b class='flag-5'>工控</b><b class='flag-5'>主板</b>的設(shè)計(jì)特性

    新時(shí)代的硬核基石:龍芯工控主板助力信創(chuàng)產(chǎn)業(yè)新基建

    在數(shù)字技術(shù)重塑產(chǎn)業(yè)格局的今天,信創(chuàng)產(chǎn)業(yè)已成為保障國(guó)家信息技術(shù)安全的核心戰(zhàn)略。作為工業(yè)自動(dòng)化系統(tǒng)的大腦,工控主板的自主可控程度直接決定信創(chuàng)新基
    的頭像 發(fā)表于 11-05 13:54 ?297次閱讀

    工控主板的三大核心技術(shù)

    工業(yè)自動(dòng)化的浪潮中,工控主板如同“工業(yè)大腦”的核心載體,支撐著各類(lèi)設(shè)備的穩(wěn)定運(yùn)行與智能升級(jí)。相較于消費(fèi)級(jí)主板,工控
    的頭像 發(fā)表于 10-16 11:05 ?391次閱讀

    智慧新核心,龍芯主板助力信創(chuàng)體系再升級(jí)

    信息技術(shù)飛速發(fā)展的當(dāng)下,信創(chuàng)體系的自主可控與創(chuàng)新升級(jí)已成為國(guó)家戰(zhàn)略層面的關(guān)鍵任務(wù)。作為信創(chuàng)產(chǎn)業(yè)發(fā)展的重要基礎(chǔ)硬件支撐,國(guó)產(chǎn)工控
    的頭像 發(fā)表于 08-11 09:14 ?706次閱讀

    飛騰主板為信創(chuàng)產(chǎn)業(yè)發(fā)展提高硬實(shí)力

    信息技術(shù)飛速發(fā)展的當(dāng)下,信創(chuàng)產(chǎn)業(yè)已成為我國(guó)實(shí)現(xiàn)科技自立自強(qiáng)、保障國(guó)家信息安全的關(guān)鍵領(lǐng)域。信創(chuàng),即信息技
    的頭像 發(fā)表于 07-22 18:20 ?719次閱讀

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

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

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

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

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

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