?? s12.htm
字號:
}<br> }</p> <hr size="1" noshade> <p> 12.3.5 JLayeredPane屬性</p> <p> </p> <p> 12.3.6 JLayeredPane類總結(jié)</p> <p> </p> <p> 12.3.7 AWT兼容</p> <p> </p> <p> 12.4 JTablePane</p> <p> </p> <p align="center"><b>例12-10 JTabbedPane的一個簡單實例</b></p> <hr noshade size="1"> import java.awt.*;<br> import java.awt.event.*;<br> import javax.swing.*; <p>public class Test extends JApplet {<br> public Test() {<br> Container contentPane = getContentPane();<br> JTabbedPane tp = new JTabbedPane();<br> JPanel panelOne = new JPanel();<br> JPanel panelTwo = new JPanel();</p> <p> panelOne.add(new JButton("button in panel 1"));<br> panelTwo.add(new JButton("button in panel 2"));</p> <p> tp.add(panelOne, "Panel One");<br> tp.addTab("Panel Two", <br> new ImageIcon("document.gif"),<br> panelTwo, <br> "tooltip text");</p> <p> contentPane.setLayout(new BorderLayout());<br> contentPane.add(tp);<br> }<br> }</p> <hr size="1" noshade> <p> 12.4.1 選項卡的位置</p> <p> </p> <p> 12.4.2 JTabbedPane的屬性</p> <p> </p> <p align="center"><b>例12-11 為JTabbedPane的實例設(shè)置選項卡放置位置</b></p> <hr noshade size="1"> import java.awt.*;<br> import java.awt.event.*;<br> import javax.swing.*; <p>public class Test extends JApplet {<br> private JTabbedPane tp = new JTabbedPane(SwingConstants.BOTTOM);<br> private JComboBox combo = new JComboBox();</p> <p> public Test() {<br> Container contentPane = getContentPane();<br> JPanel comboPanel = new JPanel();<br> JPanel panelOne = new JPanel();<br> JPanel panelTwo = new JPanel();</p> <p> tp.add(panelOne, "Panel One");<br> tp.addTab("Panel Two", <br> new ImageIcon("document.gif"),<br> panelTwo, <br> "tooltip text");</p> <p> combo.addItem("TOP");<br> combo.addItem("LEFT");<br> combo.addItem("RIGHT");<br> combo.addItem("BOTTOM");</p> <p> setComboValue();</p> <p> comboPanel.add(new JLabel("Tab Placement:"));<br> comboPanel.add(combo);</p> <p> contentPane.setLayout(new BorderLayout());<br> contentPane.add(comboPanel, BorderLayout.NORTH);<br> contentPane.add(tp, BorderLayout.CENTER);</p> <p> combo.addItemListener(new ItemListener() {<br> public void itemStateChanged(ItemEvent e) {<br> JComboBox cb = (JComboBox)e.getSource();<br> int state = e.getStateChange();</p> <p> if(state == ItemEvent.SELECTED) {<br> String s = (String)cb.getSelectedItem();</p> <p> if(s.equals("TOP"))<br> tp.setTabPlacement(JTabbedPane.TOP);<br> else if(s.equals("LEFT"))<br> tp.setTabPlacement(JTabbedPane.LEFT);<br> else if(s.equals("RIGHT"))<br> tp.setTabPlacement(JTabbedPane.RIGHT);<br> else if(s.equals("BOTTOM"))<br> tp.setTabPlacement(JTabbedPane.BOTTOM);</p> <p> tp.validate();<br> }<br> }<br> });<br> }<br> private void setComboValue() {<br> int placement = tp.getTabPlacement();<br> String selectedItem = null;</p> <p> switch(placement) {<br> case JTabbedPane.TOP:<br> selectedItem = "TOP";<br> break;<br> case JTabbedPane.LEFT:<br> selectedItem = "LEFT";<br> break;<br> case JTabbedPane.RIGHT:<br> selectedItem = "RIGHT";<br> break;<br> case JTabbedPane.BOTTOM:<br> selectedItem = "BOTTOM";<br> break;<br> }<br> combo.setSelectedItem(selectedItem);<br> }<br> }</p> <hr size="1" noshade> <p> 12.4.3 JTabbedPane的事件</p> <p> </p> <p align="center"><b>例12-12 響應(yīng)JTabbedPane的變化事件</b></p> <hr noshade size="1"> import java.awt.*;<br> import java.awt.event.*;<br> import javax.swing.*;<br> import javax.swing.event.*; <p>public class Test extends JApplet {</p> <p> public Test() {<br> Container contentPane = getContentPane();<br> JTabbedPane tp = new JTabbedPane();<br> JPanel panelOne = new JPanel();<br> JPanel panelTwo = new JPanel();</p> <p> tp.add(panelOne, "Panel One");<br> tp.addTab("Panel Two", <br> new ImageIcon("document.gif"),<br> panelTwo, <br> "tooltip text");</p> <p> contentPane.setLayout(new BorderLayout());<br> contentPane.add(tp);</p> <p> tp.addChangeListener(new ChangeListener() {<br> public void stateChanged(ChangeEvent e) {<br> JTabbedPane tabbedPane = <br> (JTabbedPane)e.getSource();</p> <p> int index = tabbedPane.getSelectedIndex();<br> String s = tabbedPane.getTitleAt(index);</p> <p> showStatus(s + " selected");<br> }<br> });<br> }<br> }</p> <hr size="1" noshade> <p> 12.4.4 JTabbedPane類總結(jié)</p> <p> </p> <p> 12.5 JSplitPane類</p> <p> </p> <p align="center"><b>例12-13 運行中的JSplitPane</b></p> <hr noshade size="1"> import java.awt.*;<br> import java.awt.event.*;<br> import javax.swing.*; <p>public class Test extends JApplet {<br> public Test() {<br> Container contentPane = getContentPane();<br> JButton left, right;<br> JSplitPane sp = new JSplitPane();<br> ControlPanel cp = new ControlPanel(sp);</p> <p> contentPane.setLayout(new BorderLayout());<br> contentPane.add(sp, BorderLayout.CENTER);<br> contentPane.add(cp, BorderLayout.NORTH);</p> <p> left = (JButton)sp.getTopComponent();<br> right = (JButton)sp.getBottomComponent();</p> <p> System.out.println("left button minimum size: " + <br> left.getMinimumSize());<br> System.out.println("right button minimum size: " + <br> right.getMinimumSize());</p> <p> }<br> }</p> <p>class ControlPanel extends JPanel {<br> private JSplitPane sp;</p> <p> public ControlPanel(JSplitPane splitPane) {<br> sp = splitPane;</p> <p> JComboBox dividerSize = new JComboBox();<br> JComboBox orientation = new JComboBox();</p> <p> JCheckBox continuous = new JCheckBox(<br> "Continuous Layout");<br> JCheckBox oneTouch = new JCheckBox(<br> "One Touch Expandable");</p> <p> Integer initialSize = new Integer(sp.getDividerSize());<br> dividerSize.addItem(initialSize.toString());<br> dividerSize.addItem("10");<br> dividerSize.addItem("20");<br> dividerSize.addItem("30");<br> dividerSize.addItem("40");</p> <p> orientation.addItem("horizontal");<br> orientation.addItem("vertical");</p> <p> int initialOrientation = sp.getOrientation();<br> if(initialOrientation == JSplitPane.HORIZONTAL_SPLIT)<br> orientation.setSelectedItem("horizontal");<br> else<br> orientation.setSelectedItem("vertical");</p> <p> boolean initialContinuousLayout = sp.isContinuousLayout();<br> if(initialContinuousLayout)<br> continuous.setSelected(true);</p> <p> add(oneTouch);<br> add(continuous);<br> add(new JLabel("Divider Size:"));<br> add(dividerSize);<br> add(new JLabel("Orientation:"));<br> add(orientation);</p> <p> oneTouch.addItemListener(new ItemListener() {<br> public void itemStateChanged(ItemEvent e) {<br> if(e.getStateChange() == ItemEvent.SELECTED)<br> sp.setOneTouchExpandable(true);<br> else<br> sp.setOneTouchExpandable(false);<br> }<br> });<br> continuous.addItemListener(new ItemListener() {<br> public void itemStateChanged(ItemEvent e) {<br> if(e.getStateChange() == ItemEvent.SELECTED)<br> sp.setContinuousLayout(true);<br> else<br> sp.setContinuousLayout(false);<br> }<br> });<br> dividerSize.addItemListener(new ItemListener() {<br> public void itemStateChanged(ItemEvent e) {<br> JComboBox combo = (JComboBox)e.getSource();<br> String s = (String)combo.getSelectedItem();</p> <p> sp.setDividerSize(Integer.parseInt(s));<br> }<br> });<br> orientation.addItemListener(new ItemListener() {<br> public void itemStateChanged(ItemEvent e) {<br> JComboBox combo = (JComboBox)e.getSource();<br> String s = (String)combo.getSelectedItem();</p> <p> if(s.equals("horizontal"))<br> sp.setOrientation(<br> JSplitPane.HORIZONTAL_SPLIT);<br> else<br> sp.setOrientation(JSplitPane.VERTICAL_SPLIT);<br> }<br> });<br> }<br> }</p> <hr size="1" noshade> <p> 12.5.1 JSplitPane屬性</p> <p> </p> <p> 12.5.2 JSplitPane事件</p> <p> </p> <p align="center"><b>例12-14 監(jiān)視一個拆分窗格的分隔體的位置</b></p> <hr noshade size="1"> import java.awt.*;<br> import java.awt.event.*;<br> import java.beans.*;<br> import javax.swing.*; <p>public class Test extends JApplet {<br> public Test() {<br> Container contentPane = getContentPane();<br> JSplitPane sp = new JSplitPane();</p> <p> contentPane.add(sp, BorderLayout.CENTER);<br> sp.addPropertyChangeListener(<br> new PropertyChangeListener() {<br> public void propertyChange(PropertyChangeEvent e) {<br> if(e.getPropertyName().equals(<br> JSplitPane.LAST_DIVIDER_LOCATION_PROPERTY)) {<br> JSplitPane jsp = (JSplitPane)e.getSource();</p> <p> int dl = jsp.getDividerLocation();</p> <p> JButton lb = (JButton)jsp.getLeftComponent();<br> JButton rb = (JButton)jsp.getRightComponent();</p> <p> showStatus("Divider Location: " + dl + " / " +<br> lb.getText() + ": " + lb.getSize() + " / " +<br> rb.getText() + ": " + rb.getSize()); <br> }<br> }<br> });<br> }<br> }</p> <hr size="1" noshade> <p> 12.5.3 JSplitPane類總結(jié)</p> <p> </p> <p> 12.5.4 AWT兼容</p> <p> </p> <p> 12.6 本章回顧</p> <p> </p> <p>[<a href="index.html" target="_self">目錄</a>][<a href="s11.htm">上一頁</a>][<a href="s13.htm">下一頁</a>](颯龍收藏/2002.5.18) </p> </td> </tr> </tbody> </table> </td> </tr></tbody></table><script language="javascript">bottomprint()</script></body></html>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -