[英]Re-position and change buttons to images?
我正在尝试重新定位按钮,使其位于框架的右下角,但是我尝试执行的所有操作(如setLocation和setBounds)似乎都没有作用。 另外,如何将按钮更改为图像? 因此它仍然是一个按钮,但是会显示图像。
package TrainCounselor;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Start extends JPanel {
public Start() {
// Game Properties
setOpaque(false);
setLayout(new FlowLayout());
}
public void paint(Graphics g) {
Image a = Toolkit
.getDefaultToolkit()
.getImage(
"C:/Users/Mel/workspace/camptycoon/javagame/src/javagame/background1.png");
g.drawImage(a, 0, 0, this);
super.paint(g);
}
public static void main(String[] args) {
JFrame myFrame = new JFrame("Put Image");
JButton startButton = new JButton("Start");
startButton.setLayout(null);
startButton.setLocation(50, 50);
Start c = new Start();
c.add(startButton);
myFrame.add(c);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setTitle("Counselor Training");
myFrame.setSize(755, 600);
myFrame.setResizable(false);
myFrame.setVisible(true);
}
}
我正在尝试重新定位按钮,使其位于框架的右下角
使用适当的布局管理器。
我将从使用带有正确对齐的FlowLayout的JPanel开始。 然后,将此面板添加到JFrame使用的BoderLayout的“ SOUTH”中。
有关更多信息,请参见布局管理器视觉指南 。
请注意,将Start类添加到框架时,是将其添加到“ CENTER”而不是南部。 另外,自定义绘画是通过覆盖paintComponent()方法而不是paint()方法完成的,并且不要忘记在绘制图像之前而不是之后调用super.paintComponent()。
另外,如何将按钮更改为图像? 因此它仍然是一个按钮,但是会显示图像。
阅读Swing教程中有关如何使用按钮的部分 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.