Java 如何将jbutton合并到图形中?
我正在尝试编写一个在线版的棋盘游戏风险。我想把JButtons放在黑板上。所以基本上我想在一些图片上加上JButtons,但是我无法让它工作。这是我的密码:Java 如何将jbutton合并到图形中?,java,swing,user-interface,graphics,jbutton,Java,Swing,User Interface,Graphics,Jbutton,我正在尝试编写一个在线版的棋盘游戏风险。我想把JButtons放在黑板上。所以基本上我想在一些图片上加上JButtons,但是我无法让它工作。这是我的密码: public void main(String[] args){ JFrame frame = new JFrame("RISK"); frame.setSize(800, 600); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPane
public void main(String[] args){
JFrame frame = new JFrame("RISK");
frame.setSize(800, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setLayout(null);
frame.add(panel);
JButton button = new JButton("test");
button.setBounds(100, 100, 150, 150);
panel.add(button);
frame.setVisible(true);
frame.add(new graphics());
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
try{
BufferedImage board = ImageIO.read(new File("board.jpg"));
}catch(IOException e){}
g.drawImage(board, 0, 0, null);
}
事先非常感谢。
-您的答案不需要参考这个特定的代码,只要一个带有图形和JButton的通用示例就可以了 如果您愿意,您可以在按钮上添加图像。下面是一个示例代码 如果您愿意,您可以在按钮上添加图像。下面是一个示例代码 首先,对于在线应用程序,特别是web,Swing不会工作,因为它是为桌面应用程序设计的。如果您想要一个类似Swing的web应用程序,那么使用
BufferedImage myPictur =ImageIO.read(getClass().getResourceAsStream("/resources/shoppingicon.png"));
JButton shoppingButton = new JButton("Shopping",new ImageIcon(myPicture));
- JavaWebStart
- 贾普莱特
- GWT
BufferedImage buferedImage;
JButton buttonImage;
buferedImage = ImageIO.read(getClass().getResourceAsStream("button-image-1.jpg"));
buttonImage = new JButton("Start", new ImageIcon(buferedImage));
首先,对于在线应用程序,特别是web,Swing将不能工作,因为它是为桌面应用程序设计的。如果您想要一个类似Swing的web应用程序,那么使用
- JavaWebStart
- 贾普莱特
- GWT
BufferedImage buferedImage;
JButton buttonImage;
buferedImage = ImageIO.read(getClass().getResourceAsStream("button-image-1.jpg"));
buttonImage = new JButton("Start", new ImageIcon(buferedImage));
“棋盘游戏风险”是什么?如果这并不能传达所需设计的某些方面,请在您最喜欢的支持图像搜索的搜索引擎中添加这些被引用的词作为搜索词,并找到一个这样做的搜索引擎。解释所需的GUI将非常有帮助。1)要更快地获得更好的帮助,请发布一篇文章。2)
paintComponent(Graphics g){..BufferedImage board=ImageIO.read(..
不要尝试在paint方法中读取图像,也不要用长时间运行的任务阻止paint方法。在此之前应该读取图像,并将其缓存为类属性。3)frame.setSize(800600);
设置组件的首选尺寸(如果需要)而不是框架的尺寸。4)按钮。设置边界(100、100、150、150);
使用布局管理器!5)框架。添加(新图形());
请学习常用(特别是用于名称的大小写)对于类、方法和属性名称并一致使用。6)catch(IOException e){}
不要这样做,尤其是在“不工作”的代码中。使用catch(IOException e){e.printStacktrace();}
代替。7)g.drawImage(board,0,0,null)
我愿意打赌图形
对象是图像观察者
。所以应该是g.drawImage(board,0,0,this);
JButtons在这种情况下不会很好地工作,因为您需要一个不规则的边框。最好在jlabel上显示一个图像并给它一个鼠标侦听器。“需要一个不规则的边界。”是吗?在链接图像中看到的“国家”是否应该充当按钮?我仍然不清楚这个GUI应该是什么样子或行为(好像这不是显而易见的)。“棋盘游戏风险。”“喜欢吗?如果这不能传达所需设计的某些方面,请在您最喜欢的支持图像搜索的搜索引擎中添加这些引用的词作为搜索词,并找到一个支持图像搜索的搜索引擎。最好解释所需的GUI。1)要更快地获得更好的帮助,请发布一个。2)paintComponent(Graphics g){..BuffereImage board=ImageIO.read(..
不要尝试在绘制方法中读取图像,也不要用长时间运行的任务阻止绘制方法。在此之前应读取图像,并将其缓存为类属性。3)frame.setSize(800600);
设置组件的首选大小(如果需要)而不是框架的大小。4)按钮。setBounds(100100150150);
使用布局管理器!5)框架。添加(新图形());
请学习类、方法和属性名称的通用(特别是用于名称的大小写)并一致使用。6)捕获(IOException e){
不要这样做,尤其是在“不起作用”的代码中。使用catch(IOException e){e.printStacktrace();}
代替。7)g.drawImage(board,0,0,null);
我愿意打赌graphics
对象是ImageObserver
。所以应该是g.drawImage(board,0,0,this)
JButtons在这种情况下无法正常工作,因为您需要一个不规则的边框。最好只在jlabel上显示一个图像,并给它一个鼠标侦听器。“需要一个不规则的边框。”是吗?在链接图像中看到的“国家”是否应该充当按钮?我仍然不清楚这个GUI应该是什么样子或行为(好像这不是显而易见的).不,我想把图形和JButton放在一起,例如:要有一个按钮,在它旁边有一个用paint方法制作的矩形。如果你想,你可以在JButton旁边添加JLabel,并将图像添加到JLabel。这就像示例中的代码一样。不,我想把图形和JButton放在一起,例如:要有一个按钮,它的右边有一个用paint方法制作的矩形。如果你想,你可以在JButton的右边添加JLabel,并在JLabel中添加图像。这就像示例中的代码一样。“首先,对于在线应用程序,特别是web,SWING将无法工作,因为它是为桌面应用程序设计的。”1)它是“Swing”。2)从来没有听说过一个JApplet
?3)即使是基于Swing的JFrame
,如果不是使用它启动的,也可以很容易地充当web应用程序的客户端消费者。“首先,对于在线应用程序,特别是web,Swing不会工作,因为它是为桌面应用程序设计的。”1)它是“Swing”。2)从未听说过JApplet?3)即使是基于Swing的JFrame
也可以轻松充当web应用程序的客户端消费者。