📄 formgui.java
字号:
package Irtx;
import Irtx.databaseRtx;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.tree.*;
import javax.swing.event.*;
import javax.swing.border.*;
import javax.swing.table.*;
/**
* Swing 组件测试程序
* 测试IMrtx所有组件及其相应的事件
* @author 曹军 2006.3.25 晚23:14
* @link http://spaces.msn.com/lncaojun
* @link lncaojun@gmail.com
*/
public class formGUI extends JFrame
{
private static String message = "恭喜,数据库连接正常!";
/**
* 主模块,初始化所有子模块,并设置主框架的相关属性
*/
public formGUI()
{
// 初始化所有模块
MenuTest menuTest = new MenuTest();
CenterPanel centerPanel = new CenterPanel();
// 设置主框架的布局
Container c = this.getContentPane();
// c.setLayout(new BorderLayout())
this.setJMenuBar(menuTest);
//c.add(leftPanel,BorderLayout.WEST);
//c.add(rightPanel,BorderLayout.EAST);
c.add(centerPanel,BorderLayout.CENTER);
//c.add(bottomPanel,BorderLayout.SOUTH);
// 利用无名内隐类,增加窗口事件
this.addWindowListener(new WindowAdapter()
{
public void WindowClosing(WindowEvent e)
{
// 释放资源,退出程序
dispose();
System.exit(0);
}
});
setSize(800,600);
setTitle("数据提取演示");
// 隐藏frame的标题栏,此功暂时关闭,以方便使用window事件
// setUndecorated(true);
setLocation(50,50);
this.setVisible(true);
}
////////////////////////////////////////////////////////////////////////////
/**
* 菜单栏处理模块
* JMenuBar --+
* --JMenu--+
* --JMenuItem --ActionListener
*
*/
class MenuTest extends JMenuBar
{
private JDialog aboutDialog;
/**
* 菜单初始化操作
*/
public MenuTest()
{
//databaseRtx saveData=new databaseRtx();
JMenu fileMenu = new JMenu("文件");
JMenuItem saveMenuItem = new JMenuItem("保存",KeyEvent.VK_S);
JMenuItem exitMenuItem = new JMenuItem("退出",KeyEvent.VK_E);
JMenu dataMenu = new JMenu("数据库");
JMenuItem joinMenuItem = new JMenuItem("链接数据库",KeyEvent.VK_D);
JMenu aboutMenu = new JMenu("帮助");
JMenuItem aboutMenuItem = new JMenuItem("关于...",KeyEvent.VK_A);
fileMenu.add(saveMenuItem);
fileMenu.add(exitMenuItem);
dataMenu.add(joinMenuItem);
aboutMenu.add(aboutMenuItem);
this.add(fileMenu);
this.add(dataMenu);
this.add(aboutMenu);
aboutDialog = new JDialog();
initAboutDialog();
// 菜单事件
saveMenuItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
}
});
exitMenuItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
dispose();
System.exit(0);
}
});
aboutMenuItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
// "关于"对话框的处理
aboutDialog.setVisible(true);
}
});
joinMenuItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println(message);
System.out.println( "创建连接对像成功!" );
}
});
}
/**
* 返回关于对话框
*/
public JDialog getAboutDialog()
{
return aboutDialog;
}
/**
* 设置"关于"对话框的外观及响应事件,操作和JFrame一样都是在内容
* 框架上进行的
*/
public void initAboutDialog()
{
aboutDialog.setTitle("关于");
Container con =aboutDialog.getContentPane();
// Swing 中使用html语句
Icon icon = new ImageIcon("smile.gif");
JLabel aboutLabel = new JLabel("<html><b><font size=5>"+
"<center>数据表转换器"+"<br>作者:曹军&关琦",icon,JLabel.CENTER);
//JLabel aboutLabel = new JLabel("Swing 组件大全简体版!",icon,JLabel.CENTER);
con.add(aboutLabel,BorderLayout.CENTER);
aboutDialog.setSize(450,225);
aboutDialog.setLocation(300,300);
aboutDialog.addWindowListener(new WindowAdapter()
{
public void WindowClosing(WindowEvent e)
{
dispose();
}
});
}
}
////////////////////////////////////////////////////////////////////////////
/**
* 中间层模块,继承JPanel,初始化页签,并在页签中设置表格,
* JPanel--+
* -JTabbedPane--+
* --Draw --JTable -JTextAreas -JText --JPopupMenu
*/
class CenterPanel extends JPanel
{
public CenterPanel()
{
//创建定层表容器,标签置左
JTabbedPane tab = new JTabbedPane(JTabbedPane.TOP);
//创建容器,改变这里的参数可以改变显示模式
JPanel pane = new JPanel(new GridLayout(1, 1));
JPanel pane1 = new JPanel(new GridLayout(1, 1));
JPanel pane2 = new JPanel(new GridLayout(1, 1));
//创建分隔板,创建多表分页
//JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT,pane,pane1);
JTable table,table1,table2;
boolean flag=false;
//提取数据表中数据
databaseRtx rtxData=new databaseRtx();
//插入到rtx_SendIM表中
int count=0;
int temp=rtxData.returnRowCount(rtxData.rowCountSQLStr);
if(count<temp)
{
rtxData.insRtx_SendIM(rtxData.insSQLStr);
rtxData.redRtx_SendIM(rtxData.redSQLStr);
count=temp;
}
//rtxData.insRtx_SendIM();
//创建表(二维数据表,表头)
//注意,此处的参数,需要传进来
table = new JTable(rtxData.rtxSendIMdata,rtxData.colHeads);
table1 = new JTable(rtxData.rtxSendIMdata,rtxData.colHeads);
table2 = new JTable(rtxData.rtxSendIMdata,rtxData.colHeads);
//创建带滚动条的容器,并把表加入该容器,再把滚动条容器加入
//面板容器,风格为居中。
//pane1.add(pane);
pane.add(new JScrollPane(table),BorderLayout.BEFORE_FIRST_LINE);
pane1.add(new JScrollPane(table1),BorderLayout.BEFORE_FIRST_LINE);
pane2.add(new JScrollPane(table2),BorderLayout.BEFORE_FIRST_LINE);
//添加横向滚动条
//table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
//table.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);
//table.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
//table.setAutoResizeMode(JTable.AUTO_RESIZE_NEXT_COLUMN);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);//该条有效
table1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);//该条有效
table2.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);//该条有效
//添加表名
tab.addTab("rtx_SendIM",pane);
tab.addTab("rtx_User_Info",pane1);
tab.addTab("rtx_触发器交换表",pane2);
//tab.addTab("文本演示1",splitPane1);
//表大小
tab.setPreferredSize(new Dimension(800,400));
this.add(tab);
//显示该表
this.setEnabled(true);
}//构建函数
/*
public void showHorScroll(boolean show)
{
if (show)
{
setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
}
else
{
setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
}
}//函数showHorScroll
*/
}//class CenterPanel
}//class formGUI
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -