1. 程式人生 > >大資料java篇——UI

大資料java篇——UI

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

		}
		
	}

}