所以,我正在爲我的Java類開發一個項目。目標是創建一個基本的GUI程序,將Hello World顯示爲一個字符串,並提供四個用於操縱字符串的按鈕。事情是這樣的:example我應該如何在JLabel下添加一個JButton的GridLayout?
我還沒有得到該程序的操作的部分呢,因爲我似乎無法讓我的窗格式正確,無論我怎麼努力。
我能夠得到我的四個按鈕來顯示,但我已經拋出的一切讓JLabel在按鈕上方顯示Hello World完全失敗了。
這看起來很簡單,所以恐怕有一些明顯的我失蹤了。我在網上搜索了一個星期,發現了很多關於如何在理論上做到這一點的信息,所以從我的理解來看,這一定是我的語法問題。
到目前爲止,我還沒有找到一個執行任何與我需要做的事情相符的實現。這讓我瘋狂,我要麼以任何方式超過我的期限。我只需要有一個答案!非常感謝任何能指引我朝着正確方向的人!
這是我目前的代碼。我覺得我正在接近這一點,但它在運行時會向控制檯返回一個異常。再次,所有的幫助,非常感謝!
import java.awt.*;
import javax.swing.*;
public class HelloWorld
{
private JButton uppercaseButton;
private JButton lowercaseButton;
private JButton phraseButton;
private JButton resetButton;
private JPanel grid;
public JPanel ButtonGrid()
{
JPanel grid = new JPanel();
grid.setLayout(new GridLayout(2, 2));
uppercaseButton = new JButton("Uppercase");
lowercaseButton = new JButton("Lowercase");
phraseButton = new JButton("New Phrase");
resetButton = new JButton("Reset");
grid.add(uppercaseButton);
grid.add(lowercaseButton);
grid.add(phraseButton);
grid.add(resetButton);
return grid;
}
private static void createAndShowGUI()
{
JFrame frame = new JFrame("THIS IS MY TITLE");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel lbl = new JLabel("HELLO WORLD");
lbl.setPreferredSize(new Dimension(175, 100));
frame.getContentPane().add(lbl, BorderLayout.PAGE_START);
ButtonGrid b = new ButtonGrid();
b.setVisible(true);
b.setSize(300, 200);
frame.getContentPane().add(b, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args){
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
如何使用具有1列和2行的GridLayout,然後添加JLabel。之後添加另一個JPanel,並將其佈局管理器設置爲2x2的另一個GridLayout。現在你只需要將4個按鈕添加到JPanel – redxef