⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 s22.htm

📁 提供给JAVA编程者图形界面卷
💻 HTM
📖 第 1 页 / 共 3 页
字号:
            <p>&nbsp;</p>            <p align="center"><b>例22-5 单行文本域和缺省按钮</b></p>            <hr size="1" noshade>            import javax.swing.*;<br>            import javax.swing.text.*;<br>            import java.awt.*;<br>            import java.awt.event.*;<br>            import java.util.*;            <p>public class Test extends JFrame {<br>              private JTextField field = new JTextField(10);<br>              private JButton b = new JButton(&quot;Default Button&quot;);<br>              private JCheckBox cb = new JCheckBox(<br>              &quot;Text field fires action event&quot;);<br>              public Test() {<br>              Container contentPane = getContentPane();</p>            <p> SwingUtilities.getRootPane(this).setDefaultButton(b);<br>              cb.setSelected(true);</p>            <p> contentPane.setLayout(new FlowLayout(<br>              FlowLayout.CENTER,10,20));<br>              contentPane.add(field);<br>              contentPane.add(b);<br>              contentPane.add(cb);</p>            <p> b.addActionListener(new ActionListener() {<br>              public void actionPerformed(ActionEvent e) {<br>              JOptionPane.showMessageDialog(Test.this,<br>              &quot;Button fired action event&quot;);<br>              }<br>              });<br>              field.addActionListener(new ActionListener() {<br>              public void actionPerformed(ActionEvent e) {<br>              JOptionPane.showMessageDialog(Test.this,<br>              &quot;Textfield fired action event&quot;);<br>              }<br>              });<br>              cb.addActionListener(new ActionListener() {<br>              private Keymap km;<br>              private KeyStroke ks;<br>              private Action action;</p>            <p> public void actionPerformed(ActionEvent e) {<br>              if(cb.isSelected()) {<br>              km.addActionForKeyStroke(ks, action);<br>              }<br>              else {<br>              if(ks == null) {<br>              km = field.getKeymap();<br>              ks = KeyStroke.getKeyStroke(<br>              KeyEvent.VK_ENTER, 0);<br>              action = km.getAction(ks);<br>              }<br>              km.removeKeyStrokeBinding(ks);<br>              }<br>              }<br>              });<br>              }<br>              public static void main(String args[]) {<br>              GJApp.launch(new Test(), <br>              &quot;Default Buttons&quot;,300,300,350,200);<br>              }<br>              }<br>              class GJApp extends WindowAdapter {<br>              static private JPanel statusArea = new JPanel();<br>              static private JLabel status = new JLabel(&quot; &quot;);<br>              static private ResourceBundle resources;</p>            <p> public static void launch(final JFrame f, String title,<br>              final int x, final int y, <br>              final int w, int h) {<br>              launch(f,title,x,y,w,h,null); <br>              }<br>              public static void launch(final JFrame f, String title,<br>              final int x, final int y, <br>              final int w, int h,<br>              String propertiesFilename) {<br>              f.setTitle(title);<br>              f.setBounds(x,y,w,h);<br>              f.setVisible(true);</p>            <p> statusArea.setBorder(BorderFactory.createEtchedBorder());<br>              statusArea.setLayout(new FlowLayout(FlowLayout.LEFT,0,0));<br>              statusArea.add(status);<br>              status.setHorizontalAlignment(JLabel.LEFT);</p>            <p> f.setDefaultCloseOperation(<br>              WindowConstants.DISPOSE_ON_CLOSE);</p>            <p> if(propertiesFilename != null) {<br>              resources = ResourceBundle.getBundle(<br>              propertiesFilename, Locale.getDefault());<br>              }</p>            <p> f.addWindowListener(new WindowAdapter() {<br>              public void windowClosed(WindowEvent e) {<br>              System.exit(0);<br>              }<br>              });<br>              }<br>              static public JPanel getStatusArea() {<br>              return statusArea;<br>              }<br>              static public void showStatus(String s) {<br>              status.setText(s);<br>              }<br>              static Object getResource(String key) {<br>              if(resources != null) {<br>              return resources.getString(key);<br>              }<br>              return null;<br>              }<br>              }</p>            <hr size="1" noshade>            <p> 22.1.6 JTextField事件</p>            <p>&nbsp;</p>            <p> 22.1.7 JTextField类总结</p>            <p>&nbsp;</p>            <p> 22.1.8 AWT兼容</p>            <p>&nbsp;</p>            <p> 22.2 JPasswordField</p>            <p>&nbsp;</p>            <p align="center"><b>例22-6 使用JPasswordField</b></p>            <hr size="1" noshade>            import javax.swing.*;<br>            import java.awt.*;<br>            import java.awt.event.*;<br>            import java.util.*;            <p>public class Test extends JApplet {<br>              private String pw = &quot;dol42ce&quot;;<br>              private JPasswordField passwordField = new JPasswordField(8);</p>            <p> public void init() {<br>              Container contentPane = getContentPane();<br>              JPanel panel = new JPanel();</p>            <p> panel.add(new JLabel(&quot;Password:&quot;));<br>              panel.add(passwordField);</p>            <p> passwordField.setEchoChar('?');</p>            <p> contentPane.add(panel, BorderLayout.CENTER);</p>            <p> passwordField.addActionListener(new ActionListener() {<br>              public void actionPerformed(ActionEvent e) {<br>              String password = new String(<br>              passwordField.getPassword());</p>            <p> if(pw.equals(password))<br>              showStatus(&quot;Access Granted&quot;);<br>              else<br>              showStatus(&quot;Wrong password - security &quot; +<br>              &quot;has been called&quot;);<br>              }<br>              });<br>              }<br>              }</p>            <hr size="1" noshade>            <p> 22.2.1 JPasswordField组件总结</p>            <p>&nbsp;</p>            <p> 22.2.2 JPasswordField属性</p>            <p>&nbsp;</p>            <p> 22.2.3 JPasswordField类总结</p>            <p>&nbsp;</p>            <p> 22.3 JTextArea</p>            <p>&nbsp;</p>            <p align="center"><b>例22-7 指定JTExtArea的换行行为</b></p>            <hr size="1" noshade>            import java.awt.*;<br>            import java.awt.event.*;<br>            import javax.swing.*;<br>            import javax.swing.text.*;<br>            import java.io.FileReader;            <p>public class Test extends JApplet {<br>              private JTextArea textArea = new JTextArea();<br>              private Container contentPane = getContentPane();</p>            <p> public void init() {<br>              readFile(textArea, &quot;text&quot;);<br>              contentPane.add(new ControlPanel(), BorderLayout.NORTH);<br>              contentPane.add(new JScrollPane(textArea), <br>              BorderLayout.CENTER);<br>              }<br>              private void readFile(JTextComponent textComponent,String s) {<br>              try { (new DefaultEditorKit()).read(<br>              new FileReader(s), textComponent.getDocument(), 0);<br>              } catch(Exception ex) { ex.printStackTrace(); }<br>              }<br>              class ControlPanel extends JPanel { <br>              JRadioButton radioButtons[] = new JRadioButton[] {<br>              new JRadioButton(&quot;wrap off&quot;),<br>              new JRadioButton(&quot;wrap characters&quot;),<br>              new JRadioButton(&quot;wrap words&quot;),<br>              };</p>            <p> public ControlPanel() {<br>              ButtonGroup group = new ButtonGroup();<br>              Listener listener = new Listener();</p>            <p> for(int i=0; i &lt; radioButtons.length; ++i) {<br>              JRadioButton b = radioButtons[i];</p>            <p> b.addActionListener(listener);<br>              group.add(b);<br>              add(b);</p>            <p> if(i == 0) <br>              b.setSelected(true); // &quot;wrap off&quot;<br>              }<br>              }<br>              class Listener implements ActionListener {<br>              public void actionPerformed(ActionEvent e) {<br>              String action = e.getActionCommand();</p>            <p> textArea.setLineWrap(!action.equals(&quot;wrap off&quot;));<br>              textArea.setWrapStyleWord(<br>              action.equals(&quot;wrap words&quot;));<br>              //textArea.repaint();</p>            <p> showStatus(&quot;rows: &quot; + textArea.getRows() +<br>              &quot;, columns: &quot; + textArea.getColumns() +<br>              &quot;, lines: &quot; + textArea.getLineCount());</p>            <p> }<br>              };<br>              }<br>              }</p>            <hr size="1" noshade>            <p> 22.3.1 JTextArea组件总结</p>            <p>&nbsp;</p>            <p> 22.3.2 JTextArea属性</p>            <p>&nbsp;</p>            <p> 22.3.3 JTextArea类总结</p>            <p>&nbsp;</p>            <p> 22.3.4 AWT兼容</p>            <p>&nbsp;</p>            <p> 22.4 JEditorPane</p>            <p>&nbsp;</p>            <p align="center"><b>例22-8 用一个编辑器窗格来显示HTML文件</b></p>            <hr size="1" noshade>            import javax.swing.*;<br>            import java.awt.*;<br>            import java.awt.event.*;<br>            import java.util.*;            <p>public class Test extends JFrame {<br>              private JEditorPane editorPane = new JEditorPane();</p>            <p> public Test() {<br>              Container contentPane = getContentPane();</p>            <p> String url = &quot;file:&quot; + System.getProperty(&quot;user.dir&quot;)               +<br>              System.getProperty(&quot;file.separator&quot;) +<br>              &quot;java.util.Hashtable.html&quot;;</p>            <p> editorPane.setEditable(false);</p>            <p> try { <br>              editorPane.setPage(url);<br>              }<br>              catch(Exception ex) { ex.printStackTrace(); }</p>            <p> contentPane.add(new ControlPanel(), BorderLayout.NORTH);<br>              contentPane.add(new JScrollPane(editorPane), <br>              BorderLayout.CENTER);<br>              }<br>              class ControlPanel extends JPanel {<br>              private JCheckBox edit = new JCheckBox(&quot;Editable&quot;);</p>            <p> public ControlPanel() {<br>              add(edit);<br>              edit.addActionListener(new ActionListener() {<br>              public void actionPerformed(ActionEvent e) {<br>              editorPane.setEditable(edit.isSelected());<br>              }<br>              });<br>              }<br>              }<br>              public static void main(String args[]) {<br>              GJApp.launch(new Test(), <br>              &quot;JEditorPane&quot;,300,300,650,450);<br>              }<br>              }<br>              class GJApp extends WindowAdapter {<br>              static private JPanel statusArea = new JPanel();<br>              static private JLabel status = new JLabel(&quot; &quot;);<br>              static private ResourceBundle resources;</p>            <p> public static void launch(final JFrame f, String title,<br>              final int x, final int y, <br>              final int w, int h) {<br>              launch(f,title,x,y,w,h,null); <br>              }<br>              public static void launch(final JFrame f, String title,<br>              final int x, final int y, <br>              final int w, int h,<br>              String propertiesFilename) {<br>              f.setTitle(title);<br>              f.setBounds(x,y,w,h);<br>              f.setVisible(true);</p>            <p> statusArea.setBorder(BorderFactory.createEtchedBorder());<br>              statusArea.setLayout(new FlowLayout(FlowLayout.LEFT,0,0));<br>              statusArea.add(status);<br>              status.setHorizontalAlignment(JLabel.LEFT);</p>            <p> f.setDefaultCloseOperation(<br>              WindowConstants.DISPOSE_ON_CLOSE);</p>            <p> if(propertiesFilename != null) {<br>              resources = ResourceBundle.getBundle(<br>              propertiesFilename, Locale.getDefault());<br>              }</p>            <p> f.addWindowListener(new WindowAdapter() {<br>              public void windowClosed(WindowEvent e) {<br>              System.exit(0);<br>              }<br>              });<br>              }<br>              static public JPanel getStatusArea() {<br>              return statusArea;<br>              }<br>              static public void showStatus(String s) {<br>              status.setText(s);<br>              }<br>              static Object getResource(String key) {<br>              if(resources != null) {<br>              return resources.getString(key);<br>              }<br>              return null;<br>              }<br>              }</p>            <hr size="1" noshade>            <p> 22.4.1 JEditorPane属性</p>            <p>&nbsp;</p>            <p> 22.4.2 JEditorPane事件</p>            <p>&nbsp;</p>            <p align="center"><b>例22-9 用超链接监听器来装载URL</b></p>            <hr size="1" noshade>            import javax.swing.*;<br>            import javax.swing.event.*;<br>            import java.awt.*;<br>            import java.awt.event.*;<br>            import java.util.*;<br>            import java.io.IOException;            <p>public class Test extends JFrame {<br>              private JEditorPane editorPane = new JEditorPane();</p>            <p> public Test() {<br>              Container contentPane = getContentPane();<br>              String url = &quot;file:&quot; + System.getProperty(&quot;user.dir&quot;)               +<br>              System.getProperty(&quot;file.separator&quot;) +<br>              &quot;java.util.Hashtable.html&quot;;</p>            <p> try { <br>              editorPane.setPage(url);<br>              }<br>              catch(IOException ex) { ex.printStackTrace(); }</p>            <p> contentPane.add(new JScrollPane(editorPane), <br>              BorderLayout.CENTER);</p>            <p> editorPane.setEditable(false);</p>            <p> editorPane.addHyperlinkListener(new HyperlinkListener() {<br>              public void hyperlinkUpdate(HyperlinkEvent e) {<br>              try { <br>              editorPane.setPage(e.getURL());<br>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -