Swing完整实例JTree右键菜单可拖拽+JTable可翻页列中含有按钮隐藏列.docx

上传人:b****8 文档编号:24012934 上传时间:2023-05-23 格式:DOCX 页数:31 大小:122.90KB
下载 相关 举报
Swing完整实例JTree右键菜单可拖拽+JTable可翻页列中含有按钮隐藏列.docx_第1页
第1页 / 共31页
Swing完整实例JTree右键菜单可拖拽+JTable可翻页列中含有按钮隐藏列.docx_第2页
第2页 / 共31页
Swing完整实例JTree右键菜单可拖拽+JTable可翻页列中含有按钮隐藏列.docx_第3页
第3页 / 共31页
Swing完整实例JTree右键菜单可拖拽+JTable可翻页列中含有按钮隐藏列.docx_第4页
第4页 / 共31页
Swing完整实例JTree右键菜单可拖拽+JTable可翻页列中含有按钮隐藏列.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

Swing完整实例JTree右键菜单可拖拽+JTable可翻页列中含有按钮隐藏列.docx

《Swing完整实例JTree右键菜单可拖拽+JTable可翻页列中含有按钮隐藏列.docx》由会员分享,可在线阅读,更多相关《Swing完整实例JTree右键菜单可拖拽+JTable可翻页列中含有按钮隐藏列.docx(31页珍藏版)》请在冰豆网上搜索。

Swing完整实例JTree右键菜单可拖拽+JTable可翻页列中含有按钮隐藏列.docx

Swing完整实例JTree右键菜单可拖拽+JTable可翻页列中含有按钮隐藏列

首先来看一下展示界面,JTree的特点有:

节点可拖拽,根据输入生成目录,右键有菜单,点击触发事件等

                      JTable的特点有:

含有隐藏列,可以进行翻页,列中含有下载按钮等

在来看一下代码吧,基本代码由Eclipse上的WindowBuilder进行拖拽式产生的,所以看起来有点乱,不过没事

在使用WindowBuilder的时候要画JTree和JTable时要注意,这两个有几个共同点,必须放到JScrollPanel中,因为这两个控件的内容长度会发生突然变化,所以要使用JScrollPanel。

BTW:

如果要使用WindowBuidler,除了在Eclipse上安装插件,最方便的方法是直接下载含有该插件的Eclipse版本:

http:

//www.eclipse.org/downloads/packages/eclipse-ide-java-developers/keplerr

packagetest;

importjava.awt.BorderLayout;

importjava.awt.Component;

importjava.awt.EventQueue;

importjava.awt.GridBagConstraints;

importjava.awt.GridBagLayout;

importjava.awt.Insets;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.awt.event.MouseAdapter;

importjava.awt.event.MouseEvent;

importjava.util.List;

importjavax.swing.AbstractAction;

importjavax.swing.DefaultCellEditor;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JLabel;

importjavax.swing.JPanel;

importjavax.swing.JPopupMenu;

importjavax.swing.JScrollPane;

importjavax.swing.JTabbedPane;

importjavax.swing.JTable;

importjavax.swing.JTextField;

importjavax.swing.JTree;

importjavax.swing.border.EmptyBorder;

importjavax.swing.table.AbstractTableModel;

importjavax.swing.table.TableCellRenderer;

importjavax.swing.tree.DefaultMutableTreeNode;

 

