📄 serpanelframe.java
字号:
/* * PanelFrame.java * 参见教程303页 示例程序10-7 * Created on 2005年6月20日, 下午9:02 * * @author Liu Yi ( http://www.liu-yi.net ) */package jbookch10;import java.awt.*;import java.io.*;import javax.swing.*;import javax.imageio.*;import java.net.*;public class SerPanelFrame extends JFrame { /** Creates a new instance of PanelFrame */ public SerPanelFrame(int width,int height) { setSize(width,height);//设置框架大小 setTitle("Frame主窗体");//设置框架标题 //将框架显示在屏幕正中 Toolkit kit= Toolkit.getDefaultToolkit(); Dimension screenSize=kit.getScreenSize(); int x=(screenSize.width-width)/2; int y=(screenSize.height-height)/2; setLocation(x,y);//设置框架位置 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } private void serializePanel(ContentPanel p,String filename){ try { FileOutputStream outStream= new FileOutputStream(filename); ObjectOutputStream out= new ObjectOutputStream(outStream); out.writeObject(p); out.flush(); out.close(); } catch(Exception e) { System.out.println(e); } } public static void main(String args[]) { SerPanelFrame frame=new SerPanelFrame(300,200); ContentPanel contentPanel=new ContentPanel( ); //把其它组件添加到面板中; contentPanel.add(new JButton("OK")); frame.setContentPane(contentPanel); frame.setVisible(true); frame.serializePanel(contentPanel,"MyPanel.ser"); }}class ContentPanel extends JPanel{ //在面板中绘制图文; public void paintComponent(Graphics g) { super.paintComponent(g); g.drawOval(120, 60, 150, 70);//绘制一个椭圆 try{ g.drawString("这是一个面板!",160,100);//绘制一行文字 Image image=ImageIO.read(new URL(urlname)); g.drawImage(image,30,30,null);//绘制一幅图片 } catch ( IOException e ){ g.drawString("加载图形失败!",100,100); } } String urlname="http://www.liu-yi.net/HTML/IMAGE/stamp_yi.JPG"; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -