資源簡介
java100例之實(shí)例22 分割一個(gè)面板(java絕對(duì)新手實(shí)例)
代碼片段和文件信息
import?java.awt.*;
import?java.awt.event.*;
import?javax.swing.*;
import?javax.swing.event.*;
import?java.util.*;
/**
?*?title:?分割面板
?*?Description:?演示將面板分割成左右兩部分
?*?Copyright:?Copyright?(c)?2003
?*?Filename:SplitPaneDemo.java?
?*?@author?杜江
?*?@version?1.0
?*/
public?class?SplitPaneDemo?implements?ListSelectionListener?{
????private?String[]?imageNames={“Bird.gif““Cat.gif““Dog.gif““Pig.gif“};
????private?JLabel?picture;
????private?JList?list;
????private?JSplitPane?splitPane;
/**
?*
方法說明:構(gòu)造器,定義了所有要使用的構(gòu)件
?*
輸入?yún)?shù):
?*
返回類型:
?*/
????public?SplitPaneDemo()?{
????????
????????//創(chuàng)建一個(gè)圖像名稱的列表,設(shè)置為單選方式
????????list?=?new?JList(imageNames);
????????list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
????????list.setSelectedIndex(0);
????????list.addListSelectionListener(this);
????????JScrollPane?listScrollPane?=?new?JScrollPane(list);
????????//獲取默認(rèn)的圖片
????????ImageIcon?firstImage?=?createImageIcon(“images/“?+
?????????????????????????????????????(String)imageNames[0]);
????????if?(firstImage?!=?null)?{
????????????picture?=?new?JLabel(firstImage);
????????????picture.setPreferredSize(new?Dimension(firstImage.getIconWidth()
???????????????????????????????????????????????????firstImage.getIconHeight()));
????????}?else?{
????????????picture?=?new?JLabel((String)imageNames[0]);
????????}
????????JScrollPane?pictureScrollPane?=?new?JScrollPane(picture);
????????//創(chuàng)建一個(gè)水平分割的面板,定義了兩個(gè)面板的名字。
????????splitPane?=?new?JSplitPane(JSplitPane.HORIZONTAL_SPLITtrue
???????????????????????????????????listScrollPane?pictureScrollPane);
????????splitPane.setOneTouchExpandable(true);
????????splitPane.setDividerLocation(150);
????????//定義面板的最小尺寸
????????Dimension?minimumSize?=?new?Dimension(100?50);
????????listScrollPane.setMinimumSize(minimumSize);
????????pictureScrollPane.setMinimumSize(minimumSize);
????????//定義初始尺寸
????????splitPane.setPreferredSize(new?Dimension(400?200));
????}
/**
?*
方法說明:獲得這個(gè)分割的面板
?*
輸入?yún)?shù):
?*
返回類型:JSplitPane?對(duì)象
?*/
????public?JSplitPane?getSplitPane()?{
????????return?splitPane;
????}
/**
?*
方法說明:列表監(jiān)聽事件處理
?*
輸入?yún)?shù):ListSelectionEvent?e?列表選擇事件
?*
返回類型:
?*/
????public?void?valueChanged(ListSelectionEvent?e)?{
????????if?(e.getValueIsAdjusting())
????????????return;
????????JList?theList?=?(JList)e.getSource();
????????if?(theList.isSelectionEmpty())?{
????????????picture.setIcon(null);
????????????picture.setText(null);
????????}?else?{
????????????int?index?=?theList.getSelectedIndex();
????????????ImageIcon?newImage?=?createImageIcon(“images/“?+
?????????????????????????????????????(String)imageNames[index]);
????????????picture.setIcon(newImage);
????????????if?(newImage?!=?null)?{
????????????????picture.setText(null);
????????????????picture.setPreferredSize(new?Dimension(newImage.getIconWidth()
???????????????????????????????????????????????????????newImage.getIconHeight()?));
????????????}?else?{
????????????????picture.setText(“Image?not?found:?“
????????????????????
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????3658??2003-11-08?23:12??實(shí)例22?分割一個(gè)面板\SplitPaneDemo.class
?????文件???????4219??2003-11-11?23:17??實(shí)例22?分割一個(gè)面板\SplitPaneDemo.java
?????文件???????5377??2003-10-15?11:12??實(shí)例22?分割一個(gè)面板\images\Bird.gif
?????文件???????3366??2003-10-15?11:13??實(shí)例22?分割一個(gè)面板\images\Cat.gif
?????文件???????3587??2003-10-15?11:13??實(shí)例22?分割一個(gè)面板\images\Dog.gif
?????文件???????8613??2003-10-15?11:13??實(shí)例22?分割一個(gè)面板\images\Pig.gif
?????目錄??????????0??2008-09-20?10:20??實(shí)例22?分割一個(gè)面板\images
?????目錄??????????0??2008-09-20?10:20??實(shí)例22?分割一個(gè)面板
-----------?---------??----------?-----??----
????????????????28820????????????????????8
評(píng)論
共有 條評(píng)論