package Qution1;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.AncestorEvent;
import javax.swing.event.AncestorListener;
import javax.swing.table.*;
import javax.swing.text.TabExpander;
import javax.swing.tree.*;
public class MyFrame extends JFrame implements ActionListener{
BorderLayout layout = new BorderLayout();
JMenuBar menu;
JSplitPane splitpane;
JTree tree;
MyTableModel tablemodel=new MyTableModel();
MyRender myrender=new MyRender(true);
JPanel tablepanel;
MyFrame() {
tree=getTree();
menu=getMenu();
splitpane=getSplitPane();
this.setBounds(0, 0, 800, 600);
this.setLayout(layout);
this.setTitle("学生成绩管理系统v1.0");
this.setJMenuBar(menu);
this.add(splitpane, layout.CENTER);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
JSplitPane getSplitPane() {
JSplitPane splitPane = new JSplitPane();
splitPane.setOneTouchExpandable(true);
splitPane.setDividerSize(10);
splitPane.setDividerLocation(120);
splitPane.setLeftComponent(tree);
splitPane.setRightComponent(getTabbedPane());
return splitPane;
}
JTree getTree() {
DefaultMutableTreeNode jsjxy, j07, j04, j05, j06;
jsjxy = new DefaultMutableTreeNode("计算机学院");
j04 = new DefaultMutableTreeNode("04级");
j05 = new DefaultMutableTreeNode("05级");
j06 = new DefaultMutableTreeNode("06级");
j07 = new DefaultMutableTreeNode("07级");
jsjxy.add(j04);
jsjxy.add(j05);
jsjxy.add(j06);
jsjxy.add(j07);
JTree tree = new JTree(jsjxy);
return tree;
}
JTabbedPane getTabbedPane() {
JButton openFile=new JButton("打开文件");
JCheckBox checkbox=new JCheckBox("复选按钮");
JRadioButton radiobt=new JRadioButton("单选按钮");
JToggleButton togglebutton=new JToggleButton("双态按钮");
JComboBox list=new JComboBox();
list.addItem("南昌");
list.addItem("上海");
list.addItem("北京");
list.addItem("广州");
list.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "java", "消息框", JOptionPane.ERROR_MESSAGE);
}
});
JLabel javalable=new JLabel("JAVA");
javalable.setBackground(Color.red);
JLabel cpluslable=new JLabel("C++");
cpluslable.setBackground(Color.green);
JPanel kj=new JPanel();
kj.setLayout(new FlowLayout());
openFile.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e) {
JFileChooser file=new JFileChooser();
file.showSaveDialog(tablepanel);
}
});
kj.add(openFile);
kj.add(togglebutton);
kj.add(checkbox);
kj.add(radiobt);
kj.add(list);
kj.add(javalable);
kj.add(cpluslable);
JTabbedPane tabbed = new JTabbedPane(JTabbedPane.TOP);
tablepanel=getTablePane();
tabbed.add("表格", tablepanel);
tabbed.add("控件",kj);
tabbed.add("折线", new JPanel());
tabbed.add("饼型", new JPanel());
return tabbed;
}
JMenuBar getMenu() {
JMenuBar menubar = new JMenuBar();
JMenu fmenu = new JMenu("文件(F)");
JMenu hmenu = new JMenu("帮助(H)");
JMenuItem exit = new JMenuItem("退出");
JMenuItem open = new JMenuItem("打开");
JMenuItem save = new JMenuItem("保存");
JMenuItem about = new JMenuItem("关于");
fmenu.setMnemonic('F');
menubar.add(fmenu);
fmenu.add(open);
fmenu.add(save);
fmenu.add(exit);
exit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dispose();
System.exit(0);
}
});
exit.addActionListener(this);
menubar.add(hmenu);
hmenu.add(about);
hmenu.setMnemonic('H');
about.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
InitAboutDlg();
}
});
return menubar;
}
void InitAboutDlg() {
JDialog aboutDlg=new JDialog();
JLabel label = new JLabel("欢迎使用本软件");
aboutDlg.setTitle("关于本软件");
aboutDlg.setBounds(100, 100, 300, 250);
aboutDlg.setModal(true);
aboutDlg.add(label);
aboutDlg.setVisible(true);
}
JPanel getTablePane()
{
JPanel tablepane=new JPanel();
final JTable table=new JTable(tablemodel);
DefaultTableCellRenderer dtcr=new DefaultTableCellRenderer();
dtcr.setHorizontalAlignment(DefaultTableCellRenderer.CENTER);
table.getColumnModel().getColumn(2).setCellEditor(new DefaultCellEditor(new JCheckBox()));
table.getColumnModel().getColumn(3).setCellEditor(new DefaultCellEditor(new JComboBox()));
table.getColumn("考试成绩").setCellRenderer(new MyRender(false));
table.setPreferredScrollableViewportSize(new Dimension(600,400));
JScrollPane scrollPane = new JScrollPane(table);
tablepane.add(scrollPane);
return tablepane;
}
public void actionPerformed(ActionEvent e) {
JFileChooser file=new JFileChooser();
file.showOpenDialog(this);
}
}
java swing控件演示
5星 · 超过95%的资源 需积分: 10 153 浏览量
2008-05-11
10:24:43
上传
评论
收藏 12KB RAR 举报
cdever
- 粉丝: 6
- 资源: 7