1. 程式人生 > 實用技巧 >java的gui程式設計示例

java的gui程式設計示例

對話方塊

package com.sly.uploadfile.base;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.Serializable; /** * Created by admin on 2020/6/27. */ public class MainFrame extends JFrame implements ActionListener, Serializable { public static void main(String[] args) { MainFrame mainFrame = new MainFrame(); } private static final long serialVersionUID = 6126254268960773408L;
private TextArea textArea; private JButton btnOK; private JButton btnCancel; private JMenuItem miOpen; private JMenuItem miExit; public MainFrame() { initFrame(); this.setVisible(true); } /** * 初始化佈局 */ private void initFrame() { // 標題
this.setTitle("主視窗"); // 邊界 this.setBounds(100, 100, 850, 700); // 絕對佈局 this.setLayout(null); Font font = new Font("微軟雅黑", Font.PLAIN, 15); // 將文字域新增到滾動面板中 textArea = new TextArea(); textArea.setFont(font); // 滾動面板 JScrollPane pane = new JScrollPane(textArea); pane.setBounds(0, 0, 800, 500); this.add(pane); btnOK = new JButton("儲存"); btnOK.setBounds(600, 510, 100, 50); btnOK.setFont(font); btnOK.addActionListener(this); this.add(btnOK); btnCancel = new JButton("取消"); btnCancel.setBounds(710, 510, 100, 50); btnCancel.setFont(font); btnCancel.addActionListener(this); this.add(btnCancel); // 新增視窗事件處理程式,使用介面卡 this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(-1); } }); // 新增選單欄 JMenuBar menuBar = new JMenuBar(); // 新增選單 JMenu menu = new JMenu("檔案"); miOpen = new JMenuItem("開啟"); miOpen.addActionListener(this); // 新增選單項 menu.add(miOpen); //分隔符 menu.addSeparator(); miExit = new JMenuItem("推出"); miExit.addActionListener(this); menu.add(miExit); menuBar.add(menu); this.setJMenuBar(menuBar); } public void actionPerformed(ActionEvent e) { Object es = e.getSource(); // 儲存檔案 if (es == btnOK) { try { // 開啟儲存對話方塊,定位儲存檔案的位置 FileDialog d = new FileDialog(this, "儲存", FileDialog.SAVE); d.setVisible(true); File f = new File(d.getDirectory(), d.getFile()); String str = textArea.getText(); FileWriter writer = new FileWriter(f); writer.write(str); writer.close(); textArea.setText(null); } catch (Exception e1) { e1.printStackTrace(); } } else if (es == btnCancel) { // 取消 this.dispose(); } else if (es == miOpen) { // 是否是選單項 FileDialog d = new FileDialog(this, "開啟", FileDialog.LOAD); d.setVisible(true); String dir = d.getDirectory(); String f = d.getFile(); if (dir != null && f != null) { try { textArea.setText(null); FileReader reader = new FileReader(new File(dir, f)); char[] buffer = new char[1024]; int len = -1; while ((len = reader.read(buffer)) != -1) { textArea.setText(textArea.getText() + new String(buffer, 0, len)); } reader.close(); } catch (Exception e1) { e1.printStackTrace(); } } } else if (es == miExit) { // 退出 System.exit(-1); } } }