所以我一直在爲此工作了2天,並且已經獲得了java.swing的基礎知識(我希望至少在我開始學習時它到2天前。) 無論如何,我成功加載了一個背景圖像,但我似乎無法讓前景工作。我不確定你需要什麼代碼,所以我會發布所有代碼。當你看看它時,我是否正確設置了我的JPanel? (特別是allContent和fourRows)。在圖像中添加(我在做什麼錯誤?)
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import javax.imageio.ImageIO;
import javax.swing.*;
import java.util.*;
import junit.framework.Test;
public class MainFrame {
//Variables
private static final String IMAGE_PATH = "imageFolder/warlordsOrganizerBackground.png";
private static final String IMAGE_PATH2 = "imageFolder/warlordsLogo.png";
public static JFrame programFrame;
public static JLabel warlordsBackground;
public static JLabel warlordsLogo;
public static JPanel allContent;
public static JPanel fourRows;
public static JScrollPane scrollPane;
//Making the parts for the GUI
public static void createGUI(){
//programFrame Title and Layout
programFrame = new JFrame("Warlords Organizer");
programFrame.setLayout(new BorderLayout());
Icon backgroundIcon = new ImageIcon(IMAGE_PATH);
warlordsBackground = new JLabel(backgroundIcon);
File imageFile = new File(IMAGE_PATH);
File imageFile2 = new File(IMAGE_PATH2);
//Warlords Logo JLabel
Icon logoIcon = new ImageIcon(IMAGE_PATH2);
warlordsLogo = new JLabel(logoIcon);
//New JPanel for GridLayout
fourRows = new JPanel(new GridLayout(0,4));
fourRows.setLayout(new GridLayout());
//Makes the Initial BorderLayout (Using allContent JPanel)
allContent = new JPanel();
allContent.setLayout(new BorderLayout());
allContent.add(warlordsLogo, BorderLayout.NORTH);
allContent.setVisible(true);
allContent.add(fourRows, BorderLayout.CENTER);
//Add ScrollPane/MAKE SURE TO ADD TO new JScrollPane WHERE IT NEEDS TO BE/TEXT
scrollPane = new JScrollPane(allContent);
scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
scrollPane.setOpaque(false);
scrollPane.getViewport().setOpaque(false);
//JFrame programFrame Constructors
programFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
programFrame.setContentPane(warlordsBackground);
programFrame.pack();
programFrame.setVisible(true);
programFrame.setResizable(false);
} // public static void createGUI() Closing
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createGUI();
} //public void run() Closing
});
}
}
最後,我的JScrollPane。我需要做些什麼,所以不要介意。 設置我的項目文件這樣的,如果它可以幫助任何 -
後,我讓我的形象的工作,我需要弄清楚如何獲得自定義字體(在自由的__ TTF)等等如果你也有一些資源,我會很感激。
這是怎麼回事的問題不同,那麼你問4天前的一個?那麼你得到了工作代碼,那麼爲什麼不從工作代碼開始呢?這浪費了人們回答這個問題的時間,順便提一下你在最後一篇文章中提出的建議。 – camickr 2013-05-02 04:53:39
如果您注意到,我的很多代碼都是基於2天前我的問題的答案。這是我的一個不同的問題,因爲這一個主要是我不能得到第二個圖像工作... – Hathor 2013-05-02 04:58:54
這是它是基於解決方案的問題,但你沒有完全按照解決方案,現在你要求我們花時間爲您調試代碼。例如,您沒有設置背景圖片的佈局。您沒有像在另一個示例中那樣設置組件不透明。 – camickr 2013-05-02 05:06:24