//当前目录下要有一个p.jpg文件
//压缩这个文件使它的大小尽量小,最好只有几十KB
//否则无法显示背景图片
package java525
import java.awt.*
import java.awt.event.*
import javax.swing.*
public class MainWindow extends JFrame implements ActionListener {
JMenuBar menuBar//菜单条
JMenu menu1, menu2, menu3, menu4//菜单
JMenuItem m11, m12, m13//菜单项
JMenuItem m21, m22, m23
JMenuItem m31, m32, m33
JMenuItem m41, m42
Image pic
public static void main(String[] args) {
new MainWindow()
}
public MainWindow() {
pic=Toolkit.getDefaultToolkit().getImage("p.jpg")
MediaTracker t=new MediaTracker(this)
t.addImage(pic,1)
try
{
t.waitForID(1)
}
catch(Exception e)
{
}
//createMenu()
setTitle("学生管理系统")//设置窗口标题
setIconImage((new ImageIcon("icon.gif")).getImage())//设置图标
setSize(600, 400)//设置窗口大小
Dimension size = Toolkit.getDefaultToolkit().getScreenSize()//取屏幕大小
setLocation((size.width - getWidth()) / 2, (size.height - getHeight()) / 2)
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE)//设置关闭行为
setVisible(true)//使窗口可见
//this.setExtendedState(JFrame.MAXIMIZED_BOTH)
}
public void actionPerformed(ActionEvent e) {
}
public void paint(Graphics g) {
super.paint(g)
g.drawImage(pic,0,0,null)
}
}
可以新建个面板,在面板里放入带图片的JLabel,填满面板即可。JPanel jp = new JPanel()//新建面板
jp.setLayout(new FlowLayout()) //设置面板布局
ImageIcon ii=new ImageIcon(getClass().getResource("/Picture/i.jpg"))
JLabel uppicture=new JLabel(ii)//往面板里加入JLabel
this.setVisible(true)
你可以用Jlabel或者或者AbstractButton的子类来达到这个目的.下面给你一点用Jlabel的代码 JLabel label = new JLabel()label.setIcon(new ImageIcon("图片路径"))这样就可以了,AbstractButton的方法也是一样的,,都是setIcon如果要把图片放在中间,那么用下面的代码: label.setHorizontalAlignment(SwingUtilities.CENTER)
label.setVerticalAlignment(SwingUtilities.CENTER)这样,图片就在中间了.上面的代码,第一行是设置label的水平对齐为剧中,第二行是设置垂直对齐为剧中. 还有一种方法是就是继承JComponent类重写paint方法,自己绘制图片,但是这种方法对你的需求来说,是完全没必要的. 关于图片相关的信息,你可以用 Toolkit.getDefaultToolkit().getImage("图片路径")来创建一张只读图片,要注意的是,这种方式获得的图片是不可修改的,如果要获得可以修改的图片,你可以用ImageIO类来创建BufferedImage. 希望这些信息可以帮到你.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)