저는 Java를 처음 사용하고 프로젝트에서 작업하기가 매우 쉽습니다. 내 메인 메뉴를 만들기위한 테스트로서, 나는 JFrame과 파워 랜저 사진을 실험 해왔다. 내 문제는 여러 번 시도해 보았고 내 창 왼쪽에 내 놀이 및 도움말 버튼을 가져 오는 데 많은 시간을 소비했기 때문입니다. 나는 4의 눈금을 만들고 빈 레이블을 넣으려고했지만 그냥 작동하지 않습니다. 이 내 코드입니다 :JFrame에서 배경 이미지를 가질 때 JButton을 왼쪽으로 이동
package be.kdg.AngryTanksKlad;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.io.IOException;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.*;
public class Main {
public static void main(String[] args) throws IOException {
final Image image = ImageIO.read(new URL("http://www.modernmom.com/sites/default/files/images/Power%2BRangers%2BPowerRangersMMPR.jpg"));
final JFrame frame = new JFrame();
frame.add(new ImagePanel(image));
frame.setSize(800, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
@SuppressWarnings("serial")
class ImagePanel extends JPanel {
private Image image;
private boolean tile;
private JPanel menu = new JPanel(new FlowLayout(FlowLayout.LEFT));
ImagePanel(Image image) {
this.image = image;
this.tile = false;
final JButton play = new JButton("PLAY");
final JButton help = new JButton("HELP");
final JLabel empty = new JLabel();
}
menu.setLayout(new GridLayout(4,4));
menu.add(empty);
menu.add(play);
menu.add(help);
add(menu,BorderLayout.CENTER);
menu.setOpaque(false);
setVisible(true);
};
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
if (tile) {
int iw = image.getWidth(this);
int ih = image.getHeight(this);
if (iw > 0 && ih > 0) {
for (int x = 0; x < getWidth(); x += iw) {
for (int y = 0; y < getHeight(); y += ih) {
g.drawImage(image, x, y, iw, ih, this);
}
}
}
} else {
g.drawImage(image, 0, 0, getWidth(), getHeight(), this);
}
}
}
1) 빈칸 한 줄의 공백은 소스 코드에서 항상 * 충분합니다. '{'또는'}'앞의 공백 행은 일반적으로 중복됩니다. 2) 추가 너비/높이로 최소 크기 및 (크기 조정이 가능한 경우) 표시되어야하므로 GUI의 ASCII 아트 (또는 간단한 그림이있는 이미지)를 제공하십시오. –
.. 코드가 깔끔하게 컴파일되지 않습니다. : ( –
미안 해요, 아직 자바 마법사가 아닙니다;) –