Chapter 14 fig.14.1 JTextArea myArea = new JTextArea( String, rows, cols ) myArea.setEditable( false ) //turn off entry of text myArea.setLineWrap( true ) //wrap lines container.add(myArea) container.add( new JScrollPane( myArea ) ) //if want scroll bars OR JScrollPane myPane = new JScrollPane( myArea ) myPane.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS ) _NEVER _AS_NEEDED container.add( myPane) fig.14.2-3 Draw in a JPanel subclass. 1. Create a customized subclass of JPanel public class MyDrawPanel extends JPanel { //or a class in JApplet subclass file public void paintComponent( Graphics g ) { super.paintComponent( g ); //g drawing stuff here } public void draw (whatever args you need ) { //stuff repaint(); //calls paintComponent } } 2. In your JApplet subclass: private MyDrawPanel myPanel; public void init () { myPanel = new MyDrawPanel(); myPanel.setBackground( Color ) //if wanted container.add( myPanel, layout_area ) myPanel.draw( your args ) fig.14.8 JSlider mySlider = new JSlider( SwingConstants.HORIZONTAL, min, max, starting ) mySlider.setMajorTickSpacing( int ) mySlider.setPaintTicks( true ) mySlider.getValue() //returns int where the slider's at arrow keys, page up/down, home, end work with focused JSlider myslider.addChangeListener( object that implements ChangeListener ) public void stateChanged( ChangeEvent ) fig.14.9 JMenuBar bar = new JMenuBar() setJMenuBar( bar ) JMenu menu1 = new JMenu( String ) menu1.setMnenomic( char ) //Alt+char bar.add( menu1 ) //attach to menubar JMenuItem item1 = new JMenuItem( String ) item1.setMnemonic( char ) menu1.add( item1 ) //attach to menu item1.addActionListener( object that implements ActionListener ) JRadioButtonMenu radio1 = new ItemJRadioButtonMenuItem( String ) radio1.setSelected( true ) //if wanted radio1.addActionListener(object that implements ActionListener ) //unlike JRadioButton radio1.isSelected() //returns boolean radio1.getText() //returns String ButtonGroup group1 = new ButtonGroup() group1.add( radio1 ) menu2.add( radio1 ) menu1.add( menu2 ) //submenu of menu1 menu1.addSeparator() JCheckBoxMenuItem check1 = new JCheckBoxMenuItem( String ) check1.addItemListener( object that implements ItemListener ) menu2.add( check1 ) fig.14.13 JTabbedPane tabs = new JTabbedPane() tabs.add( String, Icon/null, GUIobject, String tool tip ) tabs.add( String, GUIobject ) container.add( tabs )