完全可以,程序如下,这里把图片和程序放在一块,不放在一起的话。
代码Icon icon=new ImageIcon("1.gif")//要给出图片的完整的路径。
图片资源:
import java.awt.*
import javax.swing.*
public class JFrameTest extends JFrame{
/**
* @param args
*/
private static final long serialVersionUID=1L
JFrameTest(String name){
super(name)
this.setSize(200, 200)//设置窗口大小。
this.setBackground(Color.DARK_GRAY)//设置背景颜色。
this.setLayout(new FlowLayout())//设置顺序布局。
Container con=this.getContentPane()//获取容器。
//设置按钮,为按钮添加图片。
Icon icon=new ImageIcon("1.gif")//根据路径取出图片。
JButton button=new JButton("带图片的按钮",icon)
con.add(button)//添加按钮。
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE)//设置默认的关闭方式。
}
public static void main(String[] args) {
JFrameTest test=new JFrameTest("按钮")
test.setVisible(true)
}
}
运行结果:
可以把图片加入到JLabel里面;JLabel有这样一个方法
JLabel(String text,int horizontalAlignment)
创建具有指定文本和水平对齐方式的
JLabel 实例。
import java.awt.*import java.awt.event.*
import java.io.*
import javax.swing.*
public class ImageViewer
{
public static void main(String[] args)
{
JFrame frame = new ImageViewerFrame()
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
frame.show()
}
}
class ImageViewerFrame extends JFrame
{
public ImageViewerFrame()
{
setTitle("ImageViewer")
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT)
label = new JLabel()
Container contentPane = getContentPane()
contentPane.add(label)
chooser = new JFileChooser()
chooser.setCurrentDirectory(new File("."))
JMenuBar menuBar = new JMenuBar()
setJMenuBar(menuBar)
JMenu menu = new JMenu("File")
menuBar.add(menu)
JMenuItem openItem = new JMenuItem("Open")
menu.add(openItem)
openItem.addActionListener(new
ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
int r = chooser.showOpenDialog(null)
if(r == JFileChooser.APPROVE_OPTION)
{
String name
= chooser.getSelectedFile().getPath()
label.setIcon(new ImageIcon(name))
}
}
})
JMenuItem exitItem = new JMenuItem("Exit")
menu.add(exitItem)
exitItem.addActionListener(new
ActionListener()
{
public void actionPerformed(ActionEvent event)
{
System.exit(0)
}
})
}
private JLabel label
private JFileChooser chooser
private static final int DEFAULT_WIDTH = 300
private static final int DEFAULT_HEIGHT = 400
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)