?? fontdlg.java
字號:
package notepad;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
/**
*
* @author Administrator
*/
public class FontDlg extends JDialog implements ActionListener,
ListSelectionListener {
// 變量聲明
private javax.swing.JButton btnOK;
private javax.swing.JButton btnCancel;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JList lFontName;
private javax.swing.JList lFontStyle;
private javax.swing.JList lFontSize;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JScrollPane jScrollPane3;
private javax.swing.JTextField tfFontName;
private javax.swing.JTextField tfFontStyle;
private javax.swing.JTextField tfFontSize;
private javax.swing.JTextField tfDemo;
private NotePad notePad;
private String fontNames[];
// 變量聲明結束
/** Creates new form asdf */
public FontDlg(NotePad initNotePad) {
// 得到系統字體名稱
GraphicsEnvironment ge = GraphicsEnvironment
.getLocalGraphicsEnvironment();
fontNames = ge.getAvailableFontFamilyNames();
// 初始化頁面元素
initComponents();
notePad = initNotePad;
setFrame();// 設置初始頁面
btnOK.addActionListener(this);
btnCancel.addActionListener(this);
lFontName.addListSelectionListener(this);
lFontStyle.addListSelectionListener(this);
lFontSize.addListSelectionListener(this);
setVisible(false);
}
/**
* 設置初始頁面
*/
public void setFrame() {
Font font = notePad.note.getFont();
this.tfDemo.setFont(font);
String fName = font.getName();
int fStyle = font.getStyle();
int size = font.getSize();
this.lFontName.setSelectedValue(fName, false);
this.tfFontName.setText(fName);
switch (fStyle) {
case Font.BOLD:
this.lFontStyle.setSelectedValue("粗體", false);
this.tfFontStyle.setText("粗體");
case Font.ITALIC:
this.lFontStyle.setSelectedValue("斜體", false);
this.tfFontStyle.setText("斜體");
case Font.PLAIN:
this.lFontStyle.setSelectedValue("常規", false);
this.tfFontStyle.setText("常規");
case (Font.BOLD + Font.ITALIC):
this.lFontStyle.setSelectedValue("粗斜體", false);
this.tfFontStyle.setText("粗斜體");
}
this.lFontSize.setSelectedValue(String.valueOf(size), false);
this.tfFontSize.setText(String.valueOf(size));
}
/**
* 初始化頁面元素
*/
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
tfFontName = new javax.swing.JTextField();
tfFontName.setEditable(false);
tfFontStyle = new javax.swing.JTextField();
tfFontStyle.setEditable(false);
tfFontSize = new javax.swing.JTextField();
tfFontSize.setEditable(false);
jLabel4 = new javax.swing.JLabel();
tfDemo = new javax.swing.JTextField();
btnOK = new javax.swing.JButton();
btnCancel = new javax.swing.JButton();
lFontName = new javax.swing.JList();
lFontSize = new javax.swing.JList();
lFontStyle = new javax.swing.JList();
jScrollPane3 = new javax.swing.JScrollPane(this.lFontSize);
jScrollPane1 = new javax.swing.JScrollPane(this.lFontName);
jScrollPane2 = new javax.swing.JScrollPane(this.lFontStyle);
jLabel1.setText("\u5b57\u4f53(F)");
jLabel2.setText("\u5b57\u578b(Y)");
jLabel3.setText("\u5927\u5c0f(S)");
tfFontName.setText("");
tfFontStyle.setText("");
tfFontSize.setText("");
jLabel4.setText("\u793a\u4f8b\uff1a");
tfDemo.setText("張增名zhangzengming");
btnOK.setText("\u786e\u5b9a");
btnCancel.setText("\u53d6\u6d88");
lFontName.setModel(new AbstractListModel() {
public int getSize() {
return fontNames.length;
}
public Object getElementAt(int i) {
return fontNames[i];
}
});
lFontStyle.setModel(new AbstractListModel() {
String[] strings = { "常規", "粗體", "斜體", "粗斜體" };
public int getSize() {
return strings.length;
}
public Object getElementAt(int i) {
return strings[i];
}
});
lFontSize.setModel(new AbstractListModel() {
String[] strings = { "8", "9", "10", "11", "12", "14", "16", "18",
"20", "22", "24", "26", "28", "30", "36", "48", "72" };
public int getSize() {
return strings.length;
}
public Object getElementAt(int i) {
return strings[i];
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
getContentPane());
getContentPane().setLayout(layout);
layout
.setHorizontalGroup(layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
layout
.createSequentialGroup()
.addGroup(
layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
layout
.createSequentialGroup()
.addGap(
136,
136,
136)
.addComponent(
jLabel4)
.addGap(
37,
37,
37)
.addComponent(
tfDemo,
javax.swing.GroupLayout.PREFERRED_SIZE,
200,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(
layout
.createSequentialGroup()
.addGap(
33,
33,
33)
.addGroup(
layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING,
false)
.addComponent(
jScrollPane1)
.addComponent(
tfFontName,
javax.swing.GroupLayout.DEFAULT_SIZE,
127,
Short.MAX_VALUE)
.addComponent(
jLabel1))
.addGap(
18,
18,
18)
.addGroup(
layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING,
false)
.addComponent(
jScrollPane2)
.addComponent(
tfFontStyle,
javax.swing.GroupLayout.DEFAULT_SIZE,
128,
Short.MAX_VALUE)
.addComponent(
jLabel2))
.addGap(
21,
21,
21)
.addGroup(
layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.TRAILING,
false)
.addComponent(
jScrollPane3)
.addComponent(
tfFontSize,
javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE,
127,
Short.MAX_VALUE)
.addComponent(
jLabel3,
javax.swing.GroupLayout.Alignment.LEADING))))
.addContainerGap())
.addGroup(
layout
.createSequentialGroup()
.addGap(230, 230, 230)
.addComponent(
btnOK,
javax.swing.GroupLayout.PREFERRED_SIZE,
108,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(15, 15, 15)
.addComponent(
btnCancel,
javax.swing.GroupLayout.DEFAULT_SIZE,
63, Short.MAX_VALUE).addGap(83,
83, 83)));
layout
.setVerticalGroup(layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
javax.swing.GroupLayout.Alignment.TRAILING,
layout
.createSequentialGroup()
.addGap(39, 39, 39)
.addGroup(
layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(jLabel1)
.addComponent(jLabel3))
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(
layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(
tfFontName,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(
tfFontSize,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(
tfFontStyle,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(16, 16, 16)
.addGroup(
layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(
jScrollPane3,
javax.swing.GroupLayout.DEFAULT_SIZE,
100,
Short.MAX_VALUE)
.addComponent(
jScrollPane2,
javax.swing.GroupLayout.Alignment.LEADING,
0, 0,
Short.MAX_VALUE)
.addComponent(
jScrollPane1,
javax.swing.GroupLayout.Alignment.LEADING,
0, 0,
Short.MAX_VALUE))
.addGap(21, 21, 21)
.addGroup(
layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(
tfDemo,
javax.swing.GroupLayout.PREFERRED_SIZE,
37,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(46, 46, 46)
.addGroup(
layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(btnOK)
.addComponent(btnCancel))
.addGap(25, 25, 25)));
pack();
}
/**
* 處理按鈕事件
*/
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if (e.getSource() == btnOK) {
String fontName = this.tfFontName.getText();
String fontStyle = this.tfFontStyle.getText();
String fontSize = this.tfFontSize.getText();
int fontSty = Font.PLAIN;
if (fontStyle.equals("常規")) {
fontSty = Font.PLAIN;
} else if (fontStyle.equals("粗體")) {
fontSty = Font.BOLD;
} else if (fontStyle.equals("斜體")) {
fontSty = Font.ITALIC;
} else if (fontStyle.equals("粗斜體")) {
fontSty = Font.BOLD + Font.ITALIC;
}
int size = Integer.parseInt(fontSize);
Font font = new Font(fontName, fontSty, size);
notePad.note.setFont(font);
this.setVisible(false);
this.dispose();
} else if (e.getSource() == btnCancel) {
this.setVisible(false);
this.dispose();
}
}
/**
* 處理列表框事件
*/
public void valueChanged(ListSelectionEvent e) {
// TODO Auto-generated method stub
if (e.getSource() == lFontName) {
tfFontName.setText((String) lFontName.getSelectedValue());
String fontName = this.tfFontName.getText();
String fontStyle = this.tfFontStyle.getText();
String fontSize = this.tfFontSize.getText();
int fontSty = Font.PLAIN;
if (fontStyle.equals("常規")) {
fontSty = Font.PLAIN;
} else if (fontStyle.equals("粗體")) {
fontSty = Font.BOLD;
} else if (fontStyle.equals("斜體")) {
fontSty = Font.ITALIC;
} else if (fontStyle.equals("粗斜體")) {
fontSty = Font.BOLD + Font.ITALIC;
}
int size = Integer.parseInt(fontSize);
Font font = new Font(fontName, fontSty, size);
this.tfDemo.setFont(font);
} else if (e.getSource() == lFontStyle) {
tfFontStyle.setText((String) lFontStyle.getSelectedValue());
String fontName = this.tfFontName.getText();
String fontStyle = this.tfFontStyle.getText();
String fontSize = this.tfFontSize.getText();
int fontSty = Font.PLAIN;
if (fontStyle.equals("常規")) {
fontSty = Font.PLAIN;
} else if (fontStyle.equals("粗體")) {
fontSty = Font.BOLD;
} else if (fontStyle.equals("斜體")) {
fontSty = Font.ITALIC;
} else if (fontStyle.equals("粗斜體")) {
fontSty = Font.BOLD + Font.ITALIC;
}
int size = Integer.parseInt(fontSize);
Font font = new Font(fontName, fontSty, size);
this.tfDemo.setFont(font);
} else if (e.getSource() == lFontSize) {
tfFontSize.setText((String) lFontSize.getSelectedValue());
String fontName = this.tfFontName.getText();
String fontStyle = this.tfFontStyle.getText();
String fontSize = this.tfFontSize.getText();
int fontSty = Font.PLAIN;
if (fontStyle.equals("常規")) {
fontSty = Font.PLAIN;
} else if (fontStyle.equals("粗體")) {
fontSty = Font.BOLD;
} else if (fontStyle.equals("斜體")) {
fontSty = Font.ITALIC;
} else if (fontStyle.equals("粗斜體")) {
fontSty = Font.BOLD + Font.ITALIC;
}
int size = Integer.parseInt(fontSize);
Font font = new Font(fontName, fontSty, size);
this.tfDemo.setFont(font);
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -