界面方面的问题 首先是要在JFrame窗体上画条直线,是怎么处理的?其次还有个问题是,在窗体上面添加一张背景图片,是怎么添加的?麻烦各位抽空解决下这个问题,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 孩子,回头是岸,学JAVA EE或者安卓吧,JAVA SE已经死了 import javax.swing.*;import java.awt.*;public class Hello extends JPanel { private Image backgroundImage = null; public Hello() { String path = "/Users/Biao/Desktop/x.png"; // 背景图片的地址 backgroundImage = new ImageIcon(path).getImage(); // 加载背景图片 } @Override protected void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2d = (Graphics2D) g; g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); // 绘制背景 g2d.drawImage(backgroundImage, 0, 0, getWidth(), getHeight(), null); // 画线 g2d.setColor(Color.RED); g2d.drawLine(0, 0, getWidth(), getHeight()); } private static void createGuiAndShow() { JFrame frame = new JFrame(""); frame.getContentPane().add(new Hello()); // Set frame's close operation and location in the screen. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400, 400); frame.setLocationRelativeTo(null); frame.setVisible(true); } public static void main(String[] args) { createGuiAndShow(); }} 用的JLable直接在上面加图片岂不是更好 在jframe上画line 和 图片的例子import javax.swing.*;import java.io.*;import java.awt.image.*;import java.awt.*;import java.net.URL;import javax.imageio.ImageIO;public class DrawOnFrame extends JFrame{ //要画的图片 BufferedImage img = null; public DrawOnFrame() { setBounds(0,0,800,600); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); //我们用URL得到二楼的头像图片, try { URL url = new URL("http://avatar.profile.csdn.net/0/3/5/1_leo2115339.jpg"); img = ImageIO.read(url.openStream()); } catch (Exception e) { e.printStackTrace(); } repaint(); } //在paintComponent里面画 @Override public void paint(Graphics g) { //super.paintComponent(g); //画直线的起点 和 终点 if (img!=null) { g.setColor(Color.RED); //任意图画最先话,就是背景,和油画一样,一层一层 g.drawImage(img,100,100,img.getWidth(),img.getHeight(),null); g.drawLine(100,100,300,300); } } public static void main(String[] args) { new DrawOnFrame(); System.out.println("Hello World!"); }} drawImage 、drawLine 建议去看swing的API 这SE还是先得学学的吧。乃不要打击人家的信心嘛。虽然我也觉得GUI没太大市场。 [请教]做书上一例题遇到的问题(附Java源码) 学过C语言 c++,学java看什么书好? 求助?小程序编译不过?? 请教 c++到java的类型转换问题! 小弟初学JAVA求教各位高手线程问题! (100分)怎么样删除JTable的选定的多行? 大虾给偶看看这小段代码 多线程问题,大家帮看看这个==生产者消费者程序 求java实现的电梯算法(越完整越好,只是用来参考) java 日历 数组 java.lang.NullPointerException该处理 调用paint时图片没有了
import java.awt.*;public class Hello extends JPanel {
private Image backgroundImage = null; public Hello() {
String path = "/Users/Biao/Desktop/x.png"; // 背景图片的地址
backgroundImage = new ImageIcon(path).getImage(); // 加载背景图片
} @Override
protected void paintComponent(Graphics g) {
super.paintComponent(g); Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); // 绘制背景
g2d.drawImage(backgroundImage, 0, 0, getWidth(), getHeight(), null); // 画线
g2d.setColor(Color.RED);
g2d.drawLine(0, 0, getWidth(), getHeight());
} private static void createGuiAndShow() {
JFrame frame = new JFrame(""); frame.getContentPane().add(new Hello()); // Set frame's close operation and location in the screen.
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 400);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
} public static void main(String[] args) {
createGuiAndShow();
}
}
import javax.swing.*;
import java.io.*;
import java.awt.image.*;
import java.awt.*;
import java.net.URL;
import javax.imageio.ImageIO;public class DrawOnFrame extends JFrame
{
//要画的图片
BufferedImage img = null;
public DrawOnFrame()
{
setBounds(0,0,800,600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
//我们用URL得到二楼的头像图片,
try
{
URL url = new URL("http://avatar.profile.csdn.net/0/3/5/1_leo2115339.jpg");
img = ImageIO.read(url.openStream()); }
catch (Exception e)
{
e.printStackTrace();
} repaint();
} //在paintComponent里面画
@Override
public void paint(Graphics g)
{
//super.paintComponent(g);
//画直线的起点 和 终点
if (img!=null)
{
g.setColor(Color.RED);
//任意图画最先话,就是背景,和油画一样,一层一层
g.drawImage(img,100,100,img.getWidth(),img.getHeight(),null);
g.drawLine(100,100,300,300);
}
} public static void main(String[] args)
{
new DrawOnFrame();
System.out.println("Hello World!");
}
}