怎么设置popupmenu设置背景宽度

Swing开发时必定会碰到的11个问题及解决方案
Swing开发时必定会碰到的11个问题及解决方案
作者: 来源:
1.JTable ,JTable如何在内容里面存放组件(下拉框,图片)和修改数据。2.系统托盘TrayIcon的使用3.JPopupMenu的使用4.JTree的使用及替换样式5.BorderLayout的灵活使用6.进度条的同步读取和显示7.滚动条下拉时候滚动条自动衍生8.监听器、适配器的使用9.如何直接把文件、文件夹拖拉到组件10.剪切板的使用11.JFM拓展包*********************JTable放图片package&& &import&java.awt.C &import& &import&java.awt.D &&import&javax.swing.I &import&javax.swing.ImageI &import&javax.swing.JF &import&javax.swing.JScrollP &import&javax.swing.JT &import&javax.swing.border.LineB &import&javax.swing.event.TableModelE &import&javax.swing.table.AbstractTableM &import&javax.swing.table.DefaultTableCellR &import&javax.swing.table.DefaultTableM &import&javax.swing.table.TableColumnM &&&public&class&MyTable{ &&&&&JTable&table=new&JTable(); &&&&&public&MyTable(){ &&&&&&&&&&JFrame&frame=new&JFrame(&测试jtable放图片&); &&&&&&&&&&frame.setLayout(null); &&&&&&&&&&&table=this.getTable(); &&&&&&&&&&&JScrollPane&src=/art/201201/new&JScrollPane(table); &&&&&&&&&&src.setBounds(0,&0,&400,&200); &&&&&&&&&&frame.setSize(new&Dimension(400,200)); &&&&&&&&&&frame.add(src); &&&&&&&&&&frame.setVisible(true); &&&&&} &&&&&public&JTable&getTable(){ &&&&&&&&&MyTableModel&dm&=&new&MyTableModel(); &&&&&& &&&&&&&&&JTable&table&=&new&JTable(); &&&&&&&&&table.setModel(dm);&&&&&&&&&table.setDefaultRenderer(Icon.class,&new&ImageRenderer()); &&&&&&&return& &&&&&} &&&&&public&static&void&main(String&args[]){ &&&&&&&new&MyTable(); &&&&&&} &&&&&} &&&&&class&MyTableModel&extends&AbstractTableModel{ &&&&&&private&String[]&columnNames&=&{&First&Name&, &&&&&&&&&&&&&&&&&&Favorite&Color&, &&&&&&&&&&&&&&&&}; &&&&&&&&&&&&&private&Object[][]&data&=&{ &&&&&&&&&&&&&{&Marry&,&new&ImageIcon(&1.gif&) &&&&&&&&&&&&&&&&&}, &&&&&&&&&&&&&&&&{&Joe&,new&ImageIcon(&1.jpg&) &&&&&&&&&&&&&&&&&}, &&&&&&&&&&&&&&&&{&Kims&,&new&ImageIcon(&1.png&) &&&&&&&&&&&&&&&&} &&&&&&&&&&&&}; &&&&&public&int&getColumnCount()&{ &&&&&&&&&return&columnNames. &&&&&} &&&&&&public&int&getRowCount()&{ &&&&&&&&&return&data. &&&&&} &&&&&&public&String&getColumnName(int&col)&{ &&&&&&&&&return&columnNames[col]; &&&&&} &&&&&&public&Object&getValueAt(int&row,&int&col)&{ &&&&&& &&&&&&&&&return&data[row][col]; &&&&&} && &&&&&public&Class&getColumnClass(int&c)&{ &&&&&&if(c==1){ &&&&&&&System.out.println(&---&+getValueAt(0,&c).getClass()); &&&&&&} &&&&&&return&c&==&1&?&Icon.class&:&Object.class; &&&&&&} &&&&&&public&boolean&isCellEditable(int&row,&int&col)&{& &&&&&&&&&if&(col&&&1)&{ &&&&&&&&&&&&&return&false; &&&&&&&&&}&else&{ &&&&&&&&&&&&&return&true; &&&&&&&&&} &&&&&} &&&&&&public&void&setValueAt(Object&value,&int&row,&int&col)&{ &&&&&&&& &&&&&&&&&&data[row][col]&=& &&&&&&&&&fireTableCellUpdated(row,&col); &&&&&&&& &&&&&}& &}&class&ImageRenderer&extends&DefaultTableCellRenderer&{ && &&&&&&public&Component&getTableCellRendererComponent(JTable&table,&Object&value, &&&&&&&&boolean&isSelected,&boolean&hasFocus,&int&row,&int&column)&{ &&&&&&&setIcon(null);&& &&&&&&&setBorder(null);& &&&&&&&System.out.println(&++&+(value&instanceof&Icon)); &&&&&&&super.getTableCellRendererComponent(table,&value,&isSelected,&&hasFocus,&&row,&&column); &&&&&&&if&(value&instanceof&Icon)&{ &&&&&&&&&this.setIcon((Icon)&value); &&&&&&& &&&&&&&if&(isSelected) &&&&&&&&setBorder(new&LineBorder(Color.red)); &&&&&&&}else&if&(value&instanceof&String) &&&&&&&&setText((String)&value); &&&&&&&else&&&&&&&&setText(&&); &&&&&&&&return&this; &&&&&&} &&} &&class&TextAndIcon&{ &&&&&&&Icon& &&&&&&TextAndIcon(String&text,&ImageIcon&icon)&{ &&&&&&&this.text&=& &&&&&&&this.icon&=& &&&&&&} &&&&&&&String& &&&&&&&public&String&getText()&{ &&&&&&&return& &&&&&&} &&&&&&&public&void&setText(String&text)&{ &&&&&&&this.text&=& &&&&&&} &&&&&&&public&Icon&getIcon()&{ &&&&&&&return& &&&&&&} &&&&&&&public&void&setIcon(ImageIcon&icon)&{ &&&&&&&this.icon&=& &&&&&&} &&}&系统托盘和PopupMenu的使用package& &&import&java.awt.AWTE &import&java.awt.MenuI &import&java.awt.PopupM &import&java.awt.SystemT &import&java.awt.TrayI &import&java.awt.event.ActionE &import&java.awt.event.ActionL &import&java.awt.event.WindowA &import&java.awt.event.WindowE &import&javax.swing.ImageI &import&javax.swing.JF &&&&&public&class&TestTray&extends&JFrame&implements&Runnable&{ &&&&&&private&SystemTray&sysT&&&&&private&TrayIcon&trayI&&&&&ImageIcon&icon&=&null; &&&&&&public&TestTray() &&&&&{ &&&&&&&&&this.createTrayIcon();&&&&&&&&&init(); &&&&&} &&&&&&&&&&&&&&public&void&init() &&&&&{ &&&&&&&&&this.setTitle(&闪动托盘&); &&&&&&&&&this.setSize(400,&400); &&&&&&&&&this.setDefaultCloseOperation(this.EXIT_ON_CLOSE); &&&&&&&&&this.setLocationRelativeTo(null); &&&&&&&&&&&&&&&&&&this.addWindowListener(new&WindowAdapter()&{ && &&&&&&&&&&&&&public&void&windowIconified(WindowEvent&e) &&&&&&&&&&&&&{ &&&&&&&&&&&&&&&&&addTrayIcon(); &&&&&&&&&&&&&} &&&&&&&&&}); &&&&&&&&&&this.setVisible(true); &&&&&} &&&&&&&&&&&&&public&void&addTrayIcon() &&&&&{ &&&&&&&&&try&&&&&&&&&{ &&&&&&&&&&&&&sysTray.add(trayIcon);&&&&&&&&&&&&&setVisible(false);&&&&&&&&&&&&&new&Thread(this).start(); &&&&&&&&&} &&&&&&&&&catch&(AWTException&e1) &&&&&&&&&{ &&&&&&&&&&&&&e1.printStackTrace(); &&&&&&&&&} &&&&&} &&&&&&&&&&&&&&public&void&createTrayIcon() &&&&&{ &&&&&&&&&sysTray&=&SystemTray.getSystemTray();&&&&&&&&&icon&=&new&ImageIcon(&1.gif&);&&&&&&&&&PopupMenu&popupMenu&=&new&PopupMenu();&&&&&&&&&MenuItem&mi&=&new&MenuItem(&弹出&); &&&&&&&&&MenuItem&exit&=&new&MenuItem(&关闭&); &&&&&&&&&popupMenu.add(mi); &&&&&&&&&popupMenu.add(exit); &&&&&&&&&&&&&&&&&&mi.addActionListener(new&ActionListener()&{ &&&&&&&&&&&&&&public&void&actionPerformed(ActionEvent&e) &&&&&&&&&&&&&{ &&&&&&&&&&&&&&&&&setVisible(true); &&&&&&&&&&&&&&&&&sysTray.remove(trayIcon); &&&&&&&&&&&&&} &&&&&&&&&}); &&&&&&&&&exit.addActionListener(new&ActionListener()&{ &&&&&&&&&&&&&&public&void&actionPerformed(ActionEvent&e) &&&&&&&&&&&&&{ &&&&&&&&&&&&&&&&&System.exit(0); &&&&&&&&&&&&&} &&&&&&&&&}); &&&&&&&&&trayIcon&=&new&TrayIcon(icon.getImage(),&&闪动托盘&,&popupMenu); &&&&&} && &&&&&public&static&void&main(String[]&args) &&&&&{ &&&&&&&&&TestTray&testTray&=&new&TestTray(); &&&&&} &&&&&&&&&&&&&&public&void&run() &&&&&{ &&&&&&&&&while&(true) &&&&&&&&&{ &&&&&&&&&&&&&this.trayIcon.setImage(new&ImageIcon(&2.jpg&).getImage()); &&&&&&&&&&&&&try&&&&&&&&&&&&&{ &&&&&&&&&&&&&&&&&Thread.sleep(300); &&&&&&&&&&&&&} &&&&&&&&&&&&&catch&(InterruptedException&e) &&&&&&&&&&&&&{ &&&&&&&&&&&&&&&&&e.printStackTrace(); &&&&&&&&&&&&&} &&&&&&&&&&&&&this.trayIcon.setImage(icon.getImage()); &&&&&&&&&&&&&try&&&&&&&&&&&&&{ &&&&&&&&&&&&&&&&&Thread.sleep(300); &&&&&&&&&&&&&} &&&&&&&&&&&&&catch&(InterruptedException&e) &&&&&&&&&&&&&{ &&&&&&&&&&&&&&&&&e.printStackTrace(); &&&&&&&&&&&&&} &&&&&&&&&&& &&&&&&&&&} &&&&&} &} &实现拖拉上传效果的界面package& &&import&java.awt.BorderL &import&java.awt.datatransfer.DataF &import&java.awt.dnd.DnDC &import&java.awt.dnd.DropT &import&java.awt.dnd.DropTargetDragE &import&java.awt.dnd.DropTargetDropE &import&java.awt.dnd.DropTargetE &import&java.awt.dnd.DropTargetL &import&java.io.F &import&java.util.I &import&java.util.L &import&java.util.V &import&java.util.logging.L &&import&javax.swing.JF &import&javax.swing.JOptionP &import&javax.swing.JP &import&javax.swing.JProgressB &import&javax.swing.JScrollP &import&javax.swing.JT &import&javax.swing.table.JTableH && &&&&&&public&class&UploadPane&extends&JPanel&implements&DropTargetListener{ &&&&& &&&&&private&String[]&columns={&文件名&,&路径&,&上传人&};&&&&&private&Vector&data=/art/201201/new&Vector();&&&&&private&JTable&&&&&&private&MyTableModel&&&&&&private&Vector&files=new&Vector();&&&&&private&String&uploadN&&&&&private&JProgressBar&&&&&&private&UIFactory&uiFactory=UIFactory.getInstance();&&&&& &&&&&public&UploadPane(String&uploadName){ &&&&&&&&&this.uploadName=uploadN &&&&&&&&&&&&&&&&&&new&DropTarget(this,DnDConstants.ACTION_COPY_OR_MOVE,this); &&&&&&&&& &&&&&&&&&jpb=uiFactory.createJProgressBar(0,100,0,true,true); &&&&&&&&&this.setLayout(new&BorderLayout()); &&&&&&&&&model=new&MyTableModel(columns,data); &&&&&&&&&table=uiFactory.createJTable(model); &&&&&&&&&JTableHeader&header=table.getTableHeader(); &&&&&&&&&header.setReorderingAllowed(false); &&&&&&&&&JScrollPane&sc=uiFactory.createJScrollPane(table); &&&&&&&&&this.add(sc,BorderLayout.CENTER); &&&&&&&&&this.add(jpb,BorderLayout.SOUTH); &&&&&} &&&&& &&&&&public&void&drop(DropTargetDropEvent&e)&{ &&&&&&&&&try{ &&&&&&&&&&&&&if(e.isDataFlavorSupported(DataFlavor.javaFileListFlavor)){ &&&&&&&&&&&&&&&&&e.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);&&&&&&&&&&&&&&&&&List&list=(List)(e.getTransferable().getTransferData(DataFlavor.javaFileListFlavor)); &&&&&&&&&&&&&&&&&Iterator&it=list.iterator(); &&&&&&&&&&&&&&&&&while(it.hasNext()){ &&&&&&&&&&&&&&&&&&&&&File&f=(File)it.next(); &&&&&&&&&&&&&&&&&&&&&if(f.isFile()){ &&&&&&&&&&&&&&&&&&&&&&&&&add(f); &&&&&&&&&&&&&&&&&&&&&}else{ &&&&&&&&&&&&&&&&&&&&&&&&&JOptionPane.showMessageDialog(this,&上传文件不能为文件夹&); &&&&&&&&&&&&&&&&&&&&&} &&&&&&&&&&&&&&&&&} &&&&&&&&&&&&&&&&&e.dropComplete(true); &&&&&&&&&&&&&&&&&this.updateUI(); &&&&&&&&&&&&&}else{ &&&&&&&&&&&&&&&&&e.rejectDrop(); &&&&&&&&&&&&&} &&&&&&&&&}catch(Exception&ex){& &&&&&&&&&&&&&ex.printStackTrace(); &&&&&&&&&} &&&&&} &&&&& &&&&&&&&&&public&void&add(File&f){ &&&&&&&&&jpb.setValue(0); &&&&&&&&&Vector&row=new&Vector(); &&&&&&&&&row.add(f.getName()); &&&&&&&&&row.add(f.getPath()); &&&&&&&&&row.add(uploadName); &&&&&&&&&data.add(row); &&&&&&&&&table.updateUI();&&&&&&&&&files.add(f); &&&&&} &&&&&&&&&&public&void&remove(){ &&&&&&&&&data.clear(); &&&&&&&&&files.clear(); &&&&&&&&&table.updateUI(); &&&&&} &&&&& &&&&&&&&&&&public&String[]&getColumns()&{ &&&&&&&&&return& &&&&&} &&&&&public&void&setColumns(String[]&columns)&{ &&&&&&&&&this.columns&=& &&&&&} &&&&&public&Vector&getData()&{ &&&&&&&&&return& &&&&&} &&&&&public&void&setData(Vector&data)&{ &&&&&&&&&this.data&=& &&&&&} &&&&&public&JTable&getTable()&{ &&&&&&&&&return& &&&&&} &&&&&public&void&setTable(JTable&table)&{ &&&&&&&&&this.table&=& &&&&&} &&&&&public&MyTableModel&getModel()&{ &&&&&&&&&return& &&&&&} &&&&&public&void&setModel(MyTableModel&model)&{ &&&&&&&&&this.model&=& &&&&&} &&&&&&&public&JProgressBar&getJpb()&{ &&&&&&&&&return& &&&&&} &&&&&&&public&void&setJpb(JProgressBar&jpb)&{ &&&&&&&&&this.jpb&=& &&&&&} &&&&&& &&&&&public&String&getUploadName()&{ &&&&&&&&&return&uploadN &&&&&} &&&&&&public&void&setUploadName(String&uploadName)&{ &&&&&&&&&this.uploadName&=&uploadN &&&&&} &&&&&&public&Vector&getFiles()&{ &&&&&&&&&return& &&&&&} &&&&&&public&void&setFiles(Vector&files)&{ &&&&&&&&&this.files&=& &&&&&} &&&&&&public&void&dragEnter(DropTargetDragEvent&e)&{} &&&&&public&void&dragExit(DropTargetEvent&e)&{} &&&&&public&void&dragOver(DropTargetDragEvent&e)&{} &&&&&public&void&dropActionChanged(DropTargetDragEvent&e)&{} &&&&& &&&&& &&&&&public&static&void&main(String&args[]){ &&&&&&&&&JFrame&f=new&JFrame(); &&&&&&&&&f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); &&&&&&&&&UploadPane&p=new&UploadPane(&Joe&); &&&&&&&&&f.add(p); &&&&&&&&&f.pack(); &&&&&&&&&f.setVisible(true); &&&&&} &} &最后再给大家一个UI的工厂来解决其他的问题,是平时常用的组件的创建(自动注册按钮、快捷键等),应有尽有。使用了单例模式。package& &&import&java.awt.BorderL &import&java.awt.CardL &import&java.awt.C &import&java.awt.C &import&java.awt.D &import&java.awt.FlowL &import&java.awt.F &import&java.awt.GridL &import&java.awt.MenuI &import&java.awt.event.ActionL &import&java.awt.event.ItemL &import&java.awt.event.WindowL &import&java.io.FileNotFoundE &import&java.util.V &&import&javax.swing.I &import&javax.swing.ImageI &import&javax.swing.JB &import&javax.swing.JCheckB &import&javax.swing.JComboB &import&javax.swing.JF &import&javax.swing.JL &import&javax.swing.JL &import&javax.swing.JMenuI &import&javax.swing.JP &import&javax.swing.JPasswordF &import&javax.swing.JProgressB &import&javax.swing.JRadioB &import&javax.swing.JScrollP &import&javax.swing.JSplitP &import&javax.swing.JTabbedP &import&javax.swing.JT &import&javax.swing.JTextA &import&javax.swing.JTextF &import&javax.swing.JTextP &import&javax.swing.JToggleB &import&javax.swing.JToolB &import&javax.swing.KeyS &import&javax.swing.event.ChangeL &import&javax.swing.event.ListSelectionL &import&javax.swing.table.AbstractTableM && &&public&class&UIFactory&{ &&&&&&private&static&UIFactory&&&&&&&&&&&private&UIFactory(){ &&&&&&&&& &&&&&} &&&&&&&&&&public&static&UIFactory&getInstance(){ &&&&&&&&&if(instance==null){ &&&&&&&&&&&&&synchronized(&key1&){ &&&&&&&&&&&&&&&&&instance=new&UIFactory(); &&&&&&&&&&&&&} &&&&&&&&&} &&&&&&&&&return& &&&&&} &&&&&& &&&&&&&&&&public&JLabel&createJLabel(String&text){ &&&&&&&&&JLabel&l=new&JLabel(text); &&&&&&&&&return&l; &&&&&} &&&&&&&&&&public&JLabel&createJLabel(String&text,Icon&icon){ &&&&&&&&&JLabel&l=new&JLabel(text); &&&&&&&&&l.setIcon(icon); &&&&&&&&&return&l; &&&&&} &&&&& &&&&& &&&&&&&&&&public&JButton&createJButton(String&text,int&mn,String&command,ImageIcon&icon,int&key_keyEvent,int&input_inputEvent,int&when_invoke_jComponent,ActionListener&al,boolean&isFocus){ &&&&&&&&&JButton&button=new&JButton(text,icon); &&&&&&&&&&&&&&&&&&button.setMnemonic(mn);&&&&&&&&&button.setActionCommand(command);&&&&&&&&&button.addActionListener(al); &&&&&&&&&KeyStroke&stroke=KeyStroke.getKeyStroke(key_keyEvent,input_inputEvent,isFocus); &&&&&&&&&button.registerKeyboardAction(al,command,stroke,when_invoke_jComponent); &&&&&&&&&button.setFocusable(isFocus); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JButton&createJButton(String&text,String&command,ImageIcon&icon,ActionListener&al,boolean&isFocus){ &&&&&&&&&JButton&button=new&JButton(text,icon); &&&&&&&&&button.setActionCommand(command);&&&&&&&&&button.addActionListener(al);&&&&&&&&&button.setFocusable(isFocus); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JButton&createJButton(String&text,int&mn,String&command,ImageIcon&icon,int&width,int&height,int&key_keyEvent,int&input_inputEvent,int&when_invoke_jComponent,ActionListener&al,boolean&isFocus){ &&&&&&&&&&JButton&button=new&JButton(text,icon);&&&&&&&&&&&&&&&&&&button.setMnemonic(mn);&&&&&&&&&button.setActionCommand(command);&&&&&&&&&&&button.setPreferredSize(new&Dimension(width,height));&&&&&&&&&button.addActionListener(al); &&&&&&&&&KeyStroke&stroke=KeyStroke.getKeyStroke(key_keyEvent,input_inputEvent,isFocus); &&&&&&&&&button.registerKeyboardAction(al,command,stroke,when_invoke_jComponent); &&&&&&&&&button.setFocusable(isFocus); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JButton&createJButton(String&text,String&command,ImageIcon&icon,int&width,int&height,ActionListener&al,boolean&isFocus){ &&&&&&&&&JButton&button=new&JButton(text,icon); &&&&&&&&&button.setActionCommand(command);&&&&&&&&&button.setPreferredSize(new&Dimension(width,height)); &&&&&&&&&button.addActionListener(al);&&&&&&&&&button.setFocusable(isFocus); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JTextField&createJTextField(String&text,int&cols,boolean&isEditable){ &&&&&&&&&JTextField&field=new&JTextField(text,cols); &&&&&&&&&field.setEditable(isEditable); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JTextField&createJTextField(String&text,int&cols,boolean&isEditable,Font&f){ &&&&&&&&&JTextField&field=new&JTextField(text,cols); &&&&&&&&&field.setEditable(isEditable); &&&&&&&&&field.setFont(f); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JTextArea&createJTextArea(String&text,int&cols,int&rows,boolean&isEditable,boolean&lineWrap,boolean&wrapStyleWord){ &&&&&&&&&JTextArea&area=new&JTextArea(text,cols,rows); &&&&&&&&&area.setEditable(isEditable); &&&&&&&&&area.setLineWrap(lineWrap); &&&&&&&&&area.setWrapStyleWord(wrapStyleWord); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JTextArea&createJTextArea(String&text,int&cols,int&rows,boolean&isEditable,boolean&lineWrap,boolean&wrapStyleWord,Font&f){ &&&&&&&&&JTextArea&area=new&JTextArea(text,cols,rows); &&&&&&&&&area.setEditable(isEditable); &&&&&&&&&area.setFont(f); &&&&&&&&&area.setLineWrap(lineWrap); &&&&&&&&&area.setWrapStyleWord(wrapStyleWord); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JTextArea&createJTextArea(String&text,int&cols,int&rows,boolean&isEditable,Font&f,boolean&lineWrap,boolean&wrapStyleWord,Color&background,&Color&foreground){ &&&&&&&&&JTextArea&area=new&JTextArea(text,cols,rows); &&&&&&&&&area.setEditable(isEditable); &&&&&&&&&area.setFont(f); &&&&&&&&&area.setLineWrap(lineWrap); &&&&&&&&&area.setWrapStyleWord(wrapStyleWord); &&&&&&&&&area.setBackground(background); &&&&&&&&&area.setForeground(foreground); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JScrollPane&createJScrollPane(Container&c){ &&&&&&&&&JScrollPane&sc=new&JScrollPane(c); &&&&&&&&&return& &&&&&} &&&&&public&static&void&main(String&args[]){ &&&&&&&&& &&&&&&&&&UIFactory&factory&=&UIFactory.getInstance(); &&&&&&&&&&&&&&&&&&& &&&&&} &&&&&&&&&&public&JScrollPane&createJScrollPane(Container&c,int&horizontal_policy,int&vertical_policy){ &&&&&&&&&JScrollPane&sc=new&JScrollPane(); &&&&&&&&&sc.setHorizontalScrollBarPolicy(horizontal_policy); &&&&&&&&&sc.setVerticalScrollBarPolicy(vertical_policy); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&void&setJFrameAttributes(JFrame&f,String&title,int&close_policy,int&x,int&y,int&width,int&height,boolean&isResizable){ &&&&&&&&&f.setTitle(title); &&&&&&&&&f.setDefaultCloseOperation(close_policy); &&&&&&&&&f.setLocation(x,y); &&&&&&&&&f.setSize(width,height); &&&&&&&&&f.setResizable(isResizable); &&&&&} &&&&& &&&&&&&&&&public&void&setJFrameAttributes(JFrame&f,String&title,int&close_policy,int&x,int&y,int&width,int&height,boolean&isResizable,WindowListener&wl){ &&&&&&&&&f.setTitle(title); &&&&&&&&&f.setDefaultCloseOperation(close_policy); &&&&&&&&&f.setLocation(x,y); &&&&&&&&&f.setSize(width,height); &&&&&&&&&f.setResizable(isResizable); &&&&&&&&&f.addWindowListener(wl); &&&&&} &&&&&&&&&&public&JList&createJList(int&cell_width){ &&&&&&&&&JList&list=new&JList(); &&&&&&&&&list.setFixedCellWidth(cell_width); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JList&createJList(int&cell_width,ListSelectionListener&lsl){ &&&&&&&&&JList&list=new&JList(); &&&&&&&&&list.setFixedCellWidth(cell_width); &&&&&&&&&list.addListSelectionListener(lsl); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JList&createJList(int&cell_width,int&cell_height,Vector&Object&&v,ListSelectionListener&lsl){ &&&&&&&&&JList&list=new&JList(v); &&&&&&&&&list.setFixedCellWidth(cell_width); &&&&&&&&&list.setFixedCellHeight(cell_height); &&&&&&&&&list.addListSelectionListener(lsl); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JList&createJList(int&cell_width,int&cell_height,Object[]&data,ListSelectionListener&lsl){ &&&&&&&&&JList&list=new&JList(data); &&&&&&&&&list.setFixedCellWidth(cell_width); &&&&&&&&&list.setFixedCellHeight(cell_height); &&&&&&&&&list.addListSelectionListener(lsl); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JPanel&createBorderJPanel(){ &&&&&&&&&JPanel&p=new&JPanel(); &&&&&&&&&p.setLayout(new&BorderLayout()); &&&&&&&&&return&p; &&&&&} &&&&&&&&&&public&JPanel&createBorderJPanel(int&row_distance,int&col_distance){ &&&&&&&&&JPanel&p=new&JPanel(); &&&&&&&&&p.setLayout(new&BorderLayout(row_distance,col_distance)); &&&&&&&&&return&p; &&&&&} &&&&&&&&&&public&JPanel&createGridJPanel(int&rows,int&cols,int&col_distance,int&row_distance){ &&&&&&&&&JPanel&p=new&JPanel(); &&&&&&&&&p.setLayout(new&GridLayout(rows,cols,col_distance,row_distance)); &&&&&&&&&return&p; &&&&&} &&&&&&&&&&public&JPanel&createGridJPanel(int&rows,int&cols){ &&&&&&&&&JPanel&p=new&JPanel(); &&&&&&&&&p.setLayout(new&GridLayout(rows,cols)); &&&&&&&&&return&p; &&&&&} &&&&&&&&&&public&JPanel&createCardJPanel(CardLayout&card){ &&&&&&&&&JPanel&p=new&JPanel(); &&&&&&&&&p.setLayout(card); &&&&&&&&&return&p; &&&&&} &&&&&&&&&&public&JPanel&createAbsoluteJPanel(){ &&&&&&&&&JPanel&p=new&JPanel(); &&&&&&&&&p.setLayout(null); &&&&&&&&&return&p; &&&&&} &&&&&&&&&&public&JPanel&createFlowJPanel(){ &&&&&&&&&JPanel&p=new&JPanel(); &&&&&&&&&p.setLayout(new&FlowLayout()); &&&&&&&&&return&p; &&&&&} &&&&&&&&&&public&JPanel&createFlowJPanel(int&policy,int&col_distance,int&row_distance){ &&&&&&&&&JPanel&p=new&JPanel(); &&&&&&&&&p.setLayout(new&FlowLayout(&policy,&col_distance,&row_distance)); &&&&&&&&&return&p; &&&&&} &&&&&&&&&&public&JPanel&createFlowJPanel(int&leftOrRight_policy){ &&&&&&&&&JPanel&p=new&JPanel(); &&&&&&&&&p.setLayout(new&FlowLayout(leftOrRight_policy)); &&&&&&&&&return&p; &&&&&} &&&&&&&&&&public&JMenuItem&createJMenuItem(String&text,String&command,ActionListener&al){ &&&&&&&&&JMenuItem&item=new&JMenuItem(text); &&&&&&&&&item.addActionListener(al); &&&&&&&&&item.setActionCommand(command); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JRadioButton&createJRadioButton(){ &&&&&&&&&JRadioButton&jrb=new&JRadioButton(); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JRadioButton&createJRadioButton(ItemListener&il){ &&&&&&&&&JRadioButton&jrb=new&JRadioButton(); &&&&&&&&&jrb.addItemListener(il); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JCheckBox&createJCheckBox(){ &&&&&&&&&JCheckBox&box=new&JCheckBox(); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JComboBox&createJComboBox(String[]&data){ &&&&&&&&&JComboBox&box=new&JComboBox(data); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JComboBox&createJComboBox(Vector&data){ &&&&&&&&&JComboBox&box=new&JComboBox(data); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JComboBox&createJComboBox(String[]&data,int&width,int&height){ &&&&&&&&&JComboBox&box=new&JComboBox(data); &&&&&&&&&box.setPreferredSize(new&Dimension(width,height)); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JComboBox&createJComboBox(Vector&data,int&width,int&height){ &&&&&&&&&JComboBox&box=new&JComboBox(data); &&&&&&&&&box.setPreferredSize(new&Dimension(width,height)); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JComboBox&createJComboBox(Vector&data,ItemListener&il){ &&&&&&&&&JComboBox&box=new&JComboBox(data); &&&&&&&&&box.addItemListener(il); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JComboBox&createJComboBox(String[]&data,ItemListener&il){ &&&&&&&&&JComboBox&box=new&JComboBox(data); &&&&&&&&&box.addItemListener(il); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JComboBox&createJComboBox(Vector&data,int&width,int&height,ItemListener&il){ &&&&&&&&&JComboBox&box=new&JComboBox(data); &&&&&&&&&box.setMaximumSize(new&Dimension(width,height)); &&&&&&&&&box.setMinimumSize(new&Dimension(width,height)); &&&&&&&&&box.addItemListener(il); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JComboBox&createJComboBox(String[]&data,int&width,int&height,ItemListener&il){ &&&&&&&&&JComboBox&box=new&JComboBox(data); &&&&&&&&&box.setMaximumSize(new&Dimension(width,height)); &&&&&&&&&box.setMinimumSize(new&Dimension(width,height)); &&&&&&&&&box.addItemListener(il); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JTabbedPane&createJTabbedPane(){ &&&&&&&&&JTabbedPane&tab=new&JTabbedPane(); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JTabbedPane&createJTabbedPane(int&pos){ &&&&&&&&&JTabbedPane&tab=new&JTabbedPane(pos); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JTabbedPane&createJTabbedPane(ChangeListener&cl){ &&&&&&&&&JTabbedPane&tab=new&JTabbedPane(); &&&&&&&&&tab.addChangeListener(cl); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JToolBar&createJToolBar(boolean&isFloatable){ &&&&&&&&&JToolBar&bar&=new&JToolBar(); &&&&&&&&&bar.setFloatable(isFloatable); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JTextPane&createJTextPane(boolean&isEditable){ &&&&&&&&&JTextPane&p=new&JTextPane(); &&&&&&&&&p.setEditable(isEditable); &&&&&&&&&return&p; &&&&&} &&&&&&&&&&public&JTextPane&createJTextPane(boolean&isEditable,Color&background,Color&foreground){ &&&&&&&&&JTextPane&p=new&JTextPane(); &&&&&&&&&p.setEditable(isEditable); &&&&&&&&&p.setBackground(background); &&&&&&&&&p.setForeground(foreground); &&&&&&&&&return&p; &&&&&} &&&&&&&&&&public&JProgressBar&createJProgressBar(int&min,int&max,int&value,boolean&stringPainted,boolean&borderPainted){ &&&&&&&&&JProgressBar&bar=new&JProgressBar(); &&&&&&&&&bar.setMinimum(min); &&&&&&&&&bar.setMaximum(max); &&&&&&&&&bar.setBorderPainted(borderPainted); &&&&&&&&&bar.setStringPainted(stringPainted); &&&&&&&&&bar.setValue(value); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JProgressBar&createJProgressBar(int&min,int&max,int&value,boolean&stringPainted,boolean&borderPainted,Dimension&d){ &&&&&&&&&JProgressBar&bar=new&JProgressBar(); &&&&&&&&&bar.setMinimum(min); &&&&&&&&&bar.setMaximum(max); &&&&&&&&&bar.setBorderPainted(borderPainted); &&&&&&&&&bar.setStringPainted(stringPainted); &&&&&&&&&bar.setValue(value); &&&&&&&&&bar.setPreferredSize(d); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JSplitPane&createJSplitPane(Container&c1,Container&c2,int&horizontalOrVertical,int&dividerLoaction,int&dividerSize,boolean&expandable){ &&&&&&&&&JSplitPane&splitPane=new&JSplitPane(horizontalOrVertical, &&&&&&&&&&&&&&&&&true,c1,c2); &&&&&&&&&splitPane.setDividerLocation(dividerLoaction); &&&&&&&&&splitPane.setOneTouchExpandable(expandable); &&&&&&&&&splitPane.setDividerSize(dividerSize); &&&&&&&&&return&splitP &&&&&} &&&&&&&&&&public&JToggleButton&createJToggleButton(String&text,String&command,Icon&icon,int&width,int&height,ActionListener&al,&boolean&selected){ &&&&&&&&&JToggleButton&button=new&JToggleButton(text,icon,selected); &&&&&&&&&button.setActionCommand(command); &&&&&&&&&button.addActionListener(al); &&&&&&&&&button.setPreferredSize(new&Dimension(width,height)); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JToggleButton&createJToggleButton(String&text,String&command,Icon&icon,int&width,int&height,ActionListener&al){ &&&&&&&&&JToggleButton&button=new&JToggleButton(text,icon); &&&&&&&&&button.setActionCommand(command); &&&&&&&&&button.addActionListener(al); &&&&&&&&&button.setPreferredSize(new&Dimension(width,height)); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JPanel&createJPanelWithComponents(JLabel&label,Container&field,int&policy){ &&&&&&&&&JPanel&p=this.createFlowJPanel(policy); &&&&&&&&&p.add(label); &&&&&&&&&p.add(field); &&&&&&&&&return&p; &&&&&} &&&&&&&&&&public&JPanel&createJPanelWithComponents(Container&c1,Container&c2,int&policy){ &&&&&&&&&JPanel&p=this.createFlowJPanel(policy,0,0); &&&&&&&&&p.add(c1); &&&&&&&&&p.add(c2); &&&&&&&&&return&p; &&&&&} &&&&&&&&&&public&JPanel&createJPanelWithComponents(Container&c1,Container&c2,Container&c3,int&policy){ &&&&&&&&&JPanel&p=this.createFlowJPanel(policy,0,0); &&&&&&&&&p.add(c1); &&&&&&&&&p.add(c2); &&&&&&&&&p.add(c3); &&&&&&&&&return&p; &&&&&} &&&&&&&&&&public&JPanel&createJPanelWithComponents(Container&c1,Container&c2,Container&c3,Container&c4,int&policy){ &&&&&&&&&JPanel&p=this.createFlowJPanel(policy,0,0); &&&&&&&&&p.add(c1); &&&&&&&&&p.add(c2); &&&&&&&&&p.add(c3); &&&&&&&&&p.add(c4); &&&&&&&&&return&p; &&&&&} &&&&&&&&&&public&JTable&createJTable(){ &&&&&&&&&JTable&table=new&JTable(); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&JTable&createJTable(AbstractTableModel&model){ &&&&&&&&&JTable&table=new&JTable(model); &&&&&&&&&return& &&&&&} &&&&&&&&&&&&&&&public&JPasswordField&createJPasswordField(String&text,int&cols,boolean&isEditable){ &&&&&&&&&JPasswordField&field=new&JPasswordField(text,cols); &&&&&&&&&field.setEditable(isEditable); &&&&&&&&&return& &&&&&} &&&&&& &&&&&&&&&&public&MenuItem&createMenuItem(String&text,ActionListener&al){ &&&&&&&&&MenuItem&mi=new&MenuItem(text); &&&&&&&&&mi.addActionListener(al); &&&&&&&&&return& &&&&&} &&&&&&&&&&public&MenuItem&createMenuItem(String&text,String&command,ActionListener&al){ &&&&&&&&&MenuItem&mi=new&MenuItem(text); &&&&&&&&&mi.setActionCommand(command); &&&&&&&&&mi.addActionListener(al); &&&&&&&&&return& &&&&&} &} &原文链接:http://blog.csdn.net/royliang_peng/article/details/6292841【编辑推荐】
浅析Swing线程模型和EDT
Swing使用Substance外观包异常问题
Swing多线程编码过程中的误区
控件位置可以配置的Swing桌面
Swing特效:渐显效果
  推荐阅读
最近我用Swing写一个测试工具,在阅读我要测试的软件的codes的时候,发现他在更新UI的时候大量的用到了SwingUtilities的invokelater方法。我以前做Swing的应用比较少,大学时代为数不多的几次写Swing程序,我记得都是&&&
本文标题:
地址:/kaifa2/Java/1206.html
乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。
自媒体专栏
栏目ID=71的表不存在(操作类型=0)

我要回帖

更多关于 popupmenu 宽度 的文章

 

随机推荐