大資料java篇——UI
阿新 • • 發佈:2019-01-25
UI ——user interface(使用者介面)
GUI——graphical user interface (圖形使用者介面)
java為GUI提供的物件都在java.Awt和java.Swing兩個包中
Label | 標籤,用來顯示文字,不可編輯 | Toolbar | 工具欄 | deactive | 鈍化的 |
Button | 按鈕 | Statusbar | 狀態列 | TextField | 文字框,單行 |
Checkbox | 複選框(比如在方框中打√,可多選) | Titlebar | 標題欄 | TextArea | 文字域,多行 |
RadioBox | 單選按鈕(一組按鈕中選一個) | Scrollbar | 滾動條 | password | 密碼 |
Menubar | 選單欄 | Taskbar | 工作列 | Dialog | 對話方塊 |
Menu | 選單 | active | 啟用的 | MenuItem | 選單項 |
自創記事本:
package gUIDemo; import java.awt.event.MouseAdapter; public class GUIDemo extends MouseAdapter { public static void main(String[] args) { MyWindow w = new MyWindow(); } }
package gUIDemo; import java.awt.Component; import java.awt.FileDialog; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; /** * 窗體 */ public class MyWindow extends JFrame { private static final long serialVersionUID = 1L; //成員變數 private JButton btnSave; private JButton btnClose; private JButton btnOpen; //文字域 private JTextArea textArea; //滾動面板 private JScrollPane scrollPane; /* * 建構函式 */ public MyWindow() { iniWindow(); } private void iniWindow() { // 設定窗體大小 this.setSize(600, 400); // 設定視窗位置 this.setLocation(500, 200); // 設定佈局管理器 this.setLayout(null);// 不設定 //建立介面卡物件 MyButtonAdaptor mba = new MyButtonAdaptor(); // 滑鼠點選事件 btnSave = new JButton("儲存"); btnSave.addMouseListener(mba); //設定按鈕邊界 btnSave.setBounds(220, 300, 100, 50); this.add(btnSave); btnClose = new JButton("關閉"); btnClose.setBounds(340, 300, 100, 50); this.add(btnClose); btnClose.addMouseListener(mba); btnOpen = new JButton("開啟"); btnOpen.setBounds(100, 300, 100, 50); this.add(btnOpen); btnOpen.addMouseListener(mba); //建立JtextArea textArea = new JTextArea(); textArea.setBounds(0, 0, 500, 300); //this.add(textArea); //滾動面板 scrollPane = new JScrollPane(textArea); scrollPane.setBounds(0, 0, 500, 300); this.add(scrollPane); // 設定可見性 this.setVisible(true); } /* * 自定義按鈕處理程式 */ class MyButtonAdaptor extends MouseAdapter{ //單擊 public void mouseClicked(MouseEvent e) { Component comp = e.getComponent(); //是否是儲存按鈕 if(comp == btnSave){ System.out.println("點選了儲存按鈕"); String cont = textArea.getText(); try { FileOutputStream fos = new FileOutputStream("d:/xxx.txt"); fos.write(cont.getBytes()); fos.close(); textArea.setText(""); } catch (Exception e1) { e1.printStackTrace(); } } else if(comp == btnClose){ System.out.println("點選了關閉按鈕"); } else if(comp == btnOpen){ FileDialog fd = new FileDialog(MyWindow.this); fd.setVisible(true); String fname = fd.getFile(); BufferedReader br = null; if(fname != null){ try { File f = new File(fd.getDirectory(), fname); br = new BufferedReader(new InputStreamReader(new FileInputStream(f), "gbk")); String line = null ; while((line = br.readLine()) != null){ String old = textArea.getText(); old = old == null ? "" : old ; textArea.setText(old + "\r\n" + line); } } catch (Exception e1) { e1.printStackTrace(); } finally { if(br != null) { try { br.close(); } catch (IOException e1) { e1.printStackTrace(); } } } } } } } }