📄 s11.htm
字号:
(String)cb.getSelectedItem());</p> <p> slider.setMajorTickSpacing(spacing);<br> slider.revalidate();<br> }<br> });<br> }<br> }<br> }</p> <hr size="1" noshade> <p> 11.2.3 滑杆标签</p> <p> </p> <p align="center"><b>例11-7 显示缺省的JSlider标签</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> JSlider slider = new JSlider();</p> <p> slider.setPaintLabels(true);<br> slider.setMajorTickSpacing(20);<br> contentPane.add(slider, BorderLayout.NORTH);<br> }<br> }</p> <hr size="1" noshade> <p align="center"><b>例11-8 定制滑杆标签</b></p> <hr noshade size="1"> import java.util.*;<br> 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> JSlider slider = new JSlider();<br> Icon[] icons = {<br> new ImageIcon("basketball.gif"), <br> new ImageIcon("baseball.gif"), <br> new ImageIcon("soccer.gif"), <br> new ImageIcon("clipboard.gif"), <br> new ImageIcon("filmstrip.gif"), <br> new ImageIcon("crab.gif"), <br> };<br> Hashtable table = new Hashtable();</p> <p> for(int i=0, loc=0; i < icons.length; i++, loc += 20) {<br> table.put(new Integer(loc), <br> new JLabel(Integer.toString(loc), <br> icons[i],<br> JLabel.LEFT)); <br> }</p> <p> slider.setLabelTable(table);<br> slider.setPaintLabels(true);<br> slider.setMajorTickSpacing(20);</p> <p> contentPane.add(slider, BorderLayout.NORTH);<br> }<br> }</p> <hr size="1" noshade> <p> </p> <p> 11.2.4 反转滑杆值</p> <p> </p> <p align="center"><b>例11-9 中列出图11-10中示出的小应用程序的代码</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 JCheckBox checkBox = new JCheckBox("Invert");<br> private JSlider[] sliders = { new JSlider(), <br> new JSlider(JSlider.VERTICAL) };</p> <p> public Test() {<br> Container contentPane = getContentPane();</p> <p> contentPane.setLayout(new FlowLayout());<br> contentPane.add(checkBox);</p> <p> for(int i=0; i < sliders.length; ++i) {<br> sliders[i].setPaintLabels(true);<br> sliders[i].setMajorTickSpacing(20);<br> contentPane.add(sliders[i]);<br> }</p> <p> checkBox.addActionListener(new ActionListener() {<br> public void actionPerformed(ActionEvent e) {<br> for(int i=0; i < sliders.length; ++i)<br> sliders[i].setInverted(checkBox.isSelected());<br> }<br> });<br> }<br> }</p> <hr size="1" noshade> <p> 11.2.5 滑杆的外延值</p> <p> </p> <p align="center"><b>例11-10 设置一个滑杆的外延值</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 {<br> public Test() {<br> Container contentPane = getContentPane();<br> JSlider slider = new JSlider();<br> JPanel controlPanel = new ControlPanel(slider);</p> <p> contentPane.add(controlPanel, BorderLayout.NORTH);<br> contentPane.add(slider, BorderLayout.SOUTH);</p> <p> slider.addChangeListener(new ChangeListener() {<br> public void stateChanged(ChangeEvent e) {<br> JSlider s = (JSlider)e.getSource();<br> showStatus("Min: " + s.getMinimum() + <br> ", Max: " + s.getMaximum() +<br> ", Extent: " + s.getExtent() +<br> ", Value: " + s.getValue());<br> }<br> });<br> }<br> }<br> class ControlPanel extends JPanel {<br> public ControlPanel(final JSlider slider) {<br> JComboBox extent = new JComboBox();</p> <p> extent.addItem("0");<br> extent.addItem("10");<br> extent.addItem("20");<br> extent.addItem("30");<br> extent.addItem("40");</p> <p> add(new JLabel("Extent:"));<br> add(extent);</p> <p> extent.addItemListener(new ItemListener() {<br> public void itemStateChanged(ItemEvent e) {<br> JComboBox cb = (JComboBox)e.getSource();<br> int ext = Integer.parseInt(<br> (String)cb.getSelectedItem());</p> <p> slider.setExtent(ext);<br> slider.revalidate();<br> }<br> });<br> }<br> }</p> <hr size="1" noshade> <p> 11.2.6 JSlider属性</p> <p> </p> <p> 11.2.7 JSlider事件</p> <p> </p> <p align="center"><b>例11-11 监视一个滑杆的值</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 {<br> public Test() {<br> Container contentPane = getContentPane();<br> JSlider slider = new JSlider();</p> <p> contentPane.add(slider, BorderLayout.NORTH);</p> <p> slider.addChangeListener(new ChangeListener() {<br> public void stateChanged(ChangeEvent e) {<br> JSlider s = (JSlider)e.getSource();<br> showStatus("Min: " + s.getMinimum() + <br> ", Max: " + s.getMaximum() +<br> ", Extent: " + s.getExtent() +<br> ", Value: " + s.getValue() +<br> ", Value Is Adjusting: " +<br> s.getValueIsAdjusting());<br> }<br> });<br> }<br> }</p> <hr size="1" noshade> <p> 11.2.8 JSlider类总结</p> <p> </p> <p> 11.2.9 AWT兼容</p> <p> </p> <p> 11.3 JSeparator</p> <p> </p> <p align="center"><b>例11-12 一个不可见的分隔条</b></p> <hr noshade size="1"> import java.awt.*;<br> import javax.swing.*; <p>public class Test extends JApplet {<br> public void init() {<br> Container contentPane = getContentPane();<br> JSeparator s = new JSeparator(JSeparator.VERTICAL);</p> <p> contentPane.setLayout(new FlowLayout());</p> <p> contentPane.add(new JButton("left"));<br> contentPane.add(s);<br> contentPane.add(new JButton("right"));<br> }<br> }</p> <hr size="1" noshade> <p align="center"><b>例11-13 控制分隔条的大小</b></p> <hr noshade size="1"> import java.awt.*;<br> import javax.swing.*; <p>public class Test extends JApplet {<br> public void init() {<br> Container contentPane = getContentPane();<br> JSeparator s = new JSeparator(JSeparator.VERTICAL);<br> Dimension ps = s.getPreferredSize();</p> <p> contentPane.setLayout(new FlowLayout());</p> <p> contentPane.add(new JButton("left"));<br> contentPane.add(s);<br> contentPane.add(new JButton("right"));</p> <p> s.setPreferredSize(new Dimension(ps.width, 50));<br> }<br> }</p> <hr size="1" noshade> <p align="center"><b>例11-14 监控分隔条的大小</b></p> <hr noshade size="1"> import java.awt.*;<br> import java.awt.event.*;<br> import javax.swing.*; <p>public class Test extends JApplet {</p> <p> public void init() {<br> Container contentPane = getContentPane();<br> final JSeparator s = <br> new JSeparator(JSeparator.VERTICAL);<br> final Dimension ps = s.getPreferredSize();</p> <p> contentPane.setLayout(new FlowLayout());</p> <p> contentPane.add(new JButton("left"));<br> contentPane.add(s);<br> contentPane.add(new JButton("right"));</p> <p> addComponentListener(new ComponentAdapter() {<br> public void componentShown(ComponentEvent e) {<br> System.out.println("shown");<br> adjustSeparatorPreferredSize();<br> }<br> public void componentResized(ComponentEvent e) {<br> System.out.println("resized");<br> adjustSeparatorPreferredSize();<br> }<br> private void adjustSeparatorPreferredSize() {<br> s.setPreferredSize(new Dimension(ps.width, <br> getSize().height));<br> s.revalidate();<br> }<br> });<br> }<br> }</p> <hr size="1" noshade> <p> </p> <p> </p> <p> 11.3.1 分隔条与框</p> <p> </p> <p align="center"><b>例11-15 分隔条与框</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 JPanel left, rightTop, rightBottom;</p> <p> private Box box = new Box(BoxLayout.X_AXIS),<br> rightBox = new Box(BoxLayout.Y_AXIS);</p> <p> private JSeparator vs, hs; // vs = vertical separator<br> // hs = horizontal separator<br> public void init() {<br> createBoxes();<br> setPanelBorders();<br> //setSeparatorPreferredSizes();</p> <p> left.setPreferredSize(new Dimension(150,0));</p> <p> getContentPane().add(box, BorderLayout.CENTER);<br> }<br> private void createBoxes() {</p> <p> Component vStrut = box.createVerticalStrut(10),<br> hStrut = box.createHorizontalStrut(10);</p> <p> rightBox.add(rightTop = new JPanel());<br> rightBox.add(box.createVerticalStrut(10));<br> rightBox.add(hs = new JSeparator());<br> rightBox.add(box.createVerticalStrut(10));<br> rightBox.add(rightBottom = new JPanel());</p> <p> box.add(left = new JPanel());<br> box.add(box.createHorizontalStrut(10));<br> box.add(vs = new JSeparator(JSeparator.VERTICAL));<br> box.add(box.createHorizontalStrut(10));<br> box.add(rightBox);<br> }<br> private void setSeparatorPreferredSizes() {<br> vs.setMaximumSize( <br> new Dimension(vs.getPreferredSize().width, <br> Integer.MAX_VALUE));</p> <p> hs.setMaximumSize(<br> new Dimension(Integer.MAX_VALUE,<br> hs.getPreferredSize().height));<br> }<br> private void setPanelBorders() {<br> left.setBorder(<br> BorderFactory.createTitledBorder("Left"));<br> rightTop.setBorder(<br> BorderFactory.createTitledBorder("Right Top"));<br> rightBottom.setBorder(<br> BorderFactory.createTitledBorder("Right Bottom"));<br> }<br> }</p> <hr size="1" noshade> <p> 11.3.2 JSeparator属性</p> <p> </p> <p> 11.3.3 JSeparator事件</p> <p> </p> <p> 11.3.4 AWT兼容</p> <p> </p> <p> 11.4 本章回顾 </p> <p> </p> <p>[<a href="index.html" target="_self">目录</a>][<a href="s10.htm">上一页</a>][<a href="s12.htm">下一页</a>](飒龙收藏/2002.5.18) </p> </td> </tr> </tbody> </table> </td> </tr></tbody></table><script language="javascript">bottomprint()</script></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -