java基础总结2

目录

1.Panel/applet默认使用flowlayout.2

Frame/dialog/Scorllpane默认borderlayout.2

2.布局管理器..2

3.常用组件..6

4.事件..8

5.AWT菜单..14

1.顶层容器:jframe/japplet/jwindow..21

2.边框..26

3.Swing组件的键盘驱动..27

4.Action的jtoolbar的使用..28

6.进度条..56

8.Jtree.69

9.Jtable andJtablemodel77

10.使用jtextpane和jformattedtextfiled创建格式文本..88

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AWT

1.Panel/applet默认使用flowlayout

Frame/dialog/Scorllpane默认borderlayout

2.布局管理器

Flowlayout:f.setLayout(new FlowLayout(FlowLayout.LEFT,20,5));//设置垂直间距和水平间距

Borderlayout:有东西南北中五个区域,可以设置水平和垂直距离,不是置则会覆盖

f.setLayout(new  BorderLayout(30,5));//设置垂直间距和水平间距

f.add(newButton("东"),BorderLayout.EAST);

f.add(newButton("西"),BorderLayout.WEST);

f.add(newButton("南"),BorderLayout.SOUTH);

f.add(newButton("北"),BorderLayout.NORTH);

f.add(newButton("中"),BorderLayout.CENTER);

gridlayout:将容器划分成网格gridlayout(rows,cols,hgap,vgap)

gridbaglayout:与gridbagconstraints连用(不好控制的东西一般不太喜欢)

gbc.gridx/gridy设置所在网格位置的横向和纵向索引

gbc.gridwidth/height设置可以跨越多少个网格的大小

gbc.fill如何占据空白区域,有none,herizontal,vertical,both

gbc.ipadx/ipady设置内部填充的大小

gbc.insets设置外部填充的大小

gbc.anchor组件在显示区域的定位方式,九个方位

gbc.widthx/weighty占据多余的垂直或者水平空间

gbc.gridwidth=GridBagConstraints.REMAINDER;//所在行的最后一个组件

packagecom.zylg.www;

 

importjava.awt.Button;

importjava.awt.Frame;

importjava.awt.GridBagConstraints;

importjava.awt.GridBagLayout;

importjava.awt.event.WindowEvent;

importjava.awt.event.WindowListener;

 

publicclass find

{

       public static void main(String[] args)

       {

              Frame f=new Frame();

              GridBagLayout gb=newGridBagLayout();

              GridBagConstraints gbc=newGridBagConstraints();

              f.setLayout(gb);

              f.setLocation(200, 200);

              f.setSize(400, 400);

              f.addWindowListener(newWindowListener()

              {

                    

                    

                     @Override

                     public void windowClosed(WindowEvente)

                     {

                            // TODOAuto-generated method stub

                           

                     }

 

                     @Override

                     public voidwindowOpened(WindowEvent e)

                     {

                            // TODOAuto-generated method stub

                           

                     }

 

                     @Override

                     public voidwindowClosing(WindowEvent e)

                     {

                            System.exit(0);

                     }

 

                     @Override

                     public voidwindowIconified(WindowEvent e)

                     {

                            // TODOAuto-generated method stub

                           

                     }

 

                     @Override

                     public voidwindowDeiconified(WindowEvent e)

                     {

                            // TODOAuto-generated method stub

                           

                     }

 

                     @Override

                     public voidwindowActivated(WindowEvent e)

                     {

                            // TODOAuto-generated method stub

                           

                     }

 

                     @Override

                     public voidwindowDeactivated(WindowEvent e)

                     {

                            // TODOAuto-generated method stub

                           

                     }

                    

              });

              f.setTitle("专业路过");

             

              Button[] bt=new Button[10];

              for(int i=0;i<10;i++){bt[i]=newButton("按钮"+i);}

              gbc.fill=GridBagConstraints.NONE;//

              gbc.weightx=1;

              gbc.weighty=1;

              gb.setConstraints(bt[0],gbc);f.add(bt[0]);

              gb.setConstraints(bt[1], gbc);f.add(bt[1]);

              gb.setConstraints(bt[2],gbc);f.add(bt[2]);

              gbc.gridwidth=GridBagConstraints.REMAINDER;//所在行的最后一个组件

              gb.setConstraints(bt[3],gbc);f.add(bt[3]);

             

              gbc.weightx=1;

              gbc.weighty=1;

              gbc.gridx=0;

              gb.setConstraints(bt[4], gbc);f.add(bt[4]);

             

              gbc.gridwidth=0;

              gb.setConstraints(bt[5],gbc);f.add(bt[5]);

              gbc.gridwidth=GridBagConstraints.REMAINDER;

              gb.setConstraints(bt[6],gbc);f.add(bt[6]);

             

              gbc.gridwidth=1;

              gbc.gridheight=2;

              gbc.weighty=1;

              gb.setConstraints(bt[7],gbc);f.add(bt[7]);

              gbc.gridheight=1;

              gbc.weighty=1;

              gbc.gridwidth=GridBagConstraints.REMAINDER;

              gb.setConstraints(bt[8],gbc);f.add(bt[8]);

              gb.setConstraints(bt[9],gbc);f.add(bt[9]);

              f.setVisible(true);

             

       }

}

 

 

