主頁 > 文庫 > 綜合文庫 >

湖北汽車工業學院JAVA程序設計 實驗三 Java的GUI編程 實驗指

時間:2019-06-17 19:58 作者:admin 來源:未知 手機版
字體:
實驗三 Java的GUI編程 (一) 開發文字字體設計窗體 【實驗目的】 (1) 了解GUI的概念; (2) 了解java.awt包和javax.swing包,并比較它們具有的同性質的組件的異同; (3) 掌握和運用Java的基本GUI組件,了解他們的特點。 【實驗任務】 要求設計一個文字字體設計窗
下載word文檔:打開支付寶首頁搜索“553344926”領取紅包后即可免費下載高清文檔!
以下是由77cn范文大全為大家整理的湖北汽車工業學院JAVA程序設計 實驗三 Java的GUI編程 實驗指的相關范文,本文關鍵詞為湖北,汽車,工業,學院,JAVA,程序設計,實驗,Java,,您可以從右上方搜索框檢索更多相關文章,如果您覺得有用,請繼續關注我們并推薦給您的好友,您可以在綜合文庫中查看更多范文。

實驗三 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(\顯示效果\))

}

className =

\;

else if (s.equals(\顯示效果\)) className = else if (s.equals(\默認顯示效果\)) className = try { }

UIManager.setLookAndFeel(className);

SwingUtilities.updateComponentTreeUI(this); System.out.println(\);

\;

UIManager.getCrossPlatformLookAndFeelClassName();

} catch (Exception de) {

public static void main(String args[]){

代碼4 ;

artFont.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }

思考:

(1)如果將顏色按鈕colorBtn的事件監聽者改為一個為ActionListener匿名對象,即將程序中的語句colorBtn.addActionListener(this)改成如下形式:

colorBtn.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ if(e.getSource()==colorBtn){//改變顏色

colorStyle=JColorChooser.showDialog(this, \選擇字體顏色\,colorStyle); //this 換成colorBtn

colorBtn.setForeground(colorStyle); txtArea.setForeground(colorStyle); } } });

程序可否編譯正常?運行正常嗎?如果不能,是什么原因?

(2)如果將程序ArtFont.java中所有的匿名監聽者改為this,那么程序主要會做什么變動?

(3)程序運行結果是java的默認顯示效果,如果希望用戶能控制界面的顯示效果,呈現出具有UNIX操作系統的顯示外觀和Window操作系統的默認顯示效果,該如何修改程序?

(二) 布局與日歷

【實驗目的】



百度搜索“77cn”或“免費范文網”即可找到本站免費閱讀全部范文。收藏本站方便下次閱讀,免費范文網,提供經典小說綜合文庫湖北汽車工業學院JAVA程序設計 實驗三 Java的GUI編程 實驗指在線全文閱讀。
本文來自:免費范文網(www.oxoddj.tw) 轉載請注明出處!

上一篇:中華民風民俗單元整理課 下一篇:啟蒙運動資產階級革命練習教師


本文鏈接:http://www.oxoddj.tw/wenku/zonghe/663351.html(轉載請注明文章來源)

法甲前几名进欧冠