java记事本改良版

/*
 * FontDialog.java
 *
 * Created on __DATE__, __TIME__
 */

package gui.com;

import java.awt.Font;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

/**
 *
 * @author  __USER__
 */
public class FontDialog extends javax.swing.JDialog implements ActionListener,ListSelectionListener{

	/** Creates new form FontDialog */
	public FontDialog(java.awt.Frame parent, boolean modal) {
		super(parent, modal);
		initComponents();
		this.btnExit.addActionListener(this);
		this.btnSubmit.addActionListener(this);
		this.listZiXing.addListSelectionListener(this);
		this.listDaXiao.addListSelectionListener(this);
		this.listZiTi.addListSelectionListener(this);
		
	}

	/** This method is called from within the constructor to
	 * initialize the form.
	 * WARNING: Do NOT modify this code. The content of this method is
	 * always regenerated by the Form Editor.
	 */
	//GEN-BEGIN:initComponents
	// <editor-fold defaultstate="collapsed" desc="Generated Code">
	private void initComponents() {

		lblZiTi = new javax.swing.JLabel();
		txtZiTi = new javax.swing.JTextField();
		jScrollPane1 = new javax.swing.JScrollPane();
		listZiTi = new javax.swing.JList();
		lblZiXing = new javax.swing.JLabel();
		txtZiXing = new javax.swing.JTextField();
		jScrollPane2 = new javax.swing.JScrollPane();
		listZiXing = new javax.swing.JList();
		lblDaXiao = new javax.swing.JLabel();
		txtDaXiao = new javax.swing.JTextField();
		jScrollPane3 = new javax.swing.JScrollPane();
		listDaXiao = new javax.swing.JList();
		btnSubmit = new javax.swing.JButton();
		btnExit = new javax.swing.JButton();

		setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

		lblZiTi.setFont(new java.awt.Font("微软雅黑", 0, 18));
		lblZiTi.setText("\u5b57\u4f53\uff1a");

		txtZiTi.setText("\u5b8b\u4f53");

		listZiTi.setModel(new javax.swing.AbstractListModel() {
			String[] strings = { "宋体", "仿宋", "黑体", "楷体" };

			public int getSize() {
				return strings.length;
			}

			public Object getElementAt(int i) {
				return strings[i];
			}
		});
		jScrollPane1.setViewportView(listZiTi);

		lblZiXing.setFont(new java.awt.Font("微软雅黑", 0, 18));
		lblZiXing.setText("\u5b57\u5f62\uff1a");

		txtZiXing.setText("\u5e38\u89c4");

		listZiXing.setModel(new javax.swing.AbstractListModel() {
			String[] strings = { "常规", "斜体", "粗体", "粗体 倾斜" };

			public int getSize() {
				return strings.length;
			}

			public Object getElementAt(int i) {
				return strings[i];
			}
		});
		jScrollPane2.setViewportView(listZiXing);

		lblDaXiao.setFont(new java.awt.Font("微软雅黑", 0, 18));
		lblDaXiao.setText("\u5927\u5c0f\uff1a");

		txtDaXiao.setText("12");

		listDaXiao.setModel(new javax.swing.AbstractListModel() {
			String[] strings = { "12", "14", "16", "18", "20" };

			public int getSize() {
				return strings.length;
			}

			public Object getElementAt(int i) {
				return strings[i];
			}
		});
		jScrollPane3.setViewportView(listDaXiao);

		btnSubmit.setText("\u786e\u5b9a");

		btnExit.setText("\u53d6\u6d88");

		javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
				getContentPane());
		getContentPane().setLayout(layout);
		layout.setHorizontalGroup(layout
				.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
				.addGroup(
						layout.createSequentialGroup()
								.addContainerGap()
								.addGroup(
										layout.createParallelGroup(
												javax.swing.GroupLayout.Alignment.LEADING,
												false)
												.addComponent(jScrollPane1)
												.addComponent(lblZiTi)
												.addComponent(
														txtZiTi,
														javax.swing.GroupLayout.PREFERRED_SIZE,
														56,
														javax.swing.GroupLayout.PREFERRED_SIZE))
								.addGap(42, 42, 42)
								.addGroup(
										layout.createParallelGroup(
												javax.swing.GroupLayout.Alignment.LEADING,
												false).addComponent(lblZiXing)
												.addComponent(jScrollPane2)
												.addComponent(txtZiXing))
								.addGap(45, 45, 45)
								.addGroup(
										layout.createParallelGroup(
												javax.swing.GroupLayout.Alignment.LEADING,
												false)
												.addComponent(
														lblDaXiao,
														javax.swing.GroupLayout.DEFAULT_SIZE,
														javax.swing.GroupLayout.DEFAULT_SIZE,
														Short.MAX_VALUE)
												.addComponent(jScrollPane3)
												.addComponent(
														txtDaXiao,
														javax.swing.GroupLayout.PREFERRED_SIZE,
														59,
														javax.swing.GroupLayout.PREFERRED_SIZE))
								.addPreferredGap(
										javax.swing.LayoutStyle.ComponentPlacement.RELATED,
										39, Short.MAX_VALUE)
								.addGroup(
										layout.createParallelGroup(
												javax.swing.GroupLayout.Alignment.TRAILING)
												.addComponent(btnSubmit)
												.addComponent(btnExit))
								.addContainerGap()));
		layout.setVerticalGroup(layout
				.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
				.addGroup(
						layout.createSequentialGroup()
								.addGap(44, 44, 44)
								.addGroup(
										layout.createParallelGroup(
												javax.swing.GroupLayout.Alignment.BASELINE)
												.addComponent(lblZiTi)
												.addComponent(lblZiXing)
												.addComponent(lblDaXiao))
								.addPreferredGap(
										javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
								.addGroup(
										layout.createParallelGroup(
												javax.swing.GroupLayout.Alignment.BASELINE)
												.addComponent(btnSubmit)
												.addComponent(
														txtZiTi,
														javax.swing.GroupLayout.PREFERRED_SIZE,
														javax.swing.GroupLayout.DEFAULT_SIZE,
														javax.swing.GroupLayout.PREFERRED_SIZE)
												.addComponent(
														txtZiXing,
														javax.swing.GroupLayout.PREFERRED_SIZE,
														javax.swing.GroupLayout.DEFAULT_SIZE,
														javax.swing.GroupLayout.PREFERRED_SIZE)
												.addComponent(
														txtDaXiao,
														javax.swing.GroupLayout.PREFERRED_SIZE,
														javax.swing.GroupLayout.DEFAULT_SIZE,
														javax.swing.GroupLayout.PREFERRED_SIZE))
								.addGroup(
										layout.createParallelGroup(
												javax.swing.GroupLayout.Alignment.LEADING)
												.addGroup(
														layout.createSequentialGroup()
																.addGap(80, 80,
																		80)
																.addComponent(
																		btnExit))
												.addGroup(
														layout.createSequentialGroup()
																.addPreferredGap(
																		javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
																.addGroup(
																		layout.createParallelGroup(
																				javax.swing.GroupLayout.Alignment.LEADING)
																				.addComponent(
																						jScrollPane2,
																						javax.swing.GroupLayout.PREFERRED_SIZE,
																						javax.swing.GroupLayout.DEFAULT_SIZE,
																						javax.swing.GroupLayout.PREFERRED_SIZE)
																				.addComponent(
																						jScrollPane1,
																						javax.swing.GroupLayout.PREFERRED_SIZE,
																						javax.swing.GroupLayout.DEFAULT_SIZE,
																						javax.swing.GroupLayout.PREFERRED_SIZE)
																				.addComponent(
																						jScrollPane3,
																						javax.swing.GroupLayout.PREFERRED_SIZE,
																						javax.swing.GroupLayout.DEFAULT_SIZE,
																						javax.swing.GroupLayout.PREFERRED_SIZE))))
								.addContainerGap(25, Short.MAX_VALUE)));

		pack();
	}// </editor-fold>
	//GEN-END:initComponents

	/**
	 * @param args the command line arguments
	 */
	public static void main(String args[]) {
		java.awt.EventQueue.invokeLater(new Runnable() {
			public void run() {
				FontDialog dialog = new FontDialog(new javax.swing.JFrame(),
						true);
				dialog.addWindowListener(new java.awt.event.WindowAdapter() {
					public void windowClosing(java.awt.event.WindowEvent e) {
						System.exit(0);
					}
				});
				dialog.setVisible(true);
			}
		});
	}

	//GEN-BEGIN:variables
	// Variables declaration - do not modify
	private javax.swing.JButton btnExit;
	private javax.swing.JButton btnSubmit;
	private javax.swing.JScrollPane jScrollPane1;
	private javax.swing.JScrollPane jScrollPane2;
	private javax.swing.JScrollPane jScrollPane3;
	private javax.swing.JLabel lblDaXiao;
	private javax.swing.JLabel lblZiTi;
	private javax.swing.JLabel lblZiXing;
	private javax.swing.JList listDaXiao;
	private javax.swing.JList listZiTi;
	private javax.swing.JList listZiXing;
	private javax.swing.JTextField txtDaXiao;
	private javax.swing.JTextField txtZiTi;
	private javax.swing.JTextField txtZiXing;
	
	
	Font f;                                               //调用内部类font对字形进行设置
	
	
	// End of variables declaration//GEN-END:variables
	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		String command = e.getActionCommand();//获取按钮事件上的名称
		if(command.equals("确定")){
			String fZiTi = txtZiTi.getText();
			String fZiXing = txtZiXing.getText();
			int fDaXiao = Integer.parseInt(txtDaXiao.getText());
			
			if(fZiXing.equals("常规")){
				f = new Font(fZiTi,Font.PLAIN,fDaXiao);
			}else if(fZiXing.equals("倾斜")){
				f = new Font(fZiTi,Font.ITALIC,fDaXiao);
			}else if(fZiXing.equals("粗体")){
				f = new Font(fZiTi,Font.BOLD,fDaXiao);
			}else if(fZiXing.equals("粗体 倾斜")){
				f = new Font(fZiTi,Font.BOLD | Font.ITALIC,fDaXiao);
			}
			this.dispose();			
		}else{
			this.dispose();			
		}
		
		
		
	}

	@Override
	public void valueChanged(ListSelectionEvent e) {
		// TODO Auto-generated method stub
		Object obj = e.getSource();//返回触发事件源
		JList source = (JList)obj;//对象造型,将他还原成其本来面目
		if(source== listZiTi){
			String ZiTi = (String)listZiTi.getSelectedValue();//返回列表中被选中的值
			txtZiTi.setText(ZiTi);//将得到的返回值作为参数,传递给充当现实区域的文本输入框
		}else if(source == listZiXing){
			String ZiXing = (String)listZiXing.getSelectedValue();
			txtZiXing.setText(ZiXing);
		}else if(source == listDaXiao){
			String DaXiao = (String)listDaXiao.getSelectedValue();
			txtDaXiao.setText(DaXiao);
		}			
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值