·¢²¼Ê±¼ä : ÐÇÆÚÒ» ÎÄÕºþ±±Æû³µ¹¤ÒµÑ§ÔºJAVA³ÌÐòÉè¼Æ ʵÑéÈý JavaµÄGUI±à³Ì ʵÑéÖ¸µ¼Êé¸üÐÂÍê±Ï¿ªÊ¼ÔĶÁ67788bd37f1922791688e86b
ʵÑéÈý JavaµÄGUI±à³Ì
£¨Ò»£© ¿ª·¢ÎÄ×Ö×ÖÌåÉè¼Æ´°Ìå
¡¾ÊµÑéÄ¿µÄ¡¿
£¨1£© Á˽âGUIµÄ¸ÅÄ
£¨2£© Á˽âjava.awt°üºÍjavax.swing°ü£¬²¢±È½ÏËüÃǾßÓеÄͬÐÔÖʵÄ×é¼þµÄÒìͬ£» £¨3£© ÕÆÎÕºÍÔËÓÃJavaµÄ»ù±¾GUI×é¼þ£¬Á˽âËûÃǵÄÌص㡣
¡¾ÊµÑéÈÎÎñ¡¿
ÒªÇóÉè¼ÆÒ»¸öÎÄ×Ö×ÖÌåÉè¼Æ´°Ì壬Ôڸô°ÌåÖпÉÒÔÉèÖÃÒªÏÔʾÎÄ×ÖµÄ×ÖÌåÄÚÈÝ£¬°üÀ¨
×ÖÌåÃû³Æ¡¢×ÖÌå´óС¡¢´ÖÌåºÍбÌåµÈ×ÖÌå·ç¸ñ¡£²¢Ä£ÄâÔÚ²»Í¬²Ù×÷ϵͳϵÄÏÔʾЧ¹û¡£
¡¾ÊµÑéÄÚÈÝ¡¿
ÔĶÁ²¢·ÖÎöÒÔϳÌÐò£¬½«³ÌÐòÖеĴúÂë²¹³äÍêÕû£¬±àÒë²¢ÔËÐгÌÐò£¬²é¿´½á¹û¡£
//ArtFont.java
import javax.swing.*; import java.awt.*; import java.awt.event.*;
public class ArtFont extends JFrame implements ActionListener,ItemListener{ JComboBox fontType,fontSize; JCheckBox boldBx;//´ÖÌå°´Å¥ JCheckBox italicBx;//бÌå°´Å¥ JButton colorBtn;//ÑÕÉ«°´Å¥£» String[] fontNames;//×ÖÌåÃû³Æ; String[] fontSizes;//×ÖÌå³ß´ç£»
JLabel label;//ÊäÈëÌáʾ±êÇ©£» JTextField inputText;//ÎÄ×ÖÊäÈë¿ò£» JTextArea txtArea;//ÎÄ×ÖÏÔʾÇø; JPanel fontPanel;//×ÖÌåÉèÖã» JPanel showPanel;//ÏÔʾЧ¹ûÇø
Font font;
int boldStyle,italicStyle,underlineStyle; int fontSizeStyle; String fontNameStyle;
Color colorStyle=Color.black;//ÉèÖÃ×ÖÌåµÄĬÈÏÑÕɫΪºÚÉ«;
String[] style = { \ĬÈÏÏÔʾЧ¹û\, \ÏÔʾЧ¹û\, \ÏÔʾЧ¹û\ }; JComboBox styleBtn;
public ArtFont() { super(\×ÖÌåÉèÖÃ\); //ÉèÖÃĬÈÏ×ÖÌå boldStyle=0; italicStyle=0; underlineStyle=0; fontSizeStyle=10;
fontNameStyle=\ËÎÌå\;
font=new Font(fontNameStyle,boldStyle+italicStyle,fontSizeStyle);
fontPanel=new JPanel();
fontPanel.setLayout(new FlowLayout()); //ÉèÖÃ×ÖÌåÃû×Ö
GraphicsEnvironment
ge=GraphicsEnvironment.getLocalGraphicsEnvironment();
fontNames=ge.getAvailableFontFamilyNames();//»ñµÃϵͳÖÐËùÓÐ×ÖÌåµÄÃû×Ö£» fontType=new JComboBox(fontNames); fontType.setEditable(false); fontType.setMaximumRowCount(10);
fontType.addItemListener(new ItemListener(){ public void itemStateChanged(ItemEvent e){ //ʵÏÖ¼àÌý×ÖÌåÃû×ָıäµÄʼþ
String item=(String) e.getItem(); System.out.println(item); fontNameStyle= item; font=new
Font(fontNameStyle,boldStyle+italicStyle,fontSizeStyle); txtArea. ´úÂë1 ; //ÉèÖÃÏÔʾÇø×ÖÌå } });
//ÉèÖÃ×ÖÌå´óС
fontSizes=new String[63]; for(int i=0;i<63;i++){
fontSizes[i]=Integer.toString((i+10)); }
fontSize=new JComboBox(fontSizes); fontSize.setEditable(false);
fontSize.setMaximumRowCount(10); // ÉèÖà JComboBox ÏÔʾµÄ×î´óÐÐÊý¡£ fontSize.addItemListener(new ItemListener(){ public void itemStateChanged(ItemEvent e){ //ʵÏÖ¼àÌý×ÖÌå´óС¸Ä±äµÄ·½·¨
String size=(String)e.getItem(); fontSizeStyle=Integer.parseInt(size); font=new
Font(fontNameStyle,boldStyle+italicStyle,fontSizeStyle); txtArea.setFont(font); } });
//ÉèÖôÖÌåÑ¡Ôñ°´Å¥£»
boldBx=new JCheckBox(\´ÖÌå\);
boldBx.addItemListener(new ItemListener(){ public void itemStateChanged(ItemEvent e){
//ʵÏÖ¼àÌýÑ¡Ôñ´ÖÌå״̬¸Ä±äµÄ·½·¨
if(e.getSource()==boldBx&&e.getStateChange()==e.SELECTED){ boldStyle= ´úÂë2 ; //ÉèÖÃ×ÖÌåΪ´ÖÌå
font=new Font(fontNameStyle,boldStyle+italicStyle,fontSizeStyle); txtArea.setFont(font); } } });
//ÉèÖÃбÌåÑ¡Ôñ°´Å¥£»
italicBx=new JCheckBox(\бÌå\);
italicBx.addItemListener(new ItemListener(){ public void itemStateChanged(ItemEvent e){
//ʵÏÖ¼àÌýÑ¡ÔñбÌå״̬¸Ä±äµÄ·½·¨
if(e.getSource()==italicBx&&e.getStateChange()==e.SELECTED){ italicStyle= ´úÂë3 ; //ÉèÖÃ×ÖÌåΪбÌå
font=new Font(fontNameStyle,boldStyle+italicStyle,fontSizeStyle); txtArea.setFont(font); } } });
//ÉèÖÃÑÕÉ«Ñ¡Ôñ£»
colorBtn=new JButton(\ÑÕÉ«\);
colorBtn.addActionListener(this); //ÉèÖÃ×ÖÌåÃæ°å£»
fontPanel.add(fontType); fontPanel.add(fontSize); fontPanel.add(boldBx); fontPanel.add(italicBx); fontPanel.add(colorBtn);
//ÉèÖÃÊäÈëÌáʾ±êÇ©
label=new JLabel(\ÊäÈë\);
//ÉèÖÃÎı¾ÊäÈë¿ò£»
inputText=new JTextField(30); inputText.addActionListener(this); //ÉèÖÃÎı¾ÏÔʾÇø£»
txtArea=new JTextArea(10,80);//20ÐÐ80ÁУ»
txtArea.setFont(font);
//ÉèÖô°¿ÚµÄÑùʽ;
styleBtn=new JComboBox(style); styleBtn.addItemListener(this);
//ÉèÖÃÎı¾Ãæ°å;
showPanel=new JPanel(); showPanel.add(label); showPanel.add(inputText);
showPanel.setLayout(new FlowLayout());
showPanel.add(new JScrollPane(txtArea));
showPanel.add(styleBtn);
//ÉèÖÃÈÝÆ÷;
Container container=getContentPane(); container.setLayout(new BorderLayout()); container.add(fontPanel,BorderLayout.NORTH); container.add(showPanel,BorderLayout.CENTER); setSize(500,300); setVisible(true); }
public void actionPerformed(ActionEvent e){ if(e.getSource()==colorBtn){//¸Ä±äÑÕÉ«
colorStyle=JColorChooser.showDialog(this,\Ñ¡Ôñ×ÖÌåÑÕÉ«\,colorStyle);
colorBtn.setForeground(colorStyle); txtArea.setForeground(colorStyle); }
else if(e.getSource()==inputText){//½«ÊäÈëÎÄ×ÖÔÚÎÄ×ÖÏÔʾÇø±íʾ£» txtArea.setText(inputText.getText()); } }
public void itemStateChanged(ItemEvent e) {
String s = (String) e.getItem(); String className = \;
if (s.equals(\ÏÔʾЧ¹û\))