วันศุกร์ที่ 15 มีนาคม พ.ศ. 2556

MediaPlayerDemo(LAB9-1)-Headlines(LAB9-2)


MediaPlayerDemo(LAB9-1)




import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.media.*;

public class MediaPlayerDemo extends JFrame{
    private Player player;
    private File file;

    public MediaPlayerDemo ()
    {
        super("Demonstring the Java Media Player");

        JButton openFile=new JButton("Open file to play");
        openFile.addActionListener(
            new ActionListener (){
            public void actionPerformed(ActionEvent e)
                {
                openFile();
                createPlayer();
                }
            }
        );
        getContentPane().add(openFile,BorderLayout.NORTH);

        setSize(300,300);
        show();
}
private void openFile()

{
        JFileChooser fileChooser=new JFileChooser();

        fileChooser.setFileSelectionMode(
            JFileChooser.FILES_ONLY);

        int result=fileChooser.showOpenDialog(this);

       
        if(result==JFileChooser.CANCEL_OPTION)
            file=null;
        else
            file=fileChooser.getSelectedFile();
    }

    private void createPlayer()
        {
        if(file==null)
            return;

        removePreviousPlayer();

        try{

            player=Manager.createPlayer(file.toURL());
            player.addControllerListener(new EventHandler());
            player.start();
        }
        catch(Exception e){
            JOptionPane.showMessageDialog(this,
                "Invalid file or location","Error loading file",
                JOptionPane.ERROR_MESSAGE);
            }
    }

    private void removePreviousPlayer()
    {
        if(player==null)
            return;

        player.close();

        Component visual=player.getVisualComponent();
        Component control=player.getControlPanelComponent();

        Container c=getContentPane();

        if(visual !=null)
            c.remove(visual);

        if(control !=null)
            c.remove(control);
    }

    public static void main (String[]args){

        MediaPlayerDemo app=new MediaPlayerDemo();

        app.addWindowListener(
            new WindowAdapter(){
                public void windowClosing(WindowEvent e)
                {
                    System.exit(0);
                }
        }
    );
}
   
    private class EventHandler implements ControllerListener{
        public void controllerUpdate(ControllerEvent e){
            if (e instanceof RealizeCompleteEvent){

                Container c=getContentPane();
                Component visualComponent=
                    player.getVisualComponent();
                if(visualComponent !=null)

                    c.add(visualComponent,BorderLayout.CENTER);
                Component controlsComponent=
                    player.getControlPanelComponent();
                if(controlsComponent !=null)

                    c.add(controlsComponent,BorderLayout.SOUTH);
                c.doLayout();
            }
        }
    }
}








Headlines(LAB9-2) 


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;

public class Headlines extends JFrame{
    HeadlInePanel news=new HeadlInePanel();

    public Headlines(){
        super("Headlines");
        setSize(800,100);
        JPanel pane=new JPanel();
        pane.setLayout(new GridLayout(1,1,15,15));
        pane.add(news);
        setContentPane(pane);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        show();
        news.scroll();
    }
    public static void main(String[]args){
        Headlines head=new Headlines();
    }
}


class HeadlInePanel extends JPanel{
    String[]headlInes={
        "นางนวลเจ้าเอย ทะเลกว้างใหญ่ เห็นเพียงแต่ขอบฟ้าไกล",
        "ตัวเจ้าก็คงยังบินมุ่งไปอาจจะเหนื่อยแต่ความหวังยังมี",
        "นางเอยเจ้าเอย เจ้าบินเรื่อยไป เหมือนดังว่าใจรู้ดี",
        "จุดหมายในใจเจ้าคงต้องมี ห่างจากตรงนี้ไปอีกไกล"
    };
    int y=76;

    void scroll(){
        while(true){
            y=y-1;
            if(y<-75)
                y=76;
            repaint();
            try{
                Thread.sleep(200);
            }catch(InterruptedException e){}
        }
    }
    public void paintComponent(Graphics comp){
        Graphics2D comp2D=(Graphics2D)comp;
        Font type=new Font("monospaces",Font.BOLD,14);
        comp2D.setFont(type);
        comp2D.setColor(getBackground());
        comp2D.fillRect(0,0,getSize().width,getSize().height);
        comp2D.setColor(Color.black);
        for(int i=0; i < headlInes.length;i++)
            comp2D.drawString(headlInes[i],5,y+(20*i));
    }
}








