问题描述
我开始开发 Java 已经很久了。
此代码由 Eclipse 运行。当我运行这段代码 javaSE-1.8 时,只出现 mimage,当我删除并运行 'paintComponenets(g);' 时,退出按钮和开始按钮出现,而 mimage 消失。我认为“paintComponents”是问题所在。我该如何解决这个问题
public class Mainscreen extends JFrame {
private Image screenImage;
private Graphics screenGraphics;
private Image mImage = new
ImageIcon(Main.class.getResource("../img/unnamed.jpg")).getimage();
private ImageIcon quitEnter = new
ImageIcon(Main.class.getResource("../img/startButtonBasic1.jpg"));
private ImageIcon quitBasic = new
ImageIcon(Main.class.getResource("../img/startButtonEntered1.jpg"));
private ImageIcon startEnter = new
ImageIcon(Main.class.getResource("../img/startButtonBasic.jpg"));
private ImageIcon startBasic = new
ImageIcon(Main.class.getResource("../img/startButtonEntered.jpg"));
private JButton quitButton = new JButton(quitBasic);
private JButton startButton = new JButton(startBasic);
public Mainscreen() {
setTitle("Main");
setSize(900,900);
setResizable(false);
setLocationRelativeto(null);
setLayout(null);
setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
startButton.setBounds(40,200,400,100);
startButton.setBorderPainted(false);
startButton.setContentAreaFilled(false);
startButton.setFocusPainted(false);
startButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
startButton.setIcon(startEnter);
startButton.setCursor(new Cursor(Cursor.HAND_CURSOR));
}
public void mouseExited(MouseEvent e) {
startButton.setIcon(startBasic);
startButton.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
}
public void mousepressed(MouseEvent e) {
//select
}
});
add(startButton);
quitButton.setBounds(40,500,100);
quitButton.setBorderPainted(false);
quitButton.setContentAreaFilled(false);
quitButton.setFocusPainted(false);
quitButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
quitButton.setIcon(quitEnter);
quitButton.setCursor(new Cursor(Cursor.HAND_CURSOR));
}
public void mouseExited(MouseEvent e) {
quitButton.setIcon(quitBasic);
quitButton.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
}
public void mousepressed(MouseEvent e) {
try {
Thread.sleep(1000);
}
catch(InterruptedException ex){
ex.printstacktrace();
}
System.exit(0);
}
});
add(quitButton);
}
public void paint(Graphics g) {
screenImage = createImage(Main.SCREEN_WIDTH,Main.SCREEN_HEIGHT);
screenGraphics = screenImage.getGraphics();
screenDraw(screenGraphics);
g.drawImage(screenImage,null);
}
public void screenDraw(Graphics g) {
g.drawImage(mImage,null);
paintComponents(g);
this.repaint();
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)