【发布时间】:2014-03-19 09:22:31
【问题描述】:
我正在尝试在 java swing 应用程序中为选项卡式窗格设置背景图像,但我只能保留颜色如何处理图像?
从评论编辑
我想要完整的选项卡式窗格的图像。如果我将图像设置为标签并将其保留为全屏,我无法在标签上保留任何组件
【问题讨论】:
标签: java swing netbeans gui-builder
我正在尝试在 java swing 应用程序中为选项卡式窗格设置背景图像,但我只能保留颜色如何处理图像?
从评论编辑
我想要完整的选项卡式窗格的图像。如果我将图像设置为标签并将其保留为全屏,我无法在标签上保留任何组件
【问题讨论】:
标签: java swing netbeans gui-builder
这是您使用 GUI Builder 执行的操作。不要使用JFrame 表单中的拖放来拖放JPanels 为JTabbedPane,而是这样做。
JPanel 表单类JPanel 中布置您想要的所有组件。在构造函数中添加这个来加载图像。使用自己的图片路径
public class TabPanelOne extends javax.swing.JPanel {
Image img;
public TabPanelOne() {
try {
img = ImageIO.read(getClass().getResource("/resources/stackoverflow5.png"));
} catch (IOException ex) {
Logger.getLogger(TabPanelOne.class.getName()).log(Level.SEVERE, null, ex);
}
initComponents();
}
覆盖JPanel的paintComponent方法并绘制图像
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(img, 0, 0, getWidth(), getHeight(), this);
}
您的JFrame 表单类中应该有一个空的JTabbedPane。在构造函数中,只需添加JPanel 表单
public class NewJFrame extends javax.swing.JFrame {
public NewJFrame() {
initComponents();
jTabbedPane1.add("panel1", new TabPanelOne());
}
【讨论】:
JLabel。您将无法在其上添加组件。您需要将图像绘制到JPanel 表单上。您需要按照上述说明进行操作。创建单独的JPanel 表单,不要将JPanel 拖放到JFrame 表单上。你知道如何创建JPanel 表单吗?