PlayMidi(LAB8)


  PlayMidi(LAB8) 


import java.awt.event.*;
import javax.swing.*;
import javax.sound.midi.*;
import java.awt.GridLayout;
import java.io.File;
public class PlayMidi extends JFrame{
    public PlayMidi(String title){
        super(title);
        setSize(180,100);
        MidiPanel midi=new MidiPanel("./sounds/midi.midi");
        JPanel pane=new JPanel();
        pane.add(midi);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setContentPane(pane);
        setVisible(true);
    }
    public static void main(String[]args){
        PlayMidi myMidi=new PlayMidi("Java Sound MIDI");
    }
}
class MidiPanel extends JPanel implements Runnable{
    Thread runner;
    JProgressBar progress=new JProgressBar();
    Sequence currentSound;
    Sequencer player;
    String songFile;
    public MidiPanel(String song){
        super();
        songFile=song;
        JLabel label=new JLabel("Playing file....");
        setLayout(new GridLayout(2,1));
        add(label);
        add(progress);
        if(runner==null){
            runner=new Thread(this);
            runner.start();
        }
    }
    public void run(){
        try{
            File file=new File(songFile);
            currentSound=MidiSystem.getSequence(file);
            player=MidiSystem.getSequencer();
            player.open();
            player.setSequence(currentSound);
            progress.setMinimum(0);
            progress.setMaximum((int)player.getMicrosecondLength());
            player.start();
            while(player.isRunning()){
                progress.setValue((int)player.getMicrosecondPosition());
                try{
                    Thread.sleep(1000);
                }catch(InterruptedException e){}
            }
            progress.setValue((int)player.getMicrosecondPosition());
            player.close();
        }catch(Exception e){
            System.err.println(e);
        }
    }
}


LAB 7


  UseGridBag1(LAB7)


import javax.swing.*;
import java.awt.*;
class UseGridBag1 extends JFrame{
    public UseGridBag1(String title){
        super(title);
        GridBagLayout gb=new GridBagLayout();
        GridBagConstraints gc=new GridBagConstraints();
        Container c=getContentPane();
        c.setLayout(gb);
        c.add(new JButton("Button1"),gc);
        c.add(new JButton("Button2"),gc);
        c.add(new JButton("Button3"),gc);
    }
    public static void main(String[]args){
        UseGridBag1 f=new UseGridBag1("Use GridBag1");
        f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);
        f.pack();
        f.show();
    }
}







UseWindow2(LAB7)


import javax.swing.*;
import java.awt.*;
public class UseWindow2{
    public static void main(String[]args){
        JWindow win=new JWindow();
        win.setSize(300,150);
        Container c=win.getContentPane();
        c.setLayout(new FlowLayout());
        c.add(new JLabel("Select Button"));
        c.add(new JButton("OK"));
        win.show();
        try{
            Thread.sleep(4000);
            win.dispose();
            Thread.sleep(4000);
            c.add(new JLabel("After Dispose"));
            win.show();
        }catch(Exception e){System.out.println(e.getMessage());}
        System.out.println("Hello World!");
    }
}





 UseDimension1(LAB7)


import javax.swing.*;
import java.awt.*;
public class UseDimension1 extends JPanel{
    JButton b1,b2;
    JTextField text;
    public UseDimension1(){
        setLayout(new FlowLayout());
        b1=new JButton("OK");
        b2=new JButton("Cancel");
        text=new JTextField(10);
        add(text);
        add(b1);
        add(b2);
    }
    public static void main(String[]args){
        JFrame f=new JFrame();
        Toolkit tk=f.getToolkit();
        Dimension screen=tk.getScreenSize();
        Dimension FrameSize=new Dimension(300,100);
        f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);
        f.setSize(FrameSize);
        Container c=f.getContentPane();
        c.add(new UseDimension1());
        int x=(screen.width-FrameSize.width)/2;
        int y=(screen.height-FrameSize.height)/2;
        f.setLocation(x,y);
        f.show();
    }
}







UseCursor1(LAB7)


import java.awt.*;
import javax.swing.*;
class UseCursor1 extends JPanel{
    JButton b1;
    public UseCursor1(){
        setLayout(new FlowLayout());
        b1=new JButton("OK");

        b1.setCursor(new Cursor(Cursor.HAND_CURSOR));
        add(new JLabel("Test Cursor"));
        add(b1);
    }
    public static void main(String[]args){
        JFrame f=new JFrame();
        f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);
        f.setSize(200,100);
        f.setContentPane(new UseCursor1());
        f.show();
    }
}






UseBound1(LAB7)


import javax.swing.*;
import java.awt.*;
class UseBound1{
    public static void DisplayBound(Component comp){
        if(comp !=null){
            Rectangle r=comp.getBounds();
            System.out.println(comp.getClass().getName());
            System.out.println("x coordinate:"+r.x);
            System.out.println("y coordinate:"+r.y);
            System.out.println("height:"+r.height);
            System.out.println("width:"+r.width);
        }
        else return;
    }
    public static void main(String[]args){
        JTextField text=new JTextField(10);
        JButton b1=new JButton("OK");
        JFrame f=new JFrame();
        f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);
        f.setSize(300,100);
        Container c=f.getContentPane();
        c.setLayout(new FlowLayout());
        c.add(text);
        c.add(b1);
        f.show();
        DisplayBound(b1);
    }
}










  LayeredPaneTest(LAB7)



import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

class LayeredPaneTest extends JFrame{
    Container c=getContentPane();
    JLayeredPane layeredPane=new JLayeredPane();
        LayeredPaneTest(){
            JButton b1=new JButton("1");
            JButton b2=new JButton("2");
            b1.setBackground(Color.blue);
            b2.setBackground(Color.red);
            b1.setBounds(60,30,100,60);
            b2.setBounds(90,60,100,60);
            layeredPane.add(b1,new Integer(2));
            layeredPane.add(b2,new Integer(2));
            layeredPane.setLayer(b2,100);
            setLayeredPane(layeredPane);
            setTitle("LayeredPaneTest");
            setSize(400,300);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setVisible(true);
        }
        public static void main(String[]args){
            new LayeredPaneTest();
        }
}






UseGridBag2(LAB7)


import javax.swing.*;
import java.awt.*;
class UseGridBag2 extends JFrame{
    public UseGridBag2(String title){
        super(title);
        GridBagLayout gb=new GridBagLayout();
        GridBagConstraints gc=new GridBagConstraints();
        Container c=getContentPane();
        c.setLayout(gb);
        gc.gridx=0; gc.gridy=0;
        c.add(new JButton("Button 1"),gc);
        gc.gridx=1;gc.gridy=1;
        c.add(new JButton("Button2"),gc);
        gc.gridx=2; gc.gridy=2;
        c.add(new JButton("Button3"),gc);
    }
    public static void main(String[]args){
        UseGridBag2 f=new UseGridBag2("Use GridBag2");
        f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);
        f.pack();
        f.show();
    }
}








ImageResize(LAB7-1)


import java.awt.*;
import javax.swing.*;
public class ImageResize extends JFrame{
    Image image;
    public ImageResize(String title){
        super(title);
        image=Toolkit.getDefaultToolkit().getImage("./picture/cats.jpg");
        setSize(650,450);
        setVisible(true);
    }
    public void paint(Graphics g){
        int imageW=image.getWidth(this);
        int imageH=image.getHeight(this);
        g.drawImage(image,20,60,imageW+150,imageH+150,this);
        g.drawImage(image,300,150,imageW-40,imageH-40,this);
        g.drawImage(image,420,80,imageW+40,imageH+40,this);
    }
    public static void main(String[]arge){
        JFrame f=new ImageResize("Resize Image");
        f.setDefaultCloseOperation(EXIT_ON_CLOSE);
        f.setResizable(false);
    }
}












ShowImageApplet(LAB7-2)


 import java.awt.*;
import javax.swing.*;

public class ShowImageApplet extends JApplet{
    Image image;
    public void init(){
        image=getImage(getCodeBase(),"./picture/cats.jpg");
        ImagePanel imagePanel=new ImagePanel(image);
        getContentPane().add(imagePanel);
    }
}
class ImagePanel extends JPanel{
    Image image;
    public ImagePanel(Image image){
        this.image=image;
    }

    public void paint(Graphics g){
        g.drawImage(image,0,0,this);
    }
}
//<APPLET CODE="ShowImageApplet.class"WIDTH=160 HEIGHT=230></APPLET>








ColorChooserDialog(LAB 6-1)-PopUpTest(LAB 6-2)-SliderTest(LAB 6-3)-InternalFrameTest(LAB 6-4)


 ColorChooserDialog(LAB 6-1)


1.import javax.swing.*;
2.import java.awt.*;
3.class  ColorChooserDialog{
4.ColorChooserDialog(){
5.  JColorChooser colorChooser=new JColorChooser();
6.  Color color=colorChooser.showDialog(null,"set Color",Color.red);
7. System.out.println(color);
8. }
9.public static void main(String[] args){
10. new ColorChooserDialog();
11. }
12.}





PopUpTest(LAB 6-2)


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class PopUpTest extends JFrame{
 JPopupMenu pop=new JPopupMenu();
 JMenuItem open=new JMenuItem("Open");
 JMenuItem copy=new JMenuItem("Copy");
 JMenuItem cut=new JMenuItem("Cut");
 JMenuItem paste=new JMenuItem("Paste");
 JMenuItem exit=new JMenuItem("Exit");
 PopUpTest(){
  setSize(400,300);
  setTitle("Pop-Up Test");
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  pop.add(open);
  pop.add(copy);
  pop.add(cut);
  pop.add(paste);
  pop.add(exit);
  JPanel p=new JPanel();
  p.setComponentPopupMenu(pop);
  p.addMouseListener(new MouseAdapter(){});
  getContentPane().add(p);
  setVisible(true);
 }
 public static void main(String[]args){
  new PopUpTest();
 }
}


SliderTest(LAB 6-3)

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
class SliderTest extends JFrame{
 SliderTest(){
  setTitle("SliderTest");
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  JSlider slider=new JSlider(SwingConstants.HORIZONTAL);
  slider.addChangeListener(new ChangeListener(){
  public void stateChanged(ChangeEvent e){
   JSlider slider=(JSlider)e.getSource();
   int value=slider.getValue();
   System.out.println(value);
  }
 });
 slider.setMajorTickSpacing(20);
 slider.setMinorTickSpacing(5);
 slider.setPaintTicks(true);
 slider.setPaintLabels(true);
 //slider.setFocusable(true);
 /*slider.addKeyListener(new KeyAdapter(){
  public void keyPressed(KeyEvent e){
   System.out.println(e.getKeyChar());
 }
 });*/
 getContentPane().add(slider);
 pack();
 setVisible(true);
}
public static void main(String[]args){
 new SliderTest();
}
}




InternalFrameTest(LAB 6-4)


//InternalFrameTest.java 
import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 

class InternalFrameTest extends JFrame{ 
 JInternalFrame inFrame1=new JInternalFrame("internal#1",true,true,true); 
 JInternalFrame inFrame2=new JInternalFrame("internal#2",true,true,true); 
 JDesktopPane deskPane=new JDesktopPane(); 
 InternalFrameTest(){ 
  inFrame1.setBounds(100,100,150,100); 
  inFrame2.setBounds(300,100,150,100); 
  inFrame1.show(); 
  inFrame2.show(); 
  deskPane.add(inFrame1); 
  deskPane.add(inFrame2); 
  setContentPane(deskPane); 
  setTitle("InternalFrameTest"); 
  setSize(640,400); 
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
  setVisible(true); 
 } 
 public static void main(String[]arge){ 
  new InternalFrameTest(); 
 }
}








MessageDialogTest(LAB 5-1)-TableCellRendererTest(LAB 5-2)

MessageDialogTest(LAB 5-1)


import javax.swing.*;
class MessageDialogTest{
 public static void main(String[]args){
  JOptionPane.showMessageDialog(null,"Hello,World","Message Dialog",JOptionPane.WARNING_MESSAGE,null);
 }
}







                                                TableCellRendererTest(LAB 5-2)




import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;

class TableCellRendererTest extends JFrame{
 private static final int DEFAULT_WIDTH=600;
 private static final int DEFAULT_HEIGHT=400;

 TableCellRendererTest(){
  setTitle("Table Cell Render Test");
  setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
  TableModel model=new CreateTableModel();
  JTable table=new JTable(model);

  JComboBox foodCombo=new JComboBox();
  String[]foods={"กระเพราไก่","ข้าวผัดกุ้ง","ข้าวต้มกุ้ง","หมูทอดกระเทียม","ผัดผักรวมมิตร","แกงจืดเต้าหู้","มาม่า","ต้มยำรวมมิตร","ผัดเผ็ดปลาดุก"};

  for(int i=0;i<foods.length;i++)
   foodCombo.addItem(foods[i]);

  //
  TableColumnModel columnModel=table.getColumnModel();
  TableColumn foodColumn=columnModel.getColumn(CreateTableModel.FOOD_COLUMN);
  foodColumn.setCellEditor(new DefaultCellEditor(foodCombo));
  foodColumn.setHeaderRenderer(table.getDefaultRenderer(ImageIcon.class));
  foodColumn.setHeaderValue(new ImageIcon("meun.gif"));//

  //
  table.setRowHeight(50);
  table.setRowSelectionAllowed(false);
  table.setDefaultRenderer(Color.class,new ColorTableCellRenderer());
  table.setDefaultEditor(Color.class,new ColorTableCellEditor());
  table.setForeground(Color.blue);

  add(new JScrollPane(table),BorderLayout.CENTER);
 }
 public static void main(String[]args){
  JFrame frame=new TableCellRendererTest();
  frame.addWindowListener(new WindowAdapter(){
   public void windowClosing(WindowEvent e){
    System.exit(0);
   }
  });
  frame.setVisible(true);
 }
}

class CreateTableModel extends AbstractTableModel{
 public static final int DAY_COLUMN=0;
 public static final int FOOD_COLUMN=1;
 public static final int CHECKBOX_COLUMN=2;
 public static final int COLORPAINT_COLUMN=4;
 private Object[][]cells={
  {"อาทิตย์","กระเพราไก่",true,new ImageIcon("p11.gif"),Color.red},
  {"จันทร์","ข้าวผัดกุ้ง",true,new ImageIcon("p22.gif"),Color.yellow},
  {"อังคาร","ข้าวต้มกุ้ง",false,new ImageIcon("p33.gif"),Color.green},
  {"พุธ","หมูทอดกระเทียม",true,new ImageIcon("p44.gif"),Color.pink},
  {"พฤหัสบดี","ผัดผักรวมมิตร",true,new ImageIcon("p55.gif"),Color.blue},
  {"ศุกร์","แกงจืดเต้าหู้",true,new ImageIcon("p66.gif"),Color.white},
  {"เสาร์","มาม่า",false,new ImageIcon("p77.gif"),Color.orange}
 };
 private String[]columnNames={"วัน","อาหารเช้า","ใส่ไข่","รูปภาพ","สี"};

 public Object getValueAt(int r,int c){return cells[r][c];}
 public int getColumnCount(){return cells[0].length;}
 public int getRowCount(){return cells.length;}
 public String getColumnName(int c){return columnNames[c];}
 public Class getColumnClass(int c){return cells[0][c].getClass();}
 public void setValueAt(Object obj,int r,int c){cells[r][c]=obj;}//

 public boolean isCellEditable(int r,int c){//
 return c==DAY_COLUMN||c==FOOD_COLUMN||c==CHECKBOX_COLUMN||c==COLORPAINT_COLUMN;
 }
 }//

 class ColorTableCellRenderer extends JPanel implements TableCellRenderer{
  public Component getTableCellRendererComponent(JTable table,Object value,boolean isSelected
   ,boolean hasFocus,int row,int column){
   setBackground((Color)value);
   return this;
  }
 }

 class ColorTableCellEditor extends AbstractCellEditor implements TableCellEditor{
  JColorChooser colorChoose;
  JDialog colorDialog;
  JPanel panel;
  public ColorTableCellEditor(){
   panel=new JPanel();
   colorChoose=new JColorChooser();
   colorDialog=JColorChooser.createDialog(null,"Chooser Color",false,colorChoose,
    new ActionListener(){//
   public void actionPerformed(ActionEvent e){stopCellEditing();}
   },
    new ActionListener(){//
   public void actionPerformed(ActionEvent e){cancelCellEditing();}
   });
   colorDialog.addWindowListener(new WindowAdapter(){
    public void windowClosing(WindowEvent e){cancelCellEditing();}
   });
  }

  //
  public Component getTableCellEditorComponent(JTable table,Object value,boolean isSelected
   ,int row,int column){
   colorChoose.setColor((Color)value);
   return panel;
  }
  public Object getCellEditorValue(){
   return colorChoose.getColor();
  }

  //
  public boolean shouldSelectCell(EventObject anEvent){
   colorDialog.setVisible(true);
   return true;
  }
  public void cancelCellEditing(){
   colorDialog.setVisible(false);
   super.cancelCellEditing();
  }
  public boolean stopCellEdiying(){
   colorDialog.setVisible(false);
   super.stopCellEditing();
   return true;
  }
 };






TabbedPaneTest(LAB 4)

TabbedPaneTest(LAB 4)


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

class TabbedPaneTest extends JFrame{
 private static final int DEFAULT_WIDIH=400;
 private static final int DEFAULY_HEIGHT=300;
 JTabbedPane tab;
 TabbedPaneTest(){
  setTitle("TabbedPaneTest");
  setSize(DEFAULT_WIDIH,DEFAULY_HEIGHT);
  tab=new JTabbedPane();
  ImageIcon icon=new ImageIcon("tab.gif");


  tab.addTab("Tab1",icon,null,"select tab1");
  tab.addTab("Tab2",icon,null,"select tab2");
  tab.addTab("Tab3",icon,null);
  tab.addTab("Tab4",icon,null);
  tab.addTab("Tab5",null);
  tab.addTab("Tab6",null);
  tab.addTab(null,null);
  tab.addTab(null,null);

  tab.setToolTipTextAt(2,"select tab3");
  tab.setToolTipTextAt(3,"select tab4");
  tab.setToolTipTextAt(4,"select tab5");
  tab.setToolTipTextAt(5,"select tab6");
  tab.setToolTipTextAt(6,"select tab7");
  tab.setToolTipTextAt(7,"select tab8");

  tab.setIconAt(4,icon);
  tab.setIconAt(5,icon);
  tab.setIconAt(6,icon);
  tab.setIconAt(7,icon);

  tab.setTitleAt(6,"tab7");
  tab.setTitleAt(7,"tab8");
  tab.addChangeListener(new ChangeListener(){
   public void stateChanged(ChangeEvent e){
    int i = tab.getSelectedIndex();
    System.out.println(tab.indexOfTab("Tab7"));
    showTab(i);
   }
  });
  showTab(0);
  add(tab,"Center");

  JPanel panel=new JPanel();
  JRadioButton wrapTab=new JRadioButton("Wrap tabs");
  wrapTab.addActionListener(new ActionListener(){
   public void actionPerformed(ActionEvent e){
    tab.setTabLayoutPolicy(JTabbedPane.WRAP_TAB_LAYOUT);
   }
  });
  wrapTab.setSelected(true);
  panel.add(wrapTab);
  JRadioButton scrollTab=new JRadioButton("Scroll tabs");
  scrollTab.addActionListener(new ActionListener(){
   public void actionPerformed(ActionEvent e){
    tab.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
   }
  });
  panel.add(scrollTab);
  ButtonGroup group=new ButtonGroup();
  group.add(wrapTab);
  group.add(scrollTab);
  add(panel,BorderLayout.SOUTH);
 }
 public void showTab(int i){
  String t=tab.getTitleAt(i);
  JPanel p1=new JPanel();
  JLabel label=new JLabel("Looking at"+t);
  p1.add(label);
  tab.setComponentAt(i,p1);
 }
 public static void main(String[]args){
  JFrame frame=new TabbedPaneTest();
  frame.addWindowListener(new WindowAdapter(){
   public void windowClosing(WindowEvent e){
    System.exit(0);
   }
  });
  frame.setVisible(true);
 }
}


SimpleTable(LAB 3)

SimpleTable(LAB 3)


import java.awt.*;
import javax.swing.*;


class SimpleTable extends JFrame{
 private static final int DEFAULT_WIDTH=400;
 private static final int DEFAULT_HEIGHT=180;
 private Object[][]cells={
  {"อาทิตย์","สีแดง","Sunday","Red"},
  {"จันทร์","สีเหลือง","Monday","yellow"},
  {"อังคาร","สีเขียว","Tuesday","Green"},
  {"พุธ","สีชมพู","Wednesday","Pink"},
  {"พฤหัสบดี","สีฟ้า","Thursday","Blue"},
  {"ศุกร์","สีขาว","Friday","White"},
  {"เสาร์","สีส้ม","Saturday","Orange"},
 };
  private String[]columnNames = {"วัน","สี","Day","Color"};


  public SimpleTable(){
   setTitle ("Simple Table");
  setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
  JTable table=new JTable (cells,columnNames);
  add (new JScrollPane(table),BorderLayout.CENTER);
  }
 public static void main(String[] args){
  JFrame frame=new SimpleTable();
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.setVisible(true);
 }
}