cardlayout(hgap,vgap)

first(Containertarget)显现容器第一张   last()   previous() next()  show(target,name)

packagecom.zylg.www;

 

importjava.awt.BorderLayout;

importjava.awt.Button;

importjava.awt.CardLayout;

importjava.awt.Frame;

importjava.awt.Panel;

importjava.awt.TextArea;

importjava.awt.event.ActionListener;

importjava.awt.event.WindowEvent;

importjava.awt.event.WindowListener;

 

publicclass find

{

       public static void main(String[] args)

       {

              Frame f=new Frame();

              f.setLayout(newBorderLayout(0,0));

              CardLayout c=new CardLayout();

              Panel p1=new Panel(),p2=newPanel();

              p1.setLayout(c);

 

              Button[] bt=new Button[5];

              f.setLocation(200, 200);

              f.setSize(400, 400);

             

              f.setTitle("专业路过");

             

              for(int i=0;i<5;i++)

              {

                     Panel p=new Panel();

                     p.add(new TextArea("专业路过"+i,30,90));

                     p1.add("专业路过"+i,p);

              }

              ActionListener listener=e->

              {

                     switch(e.getActionCommand())

                     {

                     case "上一张":c.previous(p1);break;

                     case "下一张":c.next(p1);break;

                     case "第一张":c.first(p1);break;

                     case "最后一张":c.last(p1);break;

                     case "第三张":c.show(p1, "专业路过3");break;

                     }

              };

              bt[0]=new Button("上一张");bt[0].addActionListener(listener);p2.add(bt[0]);

              bt[1]=new Button("下一张");bt[1].addActionListener(listener);p2.add(bt[1]);

              bt[2]=new Button("最后一张");bt[2].addActionListener(listener);p2.add(bt[2]);

              bt[3]=new Button("第一张");bt[3].addActionListener(listener);p2.add(bt[3]);

              bt[4]=new Button("第三张");bt[4].addActionListener(listener);p2.add(bt[4]);

              f.add(p1);

              f.add(p2, BorderLayout.SOUTH);

              f.pack();

              f.setVisible(true);

             

       }

}

Null绝对定位

Boxlayout比gridbaglayout简单一点的东西,水平或者垂直的排列,加上间距

f.setLayout(newBoxLayout(f, BoxLayout.Y_AXIS));

 

       Box horizontal=Box.createHorizontalBox();

       Box vertical=Box.createVerticalBox();

      

       horizontal.add(Box.createHorizontalGlue());

       horizontal.add(new Button("水平按钮1"));

       horizontal.add(Box.createHorizontalGlue());

       horizontal.add(new Button("水平按钮2"));

       horizontal.add(Box.createHorizontalGlue());

       horizontal.add(new Button("水平按钮3"));

       horizontal.add(Box.createHorizontalGlue());

       vertical.add(Box.createVerticalStrut(50));

       vertical.add(new Button("垂直按钮1"));

       vertical.add(Box.createVerticalStrut(50));

       vertical.add(new Button("垂直按钮2"));

       f.add(horizontal);

       f.add(vertical, BorderLayout.SOUTH);

3.常用组件

基本组件button(按钮)、canvas(画布)、checkbox(复选框组件)、checkboxgtoup(将多个checkbox合成在一起)、choice(下拉式选择框组件)、frame(窗口)、label(标签)、list(列表框组件)、panel(容器)、scrollbar(滚动条组件)、textarea(文本域)、textfile(单行文本)

对话框dialog

Button ok=new Button("确认");

       CheckboxGroup cbg=new CheckboxGroup();

       Checkbox male=new Checkbox("",cbg,true);

       Checkbox famale=new Checkbox("",cbg,false);

       Checkbox married=new Checkbox("是否已婚?",false);

       Choice colorchooser=new Choice();

       List colorlist=new List(6,true);

       TextArea ta=new TextArea(5,20);

       TextField name=new TextField(40);

       colorlist.add("");

       colorlist.add("绿");

       colorlist.add("");

       colorchooser.add("");

       colorchooser.add("绿");

       colorchooser.add("");

       Panel p1=new Panel(),p2=new Panel();

       p1.add(name);p1.add(ok);f.add(p1,BorderLayout.SOUTH);

       p2.add(colorchooser);p2.add(male);p2.add(famale);p2.add(married);

       Box topleft=Box.createVerticalBox();

       topleft.add(ta);topleft.add(p2);

       Box top=Box.createHorizontalBox();

       top.add(topleft);top.add(colorlist);

       f.add(top);

      

 

对话框

Dialog d1=new Dialog(f,"模式对话框",true);

       Dialog d2=new Dialog(f,"非模式对话框",false);

       Button bt1=new Button("打开模式对话框");bt1.addActionListener(e->d1.setVisible(true));

       Button bt2=new Button("打开非模式对话框");bt2.addActionListener(e->d2.setVisible(true));

 

 

4.事件

Componentevent组件事件

Containerevent容器事件

Focusevent焦点事件

Windowevent窗体事件

Keyevent键盘事件

Mouseevent键盘事件

Paintevent组件绘制事件

Actionevent动作事件

Adjustmentevent调节事件

Itemevent选项事件

Textevent文本框事件

package com.zylg.www;

 

import java.awt.BorderLayout;

import java.awt.Button;

import java.awt.Frame;

import java.awt.Panel;

import java.awt.TextArea;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.AdjustmentEvent;

import java.awt.event.AdjustmentListener;

import java.awt.event.ComponentEvent;

import java.awt.event.ComponentListener;

import java.awt.event.ContainerEvent;

import java.awt.event.ContainerListener;

import java.awt.event.FocusEvent;

import java.awt.event.FocusListener;

import java.awt.event.ItemEvent;

import java.awt.event.ItemListener;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import java.awt.event.MouseMotionListener;

import java.awt.event.TextEvent;

import java.awt.event.TextListener;

import java.awt.event.WindowEvent;

import java.awt.event.WindowListener;

 

import javax.swing.Box;

 

public class find

{

    public static void main(String[] args)

    {

       Frame f=new Frame();

       f.setLocation(200, 200);

       f.setSize(400, 400);

       f.setTitle("专业路过");

      

       Panel p1=new Panel();

       TextArea shuru=new TextArea(3,40);

       Button ok=new Button("确定");

       p1.add(shuru);p1.add(ok);

       f.add(p1, BorderLayout.SOUTH);

       Box top=Box.createHorizontalBox();

       TextAreata1=new TextArea(20,25),ta2=new TextArea(20,25);

       top.add(ta1);top.createHorizontalGlue();top.add(ta2);

       top.createVerticalGlue();

       f.add(top);

       //事件的重新定义

       ActionListener action=new ActionListener()

       {

           @Override

           public void actionPerformed(ActionEvent e)

           {

              ta2.append("按钮、文本框,菜单项被单击\n");

           }

       };

       AdjustmentListener adjust=new AdjustmentListener()

       {

          

           @Override

           public voidadjustmentValueChanged(AdjustmentEvent e)

           {

              ta2.append("滑块位置发生改变\n");

           }

       };

       ContainerListener cont=new ContainerListener()

       {

          

           @Override

           public void componentRemoved(ContainerEvent e)

           {

              ta2.append("从容器中移除了组件\n");

           }

          

           @Override

           public void componentAdded(ContainerEvent e)

           {

              ta2.append("从容器中添加了组件\n");

           }

       };

       FocusListener focus=new FocusListener()

       {

          

           @Override

           public void focusLost(FocusEvent e)

           {

              ta2.append("获得了焦点\n");

           }

          

           @Override

           public void focusGained(FocusEvent e)

           {

              ta2.append("失去了焦点\n");

           }

       };

       ComponentListener comp=new ComponentListener()

       {

          

           @Override

           public void componentShown(ComponentEvent e)

           {

              ta2.append("组件被显示\n");

           }

          

           @Override

           public void componentResized(ComponentEvent e)

           {

              ta2.append("组件大小发生变化\n");

           }

          

           @Override

           public void componentMoved(ComponentEvent e)

           {

              ta2.append("组件被移动\n");

           }

          

           @Override

           public void componentHidden(ComponentEvent e)

           {

              ta2.append("组件被隐藏\n");

           }

       };

       KeyListener key=new KeyListener()

       {

          

           @Override

           public void keyTyped(KeyEvent e)

           {

//            ta2.append("单击某个键\n");

           }

          

           @Override

           public void keyReleased(KeyEvent e)

           {

//            ta1.append("释放按键");

           }

          

           @Override

           public void keyPressed(KeyEvent e)

           {

              ta1.append(e.getKeyText(e.getKeyCode()));

           }

       };

       MouseListener mous1=new MouseListener()

       {

          

           @Override

           public void mouseReleased(MouseEvent e)

           {

              ta2.append("松开了鼠标键\n");

           }

          

           @Override

           public void mousePressed(MouseEvent e)

           {

              ta2.append("按下鼠标键\n");

           }

          

           @Override

           public void mouseExited(MouseEvent e)

           {

              ta2.append("鼠标键离开\n");

           }

          

           @Override

           public void mouseEntered(MouseEvent e)

           {

              ta2.append("鼠标键进入\n");

           }

          

           @Override

           public void mouseClicked(MouseEvent e)

           {

              ta2.append("鼠标单击\n");

           }

        };

       MouseMotionListener mous2=new MouseMotionListener()

       {

          

           @Override

           public void mouseMoved(MouseEvent e)

           {

              ta2.append("在组件上移动鼠标\n");

           }

          

           @Override

           public void mouseDragged(MouseEvent e)

           {

              ta2.append("在组件上移动鼠标,且鼠标被按下\n");

           }

       };

       TextListener tex=new TextListener()

       {

          

           @Override

           public void textValueChanged(TextEvent e)

           {

              ta2.append("文本空值发生改变\n");

           }

       };

       ItemListener item=new ItemListener()

       {

          

           @Override

           public void itemStateChanged(ItemEvent e)

           {

              ta2.append("选项被选中\n");

           }

       };

       WindowListener win=new WindowListener()

       {

          

           @Override

           public void windowOpened(WindowEvent e)

           {

              ta2.append("窗体被打开\n");

           }

          

           @Override

           public void windowIconified(WindowEvent e)

           {

              ta2.append("窗体最小化\n");

           }

          

           @Override

           public void windowDeiconified(WindowEvent e)

           {

              ta2.append("窗体被恢复\n");

           }

          

           @Override

           public void windowDeactivated(WindowEvent e)

           {

              ta2.append("窗体失去激活\n");

           }

          

           @Override

           public void windowClosing(WindowEvent e)

           {

              System.exit(0);

           }

          

           @Override

           public void windowClosed(WindowEvent e)

           {

              ta2.append("窗体已经关闭\n");

           }

          

           @Override

           public void windowActivated(WindowEvent e)

           {

              ta2.append("窗体被激活\n");

           }

       };

      

       f.addWindowListener(win);

       shuru.addKeyListener(key);

       ok.addMouseListener(mous1);

       f.setVisible(true);

      

    }

}

事件的适配器 可以继承过来重写listener

 

5.AWT菜单

Menubar菜单条装menu,menu装menuitem和checkboxmenuitem,menuitem和checkmenuitem装menu和menushortcut

publicstatic void main(String[] args)

       {

              Frame f=new Frame();

              f.setLocation(200, 200);

              f.setSize(400, 400);

              f.setTitle("专业路过");

              f.addWindowListener(new WindowAdapter()

                            {

                                   public voidwindowClosing(WindowEvent e)

                                   {

                                          System.exit(0);

                                   }

                            });

              TextArea ta=new TextArea(6,40);

              MenuBar mb=new MenuBar();

              Menu file=new Menu("文件");

              MenuItem newitem=newMenuItem("新建");

              MenuItem saveitem=newMenuItem("保存");

              MenuItem exititem=newMenuItem("退出", new MenuShortcut(KeyEvent.VK_X));

             

              Menu edit=new Menu("编辑");

              CheckboxMenuItem  autowrap=new CheckboxMenuItem("自动换行");

              MenuItem copyitem=newMenuItem("复制");

              MenuItem pasteitem=newMenuItem("粘贴");

              Menu format=new Menu("格式");

              MenuItem commentitem=newMenuItem("注释",new MenuShortcut(KeyEvent.VK_SHIFT,true));

              MenuItem cancelitem=newMenuItem("取消注释");

             

             

              ActionListener listener=e->{

                     Stringstr=e.getActionCommand();

                     ta.append("单击"+str+"菜单");

                     if(str.equals("退出"))

                     {

                            System.exit(0);

                     }

              };

              commentitem.addActionListener(listener);

              exititem.addActionListener(listener);

              file.add(newitem);file.add(saveitem);file.add(exititem);//为文件菜单添加菜单项

              edit.add(autowrap);      edit.addSeparator();edit.add(copyitem);edit.add(pasteitem);    //为编辑菜单添加菜单项

              format.add(commentitem);format.add(cancelitem);//format添加菜单项

              edit.add(newMenuItem("-"));edit.add(format);//将format添加到edit形成二级菜单

              mb.add(file);mb.add(edit);

             

              //右键菜单

              PopupMenu pop=new PopupMenu();

              pop.add(copyitem);

              Panel p=new Panel();

              p.add(pop);

              p.addMouseListener(newMouseAdapter()

              {

                     public voidmouseReleased(MouseEvent e)

                     {

                            if(e.isPopupTrigger())

                            {

                                   pop.show(p,e.getX(), e.getY());

                            }

                     }

              });

              f.add(ta);

              f.add(p);

              f.setMenuBar(mb);

              f.setVisible(true);

             

       }

 

6.Awt绘图

三个方法paint()、update()、repaint()

staticString name="";

       public static void main(String[] args)

       {

              Frame f=new Frame();

              f.setLocation(200, 200);

              f.setSize(400, 400);

              f.setTitle("专业路过");

              f.addWindowListener(newWindowAdapter()

                            {

                                   public voidwindowClosing(WindowEvent e)

                                   {

                                          System.exit(0);

                                   }

                            });

             

              class mycanvas extends Canvas

              {

                     @Override

                     public void paint(Graphicsg)

                     {

                            Random rand=newRandom();

                            if(name.equals("oval"))

                            {

                                   g.setColor(newColor(220, 100, 80));

                                   g.drawOval(rand.nextInt(120),rand.nextInt(120), 50, 50);

                            }

                            if(name.equals("rect"))

                            {

                                   g.setColor(newColor(220, 100, 80));

                                   g.drawRect(rand.nextInt(200),rand.nextInt(200), 40, 60);

                            }

                     }

                    

              }

              Button bt1=new Button("绘制矩形");

              Button bt2=new  Button("绘制圆形");

              mycanvas draw=new mycanvas();

              bt1.addActionListener(e->{name="rect";draw.repaint();});

              bt2.addActionListener(e->{name="oval";draw.repaint();});

              f.add(draw);

              Panel p=new Panel();

              p.add(bt1);p.add(bt2);

              f.add(p, BorderLayout.SOUTH);

              f.setVisible(true);

             

       }

7.位图处理           

BufferedImageimage=new BufferedImage(AREA_WIDTH, AREA_HEIUGHT, BufferedImage.TYPE_3BYTE_BGR);

Graphicsg=image.getGraphics();

g.drawLine(preX,preY, e.getX(), e.getY());

用imageio输入输出位图

(1)    格式

 String[] readformat=ImageIO.getReaderFormatNames();//可以读的所有的文件格式

for(String str:readformat){System.out.print(str+"\t");}

System.out.println("\n");

String[] writeformat=ImageIO.getWriterFormatNames();//可以写的所有的文件格式

for(String str:writeformat){System.out.print(str+"\t");}

System.out.println("\n");

String[] name1=ImageIO.getReaderFileSuffixes();//可以读的所有的文件后缀

for(String str:name1){System.out.print(str+"\t");}

System.out.println("\n");

String[] name2=ImageIO.getWriterFileSuffixes();//可以写的所有的文件后缀

for(String str:name2){System.out.print(str+"\t");}

(2)    readand write

BufferedImage image=newBufferedImage(600,400,BufferedImage.TYPE_INT_BGR);

Graphics g=image.getGraphics();

Image src=ImageIO.read(new File("背景.jpg"));

g.drawImage(src, 0, 0, 600,400,null);

ImageIO.write(image, "jpeg", new File("hello"+".jpg"));

8.剪切板

//require system clipboard

Clipboard clipboard=Toolkit.getDefaultToolkit().getSystemClipboard();

//Clipboard clipboard=new Clipboard("cb");

 

StringSelection contents=new StringSelection(copyarea.getText());

clipboard.setContents(contents,null);//copy to clipboard

String contents=(String)clipboard.getData(DataFlavor.stringFlavor);

pastearea.setText(contents);//paste

 

jdk只是为transferable提供了一个实现的接口StringSelection,但是提供了一个imageFlavor常量,用于图片的操作

 Image img;

    public static List<Image> imglist=new ArrayList<>();

    staticclass imageselection implementsTransferable

    {

       private Image image;

       publicimageselection(Image img)

       {

           image=img;

       }

       public DataFlavor[]getTransferDataFlavors()

       {

           return newDataFlavor[]{DataFlavor.imageFlavor};

       }

       public booleanisDataFlavorSupported(DataFlavor flavor)

       {

           returnflavor.equals(DataFlavor.imageFlavor);

       }

       public ObjectgetTransferData(DataFlavor flavor)throws UnsupportedFlavorException,IOException

       {

           if(flavor.equals(DataFlavor.imageFlavor)){ returnimage;}

           else

           { try

           {

           throw newException();

           } catch (Exceptione)

           {

              // TODOAuto-generated catch block

              e.printStackTrace();

           }}

           return flavor;

       }

      

    }

    class mycanvas extends JPanel

    {

       public void paint(Graphics g)

       {

           g.drawImage(img, 0, 0,null);

           for(Imagei:imglist)

           {

              g.drawImage(i, 0, 0,600,400,null);

           }

       }

      

    }

pastebutton.addActionListener(e->

       {

           if(clipboard.isDataFlavorAvailable(DataFlavor.imageFlavor))

           {

              try

              {

                  imglist.add((Image)clipboard.getData(DataFlavor.imageFlavor));

                  arae.repaint();

                 

              }

              catch (Exceptione1)

              {

                  pastearea.setText("剪切板内容为空");

              }

           }

       });

       copybutton.addActionListener(e->

       {

    StringSelection contents=new StringSelection(copyarea.getText());

           try

           {

              img=ImageIO.read(new File("背景.jpg"));

           } catch (IOExceptione1)

           {

              // TODO Auto-generated catch block

              e1.printStackTrace();

           }

           imageselection imageselected=newimageselection(img);

           clipboard.setContents(imageselected,null);

       });

       9,拖放

Awt的类,droptarget创建拖放目标,构造器droptarget(Component c,int ops,droptargetlistener dtl)

ops:DnDConstants.ACTION_COPY/COPY_OR_MOVE/LINK/MOVE/NONE

dtl:dragenter/drahexit/dragover/drop/dropactionchange

public void drop(DropTargetDropEvent dtde)

       {

           dtde.acceptDrop(DnDConstants.ACTION_COPY);//接受复制操作

           //获取拖放的内容

           Transferable trans=dtde.getTransferable();

           DataFlavor[] flavors=trans.getTransferDataFlavors();

           //遍历拖放内容的全部格式

           for(inti=0;i<flavors.length;i++)

           {

              DataFlavor df=flavors[i];

          

              if(df.equals(DataFlavor.javaFileListFlavor))

              {

                  try

                  {

                     List filelist=(List)trans.getTransferData(df);

                     for(Objectf:filelist)

                     {

                         //======显示每个文件

                         showimage((File)f,dtde);

                     }

                  } catch (Exceptione)

                  {

                     // TODO Auto-generated catch block

                     e.printStackTrace();

                  }

                  dtde.dropComplete(true);

              }

}

newDropTarget(jf,DnDConstants.ACTION_COPY,new imagedroptargetlistener());

 

 

Swing

1.顶层容器:jframe/japplet/jwindow

中间:jpanel/jscroll/jsplitpane/jtoolbar/jinternalframe/jrootpane/jlayeredoane/jdesktoppane  

基本组件:Jbutton/jcombobox/jlist/jmenu/jslider等交互

               不可编辑:jlabel/jprogressbar/jtooltip

               可编辑:jtable/jtextfiled/jtextarea

对话框组件jcolorchooser/jfilechooser

package com.zylg.www;

 

import java.awt.BorderLayout;

import java.awt.event.ActionListener;

import java.awt.event.InputEvent;

 

import javax.swing.Box;

import javax.swing.ButtonGroup;

import javax.swing.JButton;

import javax.swing.JCheckBox;

import javax.swing.JCheckBoxMenuItem;

import javax.swing.JComboBox;

import javax.swing.JFrame;

import javax.swing.JList;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JPanel;

import javax.swing.JPopupMenu;

import javax.swing.JRadioButton;

import javax.swing.JRadioButtonMenuItem;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

import javax.swing.JTextField;

import javax.swing.KeyStroke;

import javax.swing.SwingUtilities;

import javax.swing.UIManager;

 

public class find

{

    JFrame frame=new JFrame("专业路过");

    JButton ok=new JButton("确认");

    JRadioButton male=new JRadioButton("",true);

    JRadioButton female=new JRadioButton("",false);

    ButtonGroup bg=new ButtonGroup();

    JCheckBox married=new JCheckBox("is married",false);

    String[] colors=new String[]{ "red","green","blue"};

    JComboBox<String> colorchooser=new JComboBox<>(colors);

    JList<String> colorList = new JList<>(colors);

    JTextArea ta=new JTextArea(8,20);

    JTextField name=new JTextField(40);

    JMenuBar menubar=new JMenuBar();

    JMenu file=new JMenu("file"),edit=new JMenu("edit"), format=new JMenu("format");

    JMenuItem newfile=new JMenuItem("new");

    JMenuItem savefile=new JMenuItem("save");

    JMenuItem exit=new JMenuItem("exit");

    JCheckBoxMenuItem autowrap=new JCheckBoxMenuItem("auto wrap");

    JMenuItem copyitem=new JMenuItem("copy");

    JMenuItem pasteitem=new JMenuItem("paste");

    JMenuItem contentitem=new JMenuItem("content");

    JMenuItem cancelitem=new JMenuItem("cancel");

    JPopupMenu pop=new JPopupMenu();

    ButtonGroup flavorgroup=new ButtonGroup();

    JRadioButtonMenuItem metalItem=new JRadioButtonMenuItem("Metal风格",true);

    JRadioButtonMenuItem nimbusItem =new JRadioButtonMenuItem("Nimbus风格");

    JRadioButtonMenuItem windowsItem =new JRadioButtonMenuItem("Windows风格");

    JRadioButtonMenuItem classicItem =new JRadioButtonMenuItem("Windows经典风格");

    JRadioButtonMenuItem motifItem =new JRadioButtonMenuItem("Motif风格");

    public void init()

    {

       JPanel

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值