import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;import javax.swing.*;public class 学生界面 extends JFrame implements ActionListener {
/**
 * 1.管理员操作界面 2.实现学生信息的添加、删除、修改 3.实现教师信息的添加、删除、修改
 * 4.管理所用用户的密码、当用户忘记密码后,可以直接修改密码
 */
private static final long serialVersionUID = -7967449808735277456L; JMenuBar menubar;
Dimension frm1;
int qylqyl = 0;
    String qyl=null;
JMenuItem item1, item2, item3, item4, item5, item6, item7, item8; JMenu menu1, menu2, menu3; JInternalFrame interFram;
 JDesktopPane desktopPane;
public 学生界面(String s) {
setTitle("学生操作界面");
qyl=s;


//添加背景图片-问题出现在添加背景图片这里,加啦背景颜色,内窗口就不出来啦,哪个哥们帮该下 好么---------
//setLayout(null);
//setContentPane(new MyPanel());
//validate();

Container contentPane = this.getContentPane();
desktopPane = new JDesktopPane(); 
contentPane.add(desktopPane);


//分配变量的空间以及添加组件
menubar = new JMenuBar();
menu1 = new JMenu("查询");
menu2 = new JMenu("选课");
item1 = new JMenuItem("查询已选课程");
item2 = new JMenuItem("查询修读成绩");
item3 = new JMenuItem("添加课程");
item4 = new JMenuItem("删除课程");
menu1.add(item1);
menu1.addSeparator();
menu1.add(item2);
menu2.add(item3);
menu2.addSeparator();
menu2.add(item4);
menubar.add(menu1);
menubar.add(menu2);
setJMenuBar(menubar);
//添加事件监听
item1.addActionListener(this);
item2.addActionListener(this);
item3.addActionListener(this);
item4.addActionListener(this);
//设置窗口的大小
setSize(800, 500);
setVisible(true); 
// //得到屏幕的大小
Dimension scr1 = Toolkit.getDefaultToolkit().getScreenSize();
// //得到窗口的大小
     frm1 = this.getSize();
// //将窗口放在屏幕的中央
setLocation((scr1.width - frm1.width) / 2,
(scr1.height - frm1.height) / 2 - 18);
// setVisible(true);
// //validate();
// //修改关闭按钮的事件
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
} public static void main(String[] args) {

new 学生界面("200881010202"); }
//设置内部窗体
public void addStudentRecord(String sa) {

System.out.println("--------窗口生成----------------");

JInternalFrame internalFrame = new JInternalFrame(
        sa, true, true, true, true);           internalFrame.setLocation( 20,20);
        internalFrame.setSize(300,200); 
        internalFrame.setVisible(true);
                 //取得JInternalFrame的Content Pane,用以加入新的组件。
        Container icontentPane = internalFrame.getContentPane();
        JTextArea textArea = new JTextArea();
        JButton b = new JButton("内部按钮");
        icontentPane.add(textArea,"Center");
        icontentPane.add(b,"South");
        //将JInternalFrame加入JDesktopPane中
        desktopPane.add(internalFrame);           try {
         internalFrame.setMaximum(true);
         internalFrame.setSelected(true);
         internalFrame.show();
         internalFrame.setSelected(true);
} catch (PropertyVetoException pe) {
// TODO Auto-generated catch block
pe.printStackTrace();



}
//事件响应代码
public void actionPerformed(ActionEvent e) {
// TODO 自动生成方法存根
if(e.getSource()==item1){

addStudentRecord("已选课程");
}
}
//引入外部图片
private class MyPanel extends JPanel {
/**
 * 
 */
private static final long serialVersionUID = 5401710430586013667L; public void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D) g;
super.paintComponent(g);
Image img = Toolkit.getDefaultToolkit().getImage(
"src/picture/1.gif");
g2.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this);
}
}



class  SC extends JPanel{ /**
 * 
 */
private static final long serialVersionUID = -7784382051378052723L;
Connection con;
Statement sql;
ResultSet rs;
JTable table;
JScrollPane scroll;
Object name[] = { "学号", "姓名", "性别", "年龄", "系别" };
String rili[][] = new String[100][5];
SC(){
try {
con = DriverManager.getConnection("jdbc:odbc:qyl", "", "");
sql = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
System.out.println(qyl);
rs = sql.executeQuery("select * from SC WHERE SNO = "+"'"+qyl+"'");
int i=0;
while(rs.next()){
rili[i][0]=rs.getString(2);
rili[i][1]=rs.getString(3);
rili[i][2]=rs.getString(4);
System.out.println(rili[i][2]);
i++;
}
table = new JTable(rili, name);
table.setRowSelectionAllowed(false); // 取消整行选中
scroll = new JScrollPane(table); // 放到容器中
System.out.println("jgklajgl");
add(scroll);
}catch(SQLException e){
System.out.println(e);
e.printStackTrace();
}
}
}
}

解决方案 »

  1.   

    没ide。不好帮你调……应该是属性一些设置错了。或者面版的垂直分布错了。
      

  2.   

    加成 desktopPane.setBackground(Color.BLACK); 可以显示的 是这意思吗
      

  3.   

    你的QQ多少呢:我的1461606217。
    我要要加背景图片啊。。//添加背景图片-问题出现在添加背景图片这里,加啦背景颜色,内窗口就不出来啦,哪个哥们帮该下 好么---------
    //setLayout(null);
    //setContentPane(new MyPanel());
    //validate();这个被我注释啦。
    加这个的话内部窗口就没有啊了
      

  4.   

    设置背景图片可以用JLabel 
    JLabel backLabel = new JLabel();
    ImageIcon icon= new ImageIcon(path);
    backLabel.setIcon(icon);
    backLabel.setSize(,);
    backLabel.setVerticalAlignment(SwingConstants.TOP);
    backLabel.setHorizontalAlignment(SwingConstants.CENTER);
    desktopPane.add(backLabel, new Integer(Integer.MIN_VALUE));
    试下 哦