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

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(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ā)動作事件,按鈕上可以顯示文本,當(dāng)按鈕動作時,能觸發(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)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11760

    瀏覽量

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

    關(guān)注

    7

    文章

    6107

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    科普|信創(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 ?8316次閱讀
    科普|信<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 ?728次閱讀
    信<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 ?855次閱讀
    <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>者在用?