publicclassInnerDocsMgtextendsJFrame{

privatestaticfinallongserialVersionUID=1L;

privateJPanelcontentPane;

privateJTabletable;

privateJTreetree;

privateJLabelcurrentDirLabel;

privateJLabeltotalFilesNumLabel;

privateListdocFils;

privatefinalintmaxFilesAPage=50;

privateJLabelcurPageLabel;

privateintcurPageNum=0;

/**

*Launchtheapplication.

*/

publicstaticvoidmain(String[]args){

EventQueue.invokeLater(newRunnable(){

publicvoidrun(){

try{

InnerDocsMgtframe=newInnerDocsMgt();

frame.setVisible(true);

}catch(Exceptione){

e.printStackTrace();

}

}

});

}

/**

*Createtheframe.

*/

publicInnerDocsMgt(){

setTitle("\u5185\u90E8\u8D44\u6599\u7BA1\u7406");

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setBounds(100,100,450,300);

this.setSize(800,600);

contentPane=newJPanel();

contentPane.setBorder(newEmptyBorder(5,5,5,5));

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

setContentPane(contentPane);

JPanelpanel=newJPanel();

contentPane.add(panel,BorderLayout.WEST);

GridBagLayoutgbl_panel=newGridBagLayout();

gbl_panel.columnWidths=newint[]{54,0,0,0,0,0,0,0};

gbl_panel.rowHeights=newint[]{31,0,0};

gbl_panel.columnWeights=newdouble[]{1.0,0.0,0.0,0.0,0.0,0.0,

0.0,Double.MIN_VALUE};

gbl_panel.rowWeights=newdouble[]{0.0,1.0,Double.MIN_VALUE};

panel.setLayout(gbl_panel);

JLabellblNewLabel=newJLabel(

"\u5185\u90E8\u8D44\u6599\u76EE\u5F55\u5217\u8868");

GridBagConstraintsgbc_lblNewLabel=newGridBagConstraints();

gbc_lblNewLabel.gridwidth=5;

gbc_lblNewLabel.insets=newInsets(0,0,5,5);

gbc_lblNewLabel.gridx=0;

gbc_lblNewLabel.gridy=0;

panel.add(lblNewLabel,gbc_lblNewLabel);

JButtonbutton_4=newJButton("\u4FDD\u5B58\u76EE\u5F55\u64CD\u4F5C");

GridBagConstraintsgbc_button_4=newGridBagConstraints();

gbc_button_4.insets=newInsets(0,0,5,5);

gbc_button_4.gridx=5;

gbc_button_4.gridy=0;

panel.add(button_4,gbc_button_4);

JScrollPanescrollPane=newJScrollPane();

GridBagConstraintsgbc_scrollPane=newGridBagConstraints();

gbc_scrollPane.gridwidth=7;

gbc_scrollPane.fill=GridBagConstraints.BOTH;

gbc_scrollPane.gridx=0;

gbc_scrollPane.gridy=1;

panel.add(scrollPane,gbc_scrollPane);

DefaultMutableTreeNodetop=newDefaultMutableTreeNode("/");

createNodes(top);

tree=newJTree(top);

scrollPane.setViewportView(tree);

tree.setEditable(true);

tree.setDragEnabled(true);

this.setPopupMenu();

try{

tree.setTransferHandler(newDocsTreeTransferHanlder());

}catch(ClassNotFoundExceptione){

e.printStackTrace();

}

JPanelpanel_1=newJPanel();

contentPane.add(panel_1,BorderLayout.CENTER);

GridBagLayoutgbl_panel_1=newGridBagLayout();

gbl_panel_1.columnWidths=newint[]{708,0};

gbl_panel_1.rowHeights=newint[]{556,0};

gbl_panel_1.columnWeights=newdouble[]{1.0,Double.MIN_VALUE};

gbl_panel_1.rowWeights=newdouble[]{1.0,Double.MIN_VALUE};

panel_1.setLayout(gbl_panel_1);

JTabbedPanetabbedPane=newJTabbedPane(JTabbedPane.TOP);

GridBagConstraintsgbc_tabbedPane=newGridBagConstraints();

gbc_tabbedPane.fill=GridBagConstraints.BOTH;

gbc_tabbedPane.gridx=0;

gbc_tabbedPane.gridy=0;

panel_1.add(tabbedPane,gbc_tabbedPane);

JPanelpanel_2=newJPanel();

tabbedPane.addTab("\u6587\u4EF6\u4E0E\u76EE\u5F55\u7BA1\u7406",null,

panel_2,null);

GridBagLayoutgbl_panel_2=newGridBagLayout();

gbl_panel_2.columnWidths=newint[]{166,59,0,0,0,0,0};

gbl_panel_2.rowHeights=newint[]{30,0,49,0,0,0};

gbl_panel_2.columnWeights=newdouble[]{1.0,0.0,0.0,0.0,0.0,

0.0,Double.MIN_VALUE};

gbl_panel_2.rowWeights=newdouble[]{0.0,0.0,1.0,0.0,0.0,

Double.MIN_VALUE};

panel_2.setLayout(gbl_panel_2);

currentDirLabel=newJLabel(

"\u5F53\u524D\u76EE\u5F55\uFF1Aone->two->three");

GridBagConstraintsgbc_lblonetwothree=newGridBagConstraints();

gbc_lblonetwothree.gridwidth=6;

gbc_lblonetwothree.anchor=GridBagConstraints.WEST;

gbc_lblonetwothree.insets=newInsets(0,0,5,0);

gbc_lblonetwothree.gridx=0;

gbc_lblonetwothree.gridy=0;

panel_2.add(currentDirLabel,gbc_lblonetwothree);

JButtonbutton_3=newJButton("\u5168\u9009/\u5168\u4E0D\u9009");

GridBagConstraintsgbc_button_3=newGridBagConstraints();

gbc_button_3.insets=newInsets(0,0,5,5);

gbc_button_3.gridx=3;

gbc_button_3.gridy=1;

panel_2.add(button_3,gbc_button_3);

JButtonbutton=newJButton("\u5220\u9664");

GridBagConstraintsgbc_button=newGridBagConstraints();

gbc_button.insets=newInsets(0,0,5,5);

gbc_button.gridx=4;

gbc_button.gridy=1;

panel_2.add(button,gbc_button);

JButtonbutton_1=newJButton("\u79FB\u52A8\u5230");

button_1.setToolTipText("\u8BF7\u5148\u9009\u62E9\u8981\u79FB\u52A8\u7684\u6587\u4EF6\uFF0C\u7136\u540E\u518D\u9009\u62E9\u4E00\u4E2A\u5DE6\u4FA7\u76EE\u5F55");

GridBagConstraintsgbc_button_1=newGridBagConstraints();

gbc_button_1.insets=newInsets(0,0,5,0);

gbc_button_1.gridx=5;

gbc_button_1.gridy=1;

panel_2.add(button_1,gbc_button_1);

JScrollPanescrollPane_1=newJScrollPane();

GridBagConstraintsgbc_scrollPane_1=newGridBagConstraints();

gbc_scrollPane_1.gridwidth=6;

gbc_scrollPane_1.insets=newInsets(0,0,5,0);

gbc_scrollPane_1.fill=GridBagConstraints.BOTH;

gbc_scrollPane_1.gridx=0;

gbc_scrollPane_1.gridy=2;

panel_2.add(scrollPane_1,gbc_scrollPane_1);

String[]headNames=newString[]{"\u9009\u62E9",

"\u6587\u4EF6\u540D","\u5927\u5C0F\uFF08KB\uFF09",

"\u6587\u4EF6\u65E5\u671F","\u4F5C\u8005","","\u4E0B\u8F7D"};

Object[][]tableDatas=newObject[50][7];

for(inti=0;i<50;i++){

for(intj=0;j<7;j++){

tableDatas[i][j]=null;

}

}

table=newJTable(newDocsTableModel(headNames,tableDatas));

table.getColumnModel().getColumn(0)

.setCellEditor(table.getDefaultEditor(Boolean.class));

table.getColumnModel().getColumn(0)

.setCellRenderer(table.getDefaultRenderer(Boolean.class));

table.getColumnModel().getColumn(0).setPreferredWidth(38);

table.getColumnModel().getColumn

(1).setPreferredWidth(206);

table.getColumnModel().getColumn

(2).setPreferredWidth(53);

table.getColumnModel().getColumn(3).setPreferredWidth(134);

table.getColumnModel().getColumn(4).setPreferredWidth(58);

//hidethe5thcolumn,itcontansthefilepath

table.getTableHeader().getColumnModel().getColumn(5).setMaxWidth(0);//hide

table.getTableHeader().getColumnModel().getColumn(5).setMinWidth(0);//hide

table.getTableHeader().getColumnModel().getColumn(5)

.setPreferredWidth(0);

table.getTableHeader().getColumnModel().getColumn(5).setWidth(0);

table.getColumnModel().getColumn(6)

.setCellRenderer(newButtonCellRenderer());

table.getColumnModel().getColumn(6)

.setCellEditor(newButtonCellEditor(table));

scrollPane_1.setViewportView(table);

totalFilesNumLabel=newJLabel("\u6587\u4EF6\u603B\u6570\uFF1A0");

GridBagConstraintsgbc_totalFilesNumLabel=newGridBagConstraints();

gbc_totalFilesNumLabel.anchor=GridBagConstraints.WEST;

gbc_totalFilesNumLabel.insets=newInsets(0,0,0,5);

gbc_totalFilesNumLabel.gridx=0;

gbc_totalFilesNumLabel.gridy=4;

panel_2.add(totalFilesNumLabel,gbc_totalFilesNumLabel);

curPageLabel=newJLabel(

"\u5F53\u524D\u9875\u6570\uFF1A0|\u603B\u9875\u6570\uFF1A0");

GridBagConstraintsgbc_curPageLabel=newGridBagConstraints();

gbc_curPageLabel.gridwidth=2;

gbc_curPageLabel.insets=newInsets(0,0,0,5);

gbc_curPageLabel.gridx=2;

gbc_curPageLabel.gridy=4;

panel_2.add(curPageLabel,gbc_curPageLabel);

JButtonbtnNewButton=newJButton("\u4E0A\u4E00\u9875");

btnNewButton.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

prePage();

}

});

GridBagConstraintsgbc_btnNewButton=newGridBagConstraints();

gbc_btnNewButton.insets=newInsets(0,0,0,5);

gbc_btnNewButton.gridx=4;

gbc_btnNewButton.gridy=4;

panel_2.add(btnNewButton,gbc_btnNewButton);

JButtonbutton_2=newJButton("\u4E0B\u4E00\u9875");

button_2.addActionListener(newActionListener(){

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 自我管理与提升

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1