import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.imageio.*;
import javax.swing.*;public class ImageOne {
public static void main(String[] args) {
ImageFrame f = new ImageFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
class ImageFrame extends JFrame {
public ImageFrame() {
setTitle("Image");
setSize(600, 400);
ImagePanel ip = new ImagePanel();
add(ip);
}
}
class ImagePanel extends JPanel {
private Image image;
public ImagePanel() {
try {
image = ImageIO.read(new File("ball.png"));
}
catch(IOException e) {
e.printStackTrace();
}
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
if(image == null)
return;
int iw = image.getWidth(this);
int ih = image.getHeight(this);
g.drawImage(image, 0, 0, null);
for(int i = 0; i*iw <= getWidth(); i++) {
for(int j = 0; j*ih <= getHeight(); j++) {
if(i + j > 0) {
g.copyArea(0, 0, iw, ih, i*iw, j*ih);
}
}
}
}
}
我设置的是600,400的 程序界面 为什么出来的程序界面是可以变大变小的呢?
我照书上写的 书上的图上没有最大最小化的按钮啊 是不是跟JAVA版本有关系?
import java.awt.event.*;
import java.io.*;
import javax.imageio.*;
import javax.swing.*;public class ImageOne {
public static void main(String[] args) {
ImageFrame f = new ImageFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
class ImageFrame extends JFrame {
public ImageFrame() {
setTitle("Image");
setSize(600, 400);
ImagePanel ip = new ImagePanel();
add(ip);
}
}
class ImagePanel extends JPanel {
private Image image;
public ImagePanel() {
try {
image = ImageIO.read(new File("ball.png"));
}
catch(IOException e) {
e.printStackTrace();
}
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
if(image == null)
return;
int iw = image.getWidth(this);
int ih = image.getHeight(this);
g.drawImage(image, 0, 0, null);
for(int i = 0; i*iw <= getWidth(); i++) {
for(int j = 0; j*ih <= getHeight(); j++) {
if(i + j > 0) {
g.copyArea(0, 0, iw, ih, i*iw, j*ih);
}
}
}
}
}
我设置的是600,400的 程序界面 为什么出来的程序界面是可以变大变小的呢?
我照书上写的 书上的图上没有最大最小化的按钮啊 是不是跟JAVA版本有关系?
setResizable(false);
import java.awt.image.*;
import java.awt.event.*;
import java.io.*;
import javax.imageio.*;
import javax.swing.*;public class ImageOne {
public static void main(String[] args) {
ImageFrame f = new ImageFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
class ImageFrame extends JFrame {
public ImageFrame() {
super("Image");
setSize(600, 400);
setUndecorated( true ); // 去掉标题栏
setResizable(false); //
setDefaultLookAndFeelDecorated(true);
getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG);
ImagePanel ip = new ImagePanel();
add(ip);
}
}
class ImagePanel extends JPanel {
private Image image;
public ImagePanel() {
try {
image = ImageIO.read(new File("ball.png"));
}
catch(IOException e) {
e.printStackTrace();
}
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
if(image == null)
return;
int iw = image.getWidth(this);
int ih = image.getHeight(this);
Graphics2D g2d = (Graphics2D)g;
TexturePaint texture = new TexturePaint((BufferedImage)image,new Rectangle(0,0,iw,ih));
g2d.setPaint(texture);
g2d.fillRect(0,0,getWidth(),getHeight());
}
}
这是为什么呢?