java面板中添加面板_java – 在面板中添加一个复杂的图像,在一个定制的用户界面中使用按钮...
如何将这个图像像下面的图像放到slavePanel中,并且在该JPanel的顶部调整看起来像图像但按钮正确包装的JButton? (现在他们被塑造成1排4列)
//
// Shot Gun mover up/down/left/right, middle on is for zoom
//
public void GunMover(JPanel configPanel) throws IOException {
// Master Panel - holds everything
JPanel masterPanel = new Panel();
masterPanel.setLayout(new SpringLayout());
// Slave Panel - with image background
JPanel slavePanel = new Panel();
slavePanel.setLayout(new SpringLayout());
// Row 1
final JButton ptzLeft = new JButton("
masterPanel.add(ptzLeft, BorderLayout.WEST);
// Row 2
final JButton ptzRight = new JButton(">");
masterPanel.add(ptzRight, BorderLayout.CENTER);
// Row 3
final JButton ptzUp = new JButton("^");
masterPanel.add(ptzUp, BorderLayout.WEST);
// Row 4
final JButton ptzDown = new JButton("down");
masterPanel.add(ptzDown, BorderLayout.CENTER);
// How do i add slavePanel this background and add all the JButtons
// According to that image shape?
// Layout the panel.
SpringUtilities.makeCompactGrid(masterPanel,
1, 4, //rows, cols
6, 6, //initX, initY
6, 6);
configPanel.setLayout(new GridLayout(0,1));
configPanel.add(masterPanel);
}
跟进:来自安德鲁·汤普森(Andrew Thompson)的优秀人物,至少是我破碎的方法
package test;
import java.awt.*;
import java.awt.font.FontRenderContext;
import java.awt.font.TextLayout;
import javax.swing.*;
public class New extends JFrame {
private static final long serialVersionUID = 1L;
private ImageIcon errorIcon =
(ImageIcon) UIManager.getIcon("OptionPane.errorIcon");
private Icon infoIcon =
UIManager.getIcon("OptionPane.informationIcon");
private Icon warnIcon =
UIManager.getIcon("OptionPane.warningIcon");
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
New t = new New();
}
});
}
public New() {
setLayout(new BorderLayout());
JPanel slavePanel = new NewPanel();
slavePanel.setLayout(new GridLayout(0, 2, 4, 4));
add(slavePanel);
JButton button = new JButton();
button.setBorderPainted(false);
button.setBorder(null);
button.setFocusable(false);
button.setMargin(new Insets(0, 0, 0, 0));
button.setContentAreaFilled(false);
button.setIcon((errorIcon));
button.setRolloverIcon((infoIcon));
button.setPressedIcon(warnIcon);
button.setDisabledIcon(warnIcon);
slavePanel.add(button);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
}
}
package test;
import java.awt.*;
import java.io.IOException;
import java.io.InputStream;
import javax.imageio.ImageIO;
import javax.swing.*;
import javax.swing.border.Border;
public class NewPanel extends JPanel {
private Image imageGui;
private static Dimension screen;
public NewPanel() {
try {
imageGui =
ImageIO.read(
(InputStream) NewPanel.class.getResourceAsStream(
"/image/ptz.png"));
} catch (IOException e) {
e.printStackTrace(System.err);
}
Border border = BorderFactory.createEmptyBorder(11, 11, 11, 11);
setOpaque(true);
setBorder(border);
setFocusable(true);
setSize(getPreferredSize());
revalidate();
repaint();
setVisible(true);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(imageGui, 0, 0,
imageGui.getWidth(null), imageGui.getHeight(null), null);
revalidate();
repaint();
}
@Override
public Dimension getPreferredSize() {
return new Dimension(imageGui.getWidth(null), imageGui.getHeight(null));
}
}
java面板中添加面板_java – 在面板中添加一个复杂的图像,在一个定制的用户界面中使用按钮...相关推荐
- java 发送邮件添加附件_java邮件自动发送时添加网络附件
查了很多资料都是使用本地资源作为附件发送.但是数据和程序分开时,还需要先下载数据,保存到本地再发送邮件.查了很多资料后,发现apach提供了很好的一个commons-mail.jar包,做了很好的封装 ...
- java 替换多个字符串_Java一次(或以最有效的方式)替换字符串中的多个不同子字符串...
小编典典 如果你要处理的字符串很长,或者你要处理许多字符串,那么使用java.util.regex.Matcher可能是值得的(这需要花很长时间进行编译,因此效率不高) (如果你的输入很小或搜索模式经 ...
- java 各组件单击总数_java 获取面板上有多少个组件
展开全部 import java.awt.BorderLayout; import java.awt.Component; import java.awt.Container; import java ...
- 如何在java中添加照片_Java如何将图片添加到PPT幻灯片中?
在Java编程中,如何将图片添加到PPT幻灯片中? 注意:需要访问网址: , 下载一个Apache POI软件包.这里下载最新版本:poi-bin-3.17-20170915.tar.gz解压并全部导 ...
- java jtable 复选框_java swing如何在JTable一个单元格添加多个复选框
展开全部 java swing中在jTable中添加多个复选框的方32313133353236313431303231363533e59b9ee7ad9431333337616566式如下:impor ...
- java 添加附件_java发送邮件(一)--补充添加附件
今天来记录一下如何使用java来发送邮件 背景 之前项目有个需求,当产品出现故障时会把情况上送给服务器,服务器发送邮件将故障产品的位置以及故障信息等告知维修人员.发送邮件的接口不是我负责的,但是有兴趣 ...
- java 文件移动文件夹_java移动文件到另一个文件夹中
今天下载了好多视频文件都放在了F:盘中,由于F盘的视频文件比较多,而且存放的每个文件夹中都有,于是我就想把所有的视频文件重新整理放到一个新的文件夹中. 由于本人比较懒,不想手动操作,感觉自己的动手的话 ...
- java添加边框_Java如何为边框添加标题?
本示例说明如何创建带有标题的边框.有一个特殊的边界类TitledBorder可以做到这一点.我们可以定义标题的对齐方式,左对齐,居中对齐或右对齐.为此,我们调用该setTitleJustificati ...
- java更好的语言_Java,如果这是一个更好的世界
java更好的语言 只是梦想着有一个更好的世界,在该世界中,Java平台中的一些旧错误已得到纠正,而某些令人敬畏的缺失功能也已实现. 不要误会我的意思. 我认为Java很棒. 但是它仍然存在一些问题, ...
最新文章
- 虚拟化如何做实?详解戴尔2.0版解决方案
- 构建生产机器学习系统的一些考虑
- Enterprise Library之错误处理部分
- python画柱形图-Python绘制柱状图
- 物联网将迎丛林时代 细数物联网八大发展模式
- Quartus II 15.0详细安装步骤
- 5 篇 AAAI 2018 论文看「应答生成」
- mysql文本自动递增_mysql-如何创建自动递增的字符串?
- [Leedcode][JAVA][第300题][最长上上子序列][动态规划][压缩空间]
- mysql alter table_mysql alter table 修改表命令详细介绍
- linux发布微软消息队列,消息队列RabbitMQ入门与5种模式详解
- 清华大学计算机网络体系结构,清华大学计算机网络体系结构讲义ch32(OSPF).pdf
- Get Intellisense for .axml files in Visual Studio
- 表单提交中文时出现乱码的问题
- azw3文件怎么打开?
- nmbd samba中文
- w10不能访问网络计算机,今天解答win10无法访问局域网电脑的详尽解决举措
- matlab ecu代码,嵌入式代码生成 - 汽车 ECU 产品级代码 - MATLAB Simulink
- html2txt noblank.c
- 为什么不喜欢人工智能建筑设计?
热门文章
- C语言课后习题(25)
- CS229——线性回归
- 资源放送丨《基于IB网络的Oracle Extend RAC最佳实践》PPT视频
- 2020年11月国产数据库排行: PingCAP融资破记录,PolarDB登云巅,达梦南大壮心雄
- 数据库流行度8月排行榜:Oracle 飙升 和 PostgreSQL 绝尘领跑第二梯队
- IoT平台如何实现业务配置中心
- 看FusionInsight Spark如何支持JDBCServer的多实例特性
- 基于深度神经网络的噪声标签学习
- 仅4步,就可通过SQL进行分布式死锁的检测与消除
- 乘风破浪,云服务器为电商大促加足“马力”